VPP/EC2 instance with SRIOV
From fd.io
Contents
VPP on an EC2 instance with SR-IOV support
AWS EC2 network consists of VLAN. So DPDK should support vlan offload especially "strip on"
AWS Enhanced Networking SR-IOV VF NIC. see detail at http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html
HowTo
EC2 multiple network interface
Prepare two network interfaces
root@choonho-dev:~# ifconfig -a ens3 Link encap:Ethernet HWaddr 02:12:c2:8b:bd:ee inet addr:172.31.2.253 Bcast:172.31.15.255 Mask:255.255.240.0 inet6 addr: fe80::12:c2ff:fe8b:bdee/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:9001 Metric:1 RX packets:172 errors:0 dropped:0 overruns:0 frame:0 TX packets:238 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:25299 (25.2 KB) TX bytes:26443 (26.4 KB) ens4 Link encap:Ethernet HWaddr 02:f8:f6:ae:24:88 BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:162 errors:0 dropped:0 overruns:0 frame:0 TX packets:162 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:11938 (11.9 KB) TX bytes:11938 (11.9 KB)
Check NIC is SR-IOV enabled Virtual Function NIC.
root@choonho-dev:~# ethtool -i ens4 driver: ixgbevf version: 2.12.1-k firmware-version: expansion-rom-version: bus-info: 0000:00:04.0 supports-statistics: yes supports-test: yes supports-eeprom-access: no supports-register-dump: yes supports-priv-flags: no
Configuration
This is recommened config for dpdk section at /etc/vpp/startup.conf
dpdk { dev default { num-rx-queues 2 num-tx-queues 2 vlan-strip-offload on } }
Running the example
The DPDK interface should be configured strip on at vlan offload
DBGvpp# show hardware-interfaces detail Name Idx Link Hardware VirtualFunctionEthernet0/4/0 1 up VirtualFunctionEthernet0/4/0 Ethernet address 02:f8:f6:ae:24:88 Intel 82599 VF carrier up full duplex speed 10000 mtu 9216 pci id: device 8086:10ed subsystem 0000:0000 pci address: 0000:00:04.00 max rx packet len: 9728 max num of queues: rx 2 tx 2 promiscuous: unicast off all-multicast on vlan offload: strip on filter off qinq off rx offload caps: vlan-strip ipv4-cksum udp-cksum tcp-cksum tx offload caps: vlan-insert ipv4-cksum udp-cksum tcp-cksum sctp-cksum tcp-tso rss active: ipv4-tcp ipv6-tcp-ex ipv6-tcp ipv6-udp ipv6-ex rss supported: none rx queues 2, rx desc 1024, tx queues 1, tx desc 1024 cpu socket 0 tx frames ok 719 tx bytes ok 72021 rx frames ok 723 rx bytes ok 72401 extended stats: rx good packets 723 tx good packets 719 rx good bytes 72401 tx good bytes 72021 rx errors 0 tx errors 0 rx mbuf allocation errors 0 rx q0packets 0 rx q0bytes 0 rx q0errors 0 rx q1packets 0 rx q1bytes 0 rx q1errors 0 tx q0packets 0 tx q0bytes 0 rx multicast packets 0