@@ -26,7 +26,7 @@ function parse_kernel_cmdline_for() {
26
26
if [ -z " ${result} " ]; then
27
27
return 1
28
28
else
29
- printf " %s\n " " $result "
29
+ printf " %s" " $result "
30
30
fi
31
31
}
32
32
@@ -43,15 +43,14 @@ function add_vlan_interface() {
43
43
44
44
# check if hw_addr are set in the kernel commandline, otherwise return.
45
45
if ! kernel_cmdline_exists hw_addr; then
46
- echo " No hw_addr=xx:xx:xx:xx:xx:xx set in kernel commandline; no VLAN handling." >&2
47
- return
46
+ echo " No hw_addr=xx:xx:xx:xx:xx:xx set in kernel commandline." >&2
48
47
fi
49
48
50
49
echo " Starting VLAN handling, parsing..." >&2
51
50
52
51
declare vlan_id hw_addr
53
- vlan_id=" $( parse_cmdline vlan_id) "
54
- hw_addr=" $( parse_cmdline hw_addr) "
52
+ vlan_id=" $( parse_kernel_cmdline_for vlan_id) "
53
+ hw_addr=" $( parse_kernel_cmdline_for hw_addr) "
55
54
56
55
echo " VLAN handling - vlan_id: '${vlan_id} ', hw_addr: '${hw_addr} '" >&2
57
56
@@ -60,21 +59,23 @@ function add_vlan_interface() {
60
59
echo " VLAN handling - vlan_id: '${vlan_id} ', hw_addr: '${hw_addr} ', searching for interface..." >&2
61
60
ifname=" $( ip -br link | awk ' $3 ~ /' " ${hw_addr} " ' / {print $1}' ) "
62
61
echo " VLAN handling - vlan_id: '${vlan_id} ', hw_addr: '${hw_addr} ', found interface: '${ifname} '" >&2
63
- if [ -n " $ifname " ]; then
64
- echo " VLAN handling - vlan_id: '${vlan_id} ', hw_addr: '${hw_addr} ', adding VLAN interface..." >&2
65
- ip link set dev " ${ifname} " up || true
66
- ip link add link " ${ifname} " name " ${ifname} .${vlan_id} " type vlan id " ${vlan_id} " || true
67
- ip link set " ${ifname} .${vlan_id} " up || true
68
- echo " VLAN handling - vlan_id: '${vlan_id} ', hw_addr: '${hw_addr} ', added VLAN interface: '${ifname} .${vlan_id} '" >&2
69
- return 0
70
- else
71
- echo " VLAN handling - vlan_id: '${vlan_id} ', hw_addr: '${hw_addr} ', no interface found for hw_addr." >&2
72
- return 3
73
- fi
74
62
else
75
- echo " VLAN handling - vlan_id: '${vlan_id} ', hw_addr: '${hw_addr} ', no hw_addr found in kernel commandline." >&2
76
- return 2
63
+ echo " VLAN handling - vlan_id: '${vlan_id} ', hw_addr: '${hw_addr} ', no hw_addr found in kernel commandline; default ifname to eth0 ." >&2
64
+ ifname= " eth0 "
77
65
fi
66
+
67
+ if [ -n " $ifname " ]; then
68
+ echo " VLAN handling - vlan_id: '${vlan_id} ', hw_addr: '${hw_addr} ', adding VLAN interface..." >&2
69
+ ip link set dev " ${ifname} " up || true
70
+ ip link add link " ${ifname} " name " ${ifname} .${vlan_id} " type vlan id " ${vlan_id} " || true
71
+ ip link set " ${ifname} .${vlan_id} " up || true
72
+ echo " VLAN handling - vlan_id: '${vlan_id} ', hw_addr: '${hw_addr} ', added VLAN interface: '${ifname} .${vlan_id} '" >&2
73
+ return 0
74
+ else
75
+ echo " VLAN handling - vlan_id: '${vlan_id} ', hw_addr: '${hw_addr} ', no interface found for hw_addr." >&2
76
+ return 3
77
+ fi
78
+
78
79
else
79
80
echo " VLAN handling - vlan_id: '${vlan_id} ', hw_addr: '${hw_addr} ', no vlan_id found in kernel commandline." >&2
80
81
return 1
0 commit comments