networking sfc fails between VMs launched across multiple hosts
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
networking-sfc |
New
|
Undecided
|
Unassigned |
Bug Description
Launched 3 VMs in same neutron subnet on an openstack multinode deployment.
2 Vms on one compute node(one used as iperf server and the other as iperf client) and 1 Vm on another compute node(configured as a forwarding VM between Iperf server and client). Configured SFC to flow traffic for the same.
The iperf traffic output is as follows:
Connecting to host 10.0.0.8, port 5201
[ 4] local 10.0.0.4 port 43888 connected to 10.0.0.8 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 41.0 KBytes 335 Kbits/sec 8 2.73 KBytes
[ 4] 1.00-2.00 sec 0.00 Bytes 0.00 bits/sec 7 2.73 KBytes
[ 4] 2.00-3.00 sec 0.00 Bytes 0.00 bits/sec 11 2.73 KBytes
[ 4] 3.00-4.00 sec 41.0 KBytes 336 Kbits/sec 11 2.73 KBytes
[ 4] 4.00-5.00 sec 0.00 Bytes 0.00 bits/sec 5 2.73 KBytes
[ 4] 5.00-6.00 sec 83.3 KBytes 682 Kbits/sec 21 2.73 KBytes
[ 4] 6.00-7.00 sec 0.00 Bytes 0.00 bits/sec 4 2.73 KBytes
[ 4] 7.00-8.00 sec 0.00 Bytes 0.00 bits/sec 5 2.73 KBytes
[ 4] 8.00-9.00 sec 0.00 Bytes 0.00 bits/sec 8 2.73 KBytes
[ 4] 9.00-10.00 sec 0.00 Bytes 0.00 bits/sec 5 2.73 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 165 KBytes 135 Kbits/sec 85 sender
[ 4] 0.00-10.00 sec 115 KBytes 93.9 Kbits/sec receiver
iperf Done.
However ping between the VMs is working as expected, but Iperf fails. Is there any other configuration needs to be done?? Please suggest
Software stack and Configuration used are as below:
Openstack devstack Ocata
Neutron network type used vxlan
OVS 2.7.3
OS Centos7.3
Iperf 3.1
Thanks in advance!!
It might be related to MTU. I'm not sure what causes it but setting iperf segment size explicitly to some value lower than your interface's MTU helped.
For server, try iperf -s
For client, try iperf -c %server% -M 1350
If the problem persists, it might be related to the usage of MPLS+VXLAN. Networking-sfc uses MPLS by default. Do this on each physical node involved: conf.lo. input=1 platform_ labels= 1048575 conf.%INTERFACE %.input= 1 - for each interface that transmits MPLS+VXLAN. We haven't done any tests on which interfaces this step is required for. To be sure, do this for br-tun, vxlan_sys_4789 (this is vxlan interface in our Ubuntu installation, might be different for your system), and physical interface you use for private (VM to VM) network, along with all its VLANs, if any, separately.
modprobe mpls_router
modprobe mpls_gso
modprobe mpls_iptunnel
sysctl -w net.mpls.
sysctl -w net.mpls.
sysctl -w net.mpls.
No reboot needed.