On Wed, Jan 20, 2021 at 10:38:47PM +0800, Hangbin Liu wrote:
Hi Ido,
On Wed, Jan 20, 2021 at 12:42:10PM +0200, Ido Schimmel wrote:
quoted
quoted
diff --git a/tools/testing/selftests/net/rtnetlink.sh b/tools/testing/selftests/net/rtnetlink.sh
index c9ce3dfa42ee..a26fddc63992 100755
--- a/tools/testing/selftests/net/rtnetlink.sh
+++ b/tools/testing/selftests/net/rtnetlink.sh
@@ -1205,6 +1205,8 @@ kci_test_bridge_parent_id()
dev20=`ls ${sysfsnet}20/net/`
ip link add name test-bond0 type bond mode 802.3ad
+ ip link set dev $dev10 down
+ ip link set dev $dev20 down
But these netdevs are created with their administrative state set to
'DOWN'. Who is setting them to up?
Would you please point me where we set the state to 'DOWN'? Cause on my
host it is init as UP:
++ ls /sys/bus/netdevsim/devices/netdevsim10/net/
+ dev10=eth3
++ ls /sys/bus/netdevsim/devices/netdevsim20/net/
+ dev20=eth4
+ ip link add name test-bond0 type bond mode 802.3ad
+ ip link show eth3
66: eth3: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/ether 1e:52:27:5f:a5:3c brd ff:ff:ff:ff:ff:ff
I didn't have time to look into this today, but I suspect the problem is
either:
1. Some interface manager on your end that is setting these interfaces
up after they are created
2. A bug in netdevsim that does not initialize the carrier to off.
Maybe try with this patch (didn't test):
diff --git a/drivers/net/netdevsim/netdev.c b/drivers/net/netdevsim/netdev.c
index aec92440eef1..1e0dc298bf20 100644
--- a/drivers/net/netdevsim/netdev.c
+++ b/drivers/net/netdevsim/netdev.c
@@ -312,6 +312,8 @@ nsim_create(struct nsim_dev *nsim_dev, struct nsim_dev_port *nsim_dev_port)
nsim_ipsec_init(ns);
+ netif_carrier_off(dev);
+
err = register_netdevice(dev);
if (err)
goto err_ipsec_teardown;
# uname -r
5.11.0-rc3+
Thanks
Hangbin