Message ID | 20200906164502.1034-1-ryazanov.s.a@gmail.com |
---|---|
State | Accepted |
Delegated to: | Adrian Schmutzler |
Headers | show |
Series | ath25: fix preinit Ethernet port configuration | expand |
Hi, > - vconfig set_name_type > DEV_PLUS_VID_NO_PAD > ip link set eth0 up > - vconfig add eth0 1 > + ip link add dev eth0.1 link eth0 type vlan id 1 Are you sure this is correct? I only find the following syntax: ip link add link eth0 name eth0.1 type vlan id 1 Best Adrian
On Wed, Sep 9, 2020 at 6:08 PM Adrian Schmutzler <mail@adrianschmutzler.de> wrote: > > - vconfig add eth0 1 > > + ip link add dev eth0.1 link eth0 type vlan id 1 > > Are you sure this is correct? Yes, I tested this command with an OpenWrt ip package :) > I only find the following syntax: > > ip link add link eth0 name eth0.1 type vlan id 1 > According to ip-link(8) a user should use 'name' argument for a new interface, but in fact the iplink.c have the following code in the interface creation handler: > /* Allow "ip link add dev" and "ip link add name" */ > if (!name) > name = dev;
Sergey Ryazanov <ryazanov.s.a@gmail.com> wrote: > On Wed, Sep 9, 2020 at 6:08 PM Adrian Schmutzler > <mail@adrianschmutzler.de> wrote: > > > - vconfig add eth0 1 > > > + ip link add dev eth0.1 link eth0 type vlan id 1 > > > > Are you sure this is correct? > > Yes, I tested this command with an OpenWrt ip package :) > > > I only find the following syntax: > > > > ip link add link eth0 name eth0.1 type vlan id 1 > > > > According to ip-link(8) a user should use 'name' argument for a > new interface, but in fact the iplink.c have the following code > in the interface creation handler: > > /* Allow "ip link add dev" and "ip link add name" */ > > if (!name) > > name = dev; > Relying on undocumented behaviour seems like a risky move, when we could just do it the documented way up front? Sincerely, Karl Palsson
diff --git a/target/linux/ath25/base-files/lib/preinit/15_preinit_iface_atheros b/target/linux/ath25/base-files/lib/preinit/15_preinit_iface_atheros index 235ba4befc..87bc4abba5 100644 --- a/target/linux/ath25/base-files/lib/preinit/15_preinit_iface_atheros +++ b/target/linux/ath25/base-files/lib/preinit/15_preinit_iface_atheros @@ -1,12 +1,10 @@ -# reset button only supported on ar5315+ at the moment preinit_ip() { if [ -z "$pi_ifname" ]; then grep -q 'Atheros AR231[567]' /proc/cpuinfo && { if [ -e "/sys/bus/mdio_bus/drivers/Infineon ADM6996/0:00" -o \ -e "/sys/bus/mdio_bus/drivers/Marvell 88E6060/0:10" ]; then - vconfig set_name_type DEV_PLUS_VID_NO_PAD ip link set eth0 up - vconfig add eth0 1 + ip link add dev eth0.1 link eth0 type vlan id 1 ifname=eth0.1 else ifname=eth0 @@ -20,13 +18,10 @@ preinit_ip() { } } - -# reset button only supported on ar5315+ at the moment - preinit_ip_deconfig() { if [ -e "/sys/bus/mdio_bus/drivers/Infineon ADM6996/0:00" -o \ -e "/sys/bus/mdio_bus/drivers/Marvell 88E6060/0:10" ]; then - vconfig rem eth0.1 2>/dev/null + ip link del eth0.1 2>/dev/null ip link set $pi_ifname down elif [ -n "$pi_ifname" ]; then ip -4 addr flush dev $pi_ifname
vconfig is no more installed by default to a firmware image. So, replace vconfig calls for VLAN subinterface configuration by coresponding ip-link commands. Also drop few useless comments from the preinit hook script, while we are at it. I have no chance to test this fix since I have no board with a subject switch IC, but this is still better then call an utility that is unavailable in the firmware for years. Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com> --- .../base-files/lib/preinit/15_preinit_iface_atheros | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-)