luigirizzo / netmap

Automatically exported from code.google.com/p/netmap
BSD 2-Clause "Simplified" License
1.84k stars 533 forks source link

How can I get Intel X710 SR-IOV netmap driver #822

Open missyoyo opened 2 years ago

missyoyo commented 2 years ago

Hello: I have check netmap/LINUX/final-patches/ I can netmap git provide intel 82599 and 82599 SR-IOV(ixgbevf) driver. ixgbe/ixgbevf: call a driver-specific netmap detach function I also find intel X710 netmap driver(intel--i40e),But I can not find X710 SR-IOV(VF) driver. May I know some different between 82599 and X710 VF? Does X710 VF do not need special netmap driver OR X710 VF can not apply netmap driver? I have do some test witch tcpdump. with X710 PF I can tcpdump 0.8Mpps with zore packet loss. But when use X710 VF I get some some "poll error on queue 0: timeout" Message at pkg-gen send side,And tcpdump receive side get 2% packet loss(8823492/9000000=98%)

pkt-gen -i netmap:ens33 -f tx -n 9000000 -l 64 -R 900000 807.991556 main [2889] interface is netmap:ens33 807.991613 main [3012] using default burst size: 512 807.991666 main [3020] running on 1 cpus (have 4) 807.992043 extract_ip_range [471] range is 10.0.0.1:1234 to 10.0.0.1:1234 807.992053 extract_ip_range [471] range is 10.1.0.1:1234 to 10.1.0.1:1234 807.992072 nm_open [858] overriding ARG1 0 807.992077 nm_open [862] overriding ARG2 0 807.992080 nm_open [866] overriding ARG3 0 807.992082 nm_open [870] overriding RING_CFG 807.992084 nm_open [879] overriding ifname ens33 ringid 0x0 flags 0x8001 808.093970 main [3118] mapped 334980KB at 0x7f6cd08d4000 Sending on netmap:ens33: 1 queues, 1 threads and 1 cpus. 10.0.0.1 -> 10.1.0.1 (00:00:00:00:00:00 -> ff:ff:ff:ff:ff:ff) 808.094048 main [3225] Sending 512 packets every 0.000568888 s 808.094109 start_threads [2549] Wait 2 secs for phy reset 810.094177 start_threads [2551] Ready... 810.094259 sender_body [1580] start, fd 3 main_fd 3 811.095256 main_thread [2639] 0.000 pps (0.000 pkts 0.000 bps in 1001011 usec) 0.00 avg_batch 0 min_space 812.000004 sender_body [1638] frags 1 frag_size 64 812.096289 main_thread [2639] 54.125 Kpps (54.181 Kpkts 27.741 Mbps in 1001032 usec) 6.43 avg_batch 99999 min_space 812.176670 sender_body [1676] drop copy 813.097320 main_thread [2639] 608.876 Kpps (609.504 Kpkts 312.066 Mbps in 1001032 usec) 5.52 avg_batch 99999 min_space 814.098351 main_thread [2639] 593.980 Kpps (594.592 Kpkts 304.431 Mbps in 1001031 usec) 5.47 avg_batch 99999 min_space 815.099374 main_thread [2639] 603.169 Kpps (603.786 Kpkts 309.138 Mbps in 1001023 usec) 5.45 avg_batch 99999 min_space 816.100447 main_thread [2639] 62.191 Kpps (62.258 Kpkts 31.876 Mbps in 1001073 usec) 5.47 avg_batch 99999 min_space 817.101472 main_thread [2639] 0.000 pps (0.000 pkts 0.000 bps in 1001025 usec) 0.00 avg_batch 99999 min_space 817.311775 sender_body [1663] poll error on queue 0: timeout 818.102494 main_thread [2639] 0.000 pps (0.000 pkts 0.000 bps in 1001021 usec) 0.00 avg_batch 99999 min_space 819.103518 main_thread [2639] 415.853 Kpps (416.279 Kpkts 213.135 Mbps in 1001024 usec) 5.42 avg_batch 99999 min_space 820.104541 main_thread [2639] 600.056 Kpps (600.670 Kpkts 307.543 Mbps in 1001024 usec) 5.47 avg_batch 99999 min_space 821.105576 main_thread [2639] 601.693 Kpps (602.316 Kpkts 308.386 Mbps in 1001035 usec) 5.45 avg_batch 99999 min_space 822.106651 main_thread [2639] 435.229 Kpps (435.697 Kpkts 223.077 Mbps in 1001075 usec) 5.45 avg_batch 99999 min_space 823.107679 main_thread [2639] 0.000 pps (0.000 pkts 0.000 bps in 1001028 usec) 0.00 avg_batch 99999 min_space 823.931770 sender_body [1663] poll error on queue 0: timeout 824.108700 main_thread [2639] 0.000 pps (0.000 pkts 0.000 bps in 1001021 usec) 0.00 avg_batch 99999 min_space 825.109720 main_thread [2639] 0.000 pps (0.000 pkts 0.000 bps in 1001020 usec) 0.00 avg_batch 99999 min_space 826.110736 main_thread [2639] 570.228 Kpps (570.807 Kpkts 292.253 Mbps in 1001016 usec) 5.45 avg_batch 99999 min_space 827.111756 main_thread [2639] 608.961 Kpps (609.582 Kpkts 312.106 Mbps in 1001019 usec) 5.46 avg_batch 99999 min_space 828.112824 main_thread [2639] 599.825 Kpps (600.466 Kpkts 307.439 Mbps in 1001069 usec) 5.44 avg_batch 99999 min_space 829.113849 main_thread [2639] 184.123 Kpps (184.312 Kpkts 94.368 Mbps in 1001025 usec) 5.46 avg_batch 99999 min_space 830.114875 main_thread [2639] 0.000 pps (0.000 pkts 0.000 bps in 1001025 usec) 0.00 avg_batch 99999 min_space 830.527770 sender_body [1663] poll error on queue 0: timeout 831.115898 main_thread [2639] 0.000 pps (0.000 pkts 0.000 bps in 1001024 usec) 0.00 avg_batch 99999 min_space 832.116913 main_thread [2639] 203.537 Kpps (203.744 Kpkts 104.317 Mbps in 1001015 usec) 5.43 avg_batch 99999 min_space 833.118011 main_thread [2639] 576.098 Kpps (576.731 Kpkts 295.286 Mbps in 1001098 usec) 5.46 avg_batch 99999 min_space 834.119039 main_thread [2639] 601.558 Kpps (602.176 Kpkts 308.314 Mbps in 1001028 usec) 5.44 avg_batch 99999 min_space 835.120061 main_thread [2639] 604.822 Kpps (605.440 Kpkts 309.985 Mbps in 1001021 usec) 5.45 avg_batch 99999 min_space 836.121086 main_thread [2639] 12.284 Kpps (12.297 Kpkts 6.296 Mbps in 1001026 usec) 5.76 avg_batch 99999 min_space 837.122110 main_thread [2639] 0.000 pps (0.000 pkts 0.000 bps in 1001024 usec) 0.00 avg_batch 99999 min_space 837.407771 sender_body [1663] poll error on queue 0: timeout 838.123134 main_thread [2639] 0.000 pps (0.000 pkts 0.000 bps in 1001024 usec) 0.00 avg_batch 99999 min_space 839.124152 main_thread [2639] 421.506 Kpps (421.935 Kpkts 216.031 Mbps in 1001018 usec) 5.46 avg_batch 99999 min_space 840.125178 main_thread [2639] 604.660 Kpps (605.280 Kpkts 309.903 Mbps in 1001026 usec) 5.47 avg_batch 99999 min_space 840.168878 sender_body [1718] flush tail 65 head 64 on thread 0x7f6cd08d3700 840.168896 sender_body [1727] pending tx tail 87 head 64 on ring 0 840.168962 sender_body [1727] pending tx tail 98 head 64 on ring 0 840.169028 sender_body [1727] pending tx tail 180 head 64 on ring 0 840.169095 sender_body [1727] pending tx tail 13 head 64 on ring 0 841.126205 main_thread [2639] 27.918 Kpps (27.947 Kpkts 14.309 Mbps in 1001027 usec) 5.58 avg_batch 99999 min_space Sent 9000000 packets 576000000 bytes 1647379 events 64 bytes each in 28.17 seconds. Speed: 319.498 Kpps Bandwidth: 163.583 Mbps (raw 163.583 Mbps). Average batch: 5.46 pkts

jbrandeb commented 2 years ago

the iavf driver (X710 and E810 VF driver) could be modified / patched just like i40e was with the netmap native enabling. There is nothing that should prevent a user from running netmap in native mode inside a VM on top of a VF.

mohammadkhanjani commented 2 months ago

@jbrandeb or anyone else could help me to add iavf patch for netmap?