Skip to content

Commit 81c3fde

Browse files
Ubuntu: Generate /etc/mellanox/mlnx-sf.conf on first boot
Signed-off-by: Vladimir Sokolovsky <[email protected]>
1 parent 077efbb commit 81c3fde

File tree

3 files changed

+35
-0
lines changed

3 files changed

+35
-0
lines changed

debian/rules

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ override_dh_auto_install:
3232
install -m 0755 src/mlnx-pre-hlk debian/$(pname)/opt/mellanox/hlk/mlnx-pre-hlk
3333
install -m 0755 src/mlnx-post-hlk debian/$(pname)/opt/mellanox/hlk/mlnx-post-hlk
3434
install -m 0755 src/kexec_reboot debian/$(pname)/sbin/kexec_reboot
35+
install -m 0755 src/mlnx-sf-generate-config.sh debian/$(pname)/sbin/mlnx-sf-generate-config.sh
3536

3637
dh_installdirs -p$(pname) opt/mellanox/doca/services/telemetry
3738
install -m 0755 src/import_doca_telemetry.sh debian/$(pname)/opt/mellanox/doca/services/telemetry

src/cloud/seed/nocloud-net/user-data

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,5 +114,6 @@ chpasswd:
114114
expire: True
115115

116116
runcmd:
117+
- [ /sbin/mlnx-sf-generate-config.sh ]
117118
- [ /usr/sbin/netfilter-persistent, start ]
118119
- [ /opt/mellanox/doca/services/telemetry/import_doca_telemetry.sh ]

src/mlnx-sf-generate-config.sh

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#!/bin/bash
2+
###############################################################################
3+
#
4+
# Copyright 2025 NVIDIA Corporation
5+
#
6+
# Permission is hereby granted, free of charge, to any person obtaining a copy of
7+
# this software and associated documentation files (the "Software"), to deal in
8+
# the Software without restriction, including without limitation the rights to
9+
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
10+
# the Software, and to permit persons to whom the Software is furnished to do so,
11+
# subject to the following conditions:
12+
#
13+
# The above copyright notice and this permission notice shall be included in all
14+
# copies or substantial portions of the Software.
15+
#
16+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
18+
# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
19+
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
20+
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21+
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22+
#
23+
###############################################################################
24+
25+
: > /etc/mellanox/mlnx-sf.conf
26+
27+
for pciid in $(lspci -nD 2> /dev/null | grep 15b3:a2d[26cf] | awk '{print $1}')
28+
do
29+
cat >> /etc/mellanox/mlnx-sf.conf << EOF
30+
/sbin/mlnx-sf --action create --device $pciid --sfnum 0 --hwaddr $(uuidgen | sed -e 's/-//;s/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/02:\1:\2:\3:\4:\5/')
31+
EOF
32+
done
33+

0 commit comments

Comments
 (0)