> $ devlink lc provision netdevsim/netdevsim10 lc 0 type card4ports > $ devlink lc > netdevsim/netdevsim10: > lc 0 state provisioned type card4ports > supported_types: > card1port card2ports card4ports > lc 1 state unprovisioned > supported_types: > card1port card2ports card4ports
Hi Jiri > # Now activate the line card using debugfs. That emulates plug-in event > # on real hardware: > $ echo "Y"> /sys/kernel/debug/netdevsim/netdevsim10/linecards/0/active > $ ip link show eni10nl0p1 > 165: eni10nl0p1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state > UP mode DEFAULT group default qlen 1000 > link/ether 7e:2d:05:93:d3:d1 brd ff:ff:ff:ff:ff:ff > # The carrier is UP now. What is missing from the devlink lc view is what line card is actually in the slot. Say if i provision for a card4port, but actually insert a card2port. It would be nice to have something like: $ devlink lc netdevsim/netdevsim10: lc 0 state provisioned type card4ports supported_types: card1port card2ports card4ports inserted_type: card2ports; lc 1 state unprovisioned supported_types: card1port card2ports card4ports inserted_type: None I assume if i prevision for card4ports but actually install a card2ports, all the interfaces stay down? Maybe > $ echo "Y"> /sys/kernel/debug/netdevsim/netdevsim10/linecards/0/active should actually be echo "card2ports" > /sys/kernel/debug/netdevsim/netdevsim10/linecards/0/active so you can emulate somebody putting the wrong card in the slot? Andrew