@@ -24,7 +24,7 @@ function cleanup() {
24
24
sudo rm -f " $NETWORKD_PATH " /20-slave* .network
25
25
sudo rm -f " $NETWORKD_PATH " /30-vlan* .network " $NETWORKD_PATH " /30-vlan* .netdev
26
26
27
- sudo systemctl restart systemd-networkd 2> /dev/null || true
27
+ sudo networkctl reload 2> /dev/null || true
28
28
sleep 2
29
29
}
30
30
53
53
Name=$iface
54
54
[Network]
55
55
Bond=$bond_name
56
+ LLDP=yes
57
+ EmitLLDP=yes
56
58
[Link]
57
59
MTUBytes=9036
58
60
EOF
59
61
done
60
62
61
- sudo systemctl restart systemd-networkd 2> /dev/null || true
63
+ sudo networkctl reload 2> /dev/null || true
62
64
sleep 5
63
65
}
64
66
@@ -102,39 +104,10 @@ VLAN=$parent_iface.$vlan_id
102
104
MTUBytes=9036
103
105
EOF
104
106
105
- sudo systemctl restart systemd-networkd 2> /dev/null || true
107
+ sudo networkctl reload 2> /dev/null || true
106
108
sleep 5
107
109
}
108
110
109
- function wait_for_interface() {
110
- local iface_name=$1
111
- local max_attempts=60
112
- local attempt=0
113
- local retry_delay=1
114
-
115
- while true ; do
116
- attempt=$(( attempt + 1 ))
117
-
118
- local status
119
- status=$( sudo networkctl status " $iface_name " 2> /dev/null)
120
-
121
- if echo " $status " | grep -q " State: routable" 2> /dev/null; then
122
- return 0
123
- elif echo " $status " | grep -q " State: carrier" 2> /dev/null; then
124
- return 0
125
- elif echo " $status " | grep -q " State: degraded" 2> /dev/null; then
126
- return 0
127
- fi
128
-
129
- if [ " $attempt " -ge " $max_attempts " ]; then
130
- echo " Interface $iface_name failed to become ready after $max_attempts attempts"
131
- return 1
132
- fi
133
-
134
- sleep " $retry_delay "
135
- done
136
- }
137
-
138
111
function get_ip() {
139
112
local iface_name=$1
140
113
local ip=" "
@@ -177,9 +150,7 @@ elif [ "$1" == "bond" ]; then
177
150
fi
178
151
setup_bond bond0 " ${@: 3} " || exit 1
179
152
sleep 1
180
- wait_for_interface bond0 || exit 1
181
153
setup_vlan bond0 " $2 " || exit 1
182
- wait_for_interface " bond0.$2 " || exit 1
183
154
get_ip " bond0.$2 " || exit 1
184
155
exit 0
185
156
elif [ " $1 " == " vlan" ]; then
@@ -188,7 +159,6 @@ elif [ "$1" == "vlan" ]; then
188
159
exit 1
189
160
fi
190
161
setup_vlan " $3 " " $2 " || exit 1
191
- wait_for_interface " $3 .$2 " || exit 1
192
162
get_ip " $3 .$2 " || exit 1
193
163
exit 0
194
164
else
0 commit comments