10 Replies Latest reply on Jan 4, 2017 6:33 AM by ronanb3

    Rate limiting on Virtual Function

    srangare

      Hi,

      I am using Intel 10 Gig Dual-Port Ethernet PCI Card (BN8110470) ixgbe driver on Ubuntu 14.04 Host.

      I was able to create VF's which are listed below from lspci command:

       

      02:00.0 Ethernet controller: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 01)

      02:00.1 Ethernet controller: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 01)

      03:10.0 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)

      03:10.1 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)

      03:10.2 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)

      03:10.3 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)

      03:10.4 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)

      03:10.5 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)

      03:10.6 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)

      03:10.7 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)

      03:11.0 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)

      03:11.1 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)

      03:11.2 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)

      03:11.3 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)

      03:11.4 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)

      03:11.5 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)

       

      The VF's are also listed from ip link command:

       

      20: rename20: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000

          link/ether a0:36:9f:11:b8:10 brd ff:ff:ff:ff:ff:ff

          vf 0 MAC 00:00:00:00:00:00, spoof checking on, link-state auto

          vf 1 MAC 00:00:00:00:00:00, spoof checking on, link-state auto

          vf 2 MAC 00:00:00:00:00:00, spoof checking on, link-state auto

          vf 3 MAC 00:00:00:00:00:00, spoof checking on, link-state auto

          vf 4 MAC 00:00:00:00:00:00, spoof checking on, link-state auto

          vf 5 MAC 00:00:00:00:00:00, spoof checking on, link-state auto

          vf 6 MAC 00:00:00:00:00:00, spoof checking on, link-state auto

       

      28: rename28: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000

          link/ether a0:36:9f:11:b8:12 brd ff:ff:ff:ff:ff:ff

          vf 0 MAC 00:00:00:00:00:00, spoof checking on, link-state auto

          vf 1 MAC 00:00:00:00:00:00, spoof checking on, link-state auto

          vf 2 MAC 00:00:00:00:00:00, spoof checking on, link-state auto

          vf 3 MAC 00:00:00:00:00:00, spoof checking on, link-state auto

          vf 4 MAC 00:00:00:00:00:00, spoof checking on, link-state auto

          vf 5 MAC 00:00:00:00:00:00, spoof checking on, link-state auto

          vf 6 MAC 00:00:00:00:00:00, vlan 10, spoof checking on, link-state auto

       

      As visible from dev rename28, vf 6, assigning vlan is working as expected,

      ip link set rename28 vf 6 vlan 10

      But setting rate limit on same VF is working,

      sudo ip link set rename28 vf 6 rate 250

      RTNETLINK answers: Invalid argument

       

      The guide used to realize this configuration is here, Configure QoS with Intel® Flexible Port Partitioning

      I know that I should be using the latest iproute2, I am using iproute2-ss131122 which is never version.