• Sridhar Samudrala's avatar
    i40evf: Fix link state event handling · 3f341acc
    Sridhar Samudrala authored
    Currently disabling the link state from PF via
    	ip link set enp5s0f0 vf 0 state disable
    doesn't disable the CARRIER on the VF.
    
    This patch updates the carrier and starts/stops the tx queues based on the
    link state notification from PF.
    
      PF: enp5s0f0, VF: enp5s2
      #modprobe i40e
      #echo 2 > /sys/class/net/enp5s0f0/device/sriov_numvfs
      #ip link set enp5s2 up
      #ip -d link show enp5s2
      175: enp5s2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
          link/ether ea:4d:60:bc:6f:85 brd ff:ff:ff:ff:ff:ff promiscuity 0 addrgenmode eui64
      #ip link set enp5s0f0 vf 0 state disable
      #ip -d link show enp5s0f0
      171: enp5s0f0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
          link/ether 68:05:ca:2e:72:68 brd ff:ff:ff:ff:ff:ff promiscuity 0 addrgenmode eui64 numtxqueues 72 numrxqueues 72 portid 6805ca2e7268
          vf 0 MAC 00:00:00:00:00:00, spoof checking on, link-state disable, trust off
          vf 1 MAC 00:00:00:00:00:00, spoof checking on, link-state auto, trust off
      #ip -d link show enp5s2
      175: enp5s2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
           link/ether ea:4d:60:bc:6f:85 brd ff:ff:ff:ff:ff:ff promiscuity 0 addrgenmode eui64 numtxqueues 16 numrxqueues 16
    Signed-off-by: default avatarSridhar Samudrala <sridhar.samudrala@intel.com>
    Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    3f341acc
i40evf_main.c 76.4 KB