luigirizzo / netmap

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

Issue in adding Physical NIC to Vale #446

Closed ppnaik1890 closed 6 years ago

ppnaik1890 commented 6 years ago

Hi,

I have a netmap vale setup on host. I have enabled support for multiqueue NIC from vale using the patch attached. netmap_vale_mq_2048.txt

I am creating new interfaces for the VMs using the following commands:

./vale-ctl -n vi1 -C 2048,2048,3,3  // 3 queues for 3 core VM
./vale-ctl -a vale0:vi1
ifconfig vi1 hw ether 00:aa:bb:cc:dd:05

With such interfaces to the VM, VMs can communicate amongst themselves. Now, I am trying to add the physical interface of the host to vale using the following command:

./vale-ctl -h vale0:enp1s0f1

I am seeing two interfaces in vale after this:

./vale-ctl 
718.344951 bdg_ctl [149] bridge:0 port:0 vale0:vi3
718.345000 bdg_ctl [149] bridge:0 port:1 vale0:vi2
718.345006 bdg_ctl [149] bridge:0 port:2 vale0:vi1
718.345010 bdg_ctl [149] bridge:0 port:3 vale0:vi4
718.345014 bdg_ctl [149] bridge:0 port:4 vale0:enp1s0f1
718.345019 bdg_ctl [149] bridge:0 port:5 vale0:enp1s0f1^

Also, I assigned the same subnet IP as the VMs to enp1s0f1. But, I am unable to establish communication between enp1s0f1 and the VM. Please help me resolve this issue.

Thanks in advance, Priyanka

ppnaik1890 commented 6 years ago

Hi,

The dmesg log gives the following error:

nm_os_generic_xmit_frame Warning: dev_queue_xmit() is dropping [2]

dmesg output

[  860.581977] 790.470837 [1251] generic_netmap_attach     Emulated adapter for enp1s0f1 created (prev was           (null))
[  860.718196] 790.607137 [ 443] generic_netmap_register   Emulated adapter for enp1s0f1 activated
[  860.719154] 790.608096 [ 488] generic_netmap_register   Emulated adapter: ring 'enp1s0f1 RX0' activated
[  860.719987] 790.608929 [ 488] generic_netmap_register   Emulated adapter: ring 'enp1s0f1 RX1' activated
[  860.720787] 790.609731 [ 488] generic_netmap_register   Emulated adapter: ring 'enp1s0f1 RX2' activated
[  860.721584] 790.610528 [ 488] generic_netmap_register   Emulated adapter: ring 'enp1s0f1 RX3' activated
[  860.722352] 790.611296 [ 488] generic_netmap_register   Emulated adapter: ring 'enp1s0f1 RX4' activated
[  860.723088] 790.612033 [ 488] generic_netmap_register   Emulated adapter: ring 'enp1s0f1 RX5' activated
[  860.723790] 790.612735 [ 488] generic_netmap_register   Emulated adapter: ring 'enp1s0f1 RX6' activated
[  860.724449] 790.613395 [ 488] generic_netmap_register   Emulated adapter: ring 'enp1s0f1 RX7' activated
[  860.725085] 790.614031 [ 488] generic_netmap_register   Emulated adapter: ring 'enp1s0f1 RX8' activated
[  860.725703] 790.614649 [ 495] generic_netmap_register   Emulated adapter: ring 'enp1s0f1 TX0' activated
[  860.726308] 790.615255 [ 495] generic_netmap_register   Emulated adapter: ring 'enp1s0f1 TX1' activated
[  860.726904] 790.615851 [ 495] generic_netmap_register   Emulated adapter: ring 'enp1s0f1 TX2' activated
[  860.727485] 790.616433 [ 495] generic_netmap_register   Emulated adapter: ring 'enp1s0f1 TX3' activated
[  860.728050] 790.616997 [ 495] generic_netmap_register   Emulated adapter: ring 'enp1s0f1 TX4' activated
[  860.728604] 790.617552 [ 495] generic_netmap_register   Emulated adapter: ring 'enp1s0f1 TX5' activated
[  860.729146] 790.618094 [ 495] generic_netmap_register   Emulated adapter: ring 'enp1s0f1 TX6' activated
[  860.729668] 790.618616 [ 495] generic_netmap_register   Emulated adapter: ring 'enp1s0f1 TX7' activated
[  860.730186] 790.619134 [ 495] generic_netmap_register   Emulated adapter: ring 'enp1s0f1 TX8' activated
[  860.730789] 790.619734 [ 487] generic_qdisc_init        Qdisc #0 initialized with max_len = 256
[  860.731920] 790.620868 [ 487] generic_qdisc_init        Qdisc #1 initialized with max_len = 256
[  860.732889] 790.621838 [ 487] generic_qdisc_init        Qdisc #2 initialized with max_len = 256
[  860.733824] 790.622774 [ 487] generic_qdisc_init        Qdisc #3 initialized with max_len = 256
[  860.734739] 790.623689 [ 487] generic_qdisc_init        Qdisc #4 initialized with max_len = 256
[  860.735659] 790.624610 [ 487] generic_qdisc_init        Qdisc #5 initialized with max_len = 256
[  860.736575] 790.625526 [ 487] generic_qdisc_init        Qdisc #6 initialized with max_len = 256
[  860.737491] 790.626443 [ 487] generic_qdisc_init        Qdisc #7 initialized with max_len = 256
[  872.283604] 802.178984 [ 777] nm_os_generic_xmit_frame  Warning: dev_queue_xmit() is dropping [2]
[  876.706015] 806.603859 [ 777] nm_os_generic_xmit_frame  Warning: dev_queue_xmit() is dropping [2]
[  936.251277] 866.182285 [ 777] nm_os_generic_xmit_frame  Warning: dev_queue_xmit() is dropping [2]
[  940.673890] 870.607362 [ 777] nm_os_generic_xmit_frame  Warning: dev_queue_xmit() is dropping [2]

Please help me resolve this.

vmaffione commented 6 years ago

Your commands are correct. However, the error you get is a combination of two things: first, there is no carrier on enp1s0f1; second, you are using the emulated adapter with enp1s0f1. Which driver is enp1s0f1 using?

ppnaik1890 commented 6 years ago

Hi,

I am sorry if I am answering incorrectly. I compiled the netmap with ixgbe driver, so enp1s0f1 would be using ixgbe?

Thanks, Priyanka

vmaffione commented 6 years ago

You can check the driver you are using with

$ ethtool -i enp1s0f1 | grep driver
ppnaik1890 commented 6 years ago
ethtool -i enp1s0f1 | grep driver
driver: igb

So I will have to compile netmap with igb driver? Btw I have a 10 G NIC too configured tried the same steps on that too. But it too did not work.

 ethtool -i ens259f0 | grep driver
driver: ixgbe
vmaffione commented 6 years ago

yes, but apart from compiling you need to rmmod the old igb.ko and load the patched igb.ko. You were not doing that because I see in the log that you are using the emulated adapter.

ppnaik1890 commented 6 years ago

Ok I will try that. I will post back if I face any issue. Thanks a lot. :)