> $ 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