-
Bug
-
Resolution: Unresolved
-
Medium
-
None
-
None
-
None
-
None
-
Linux Distro: CentOS Linux release 7.6.1810 (Core)
NIC type(s): ixgbe
CPU: x86_86 (Intel(R) Xeon(R) CPU E5-2650L v3 @ 1.80GHz)$ vppctl show ver verbose
Version: v18.10-6~gd1276b7-dirty
Compiled by: root
Compile date: Thu Jul 11 21:14:12 JST 2019
Compile location: /tmp/ci-package/vpp/rpmbuild/SOURCES/vpp-18.10
Compiler: GCC 7.3.1 20180303 (Red Hat 7.3.1-5)
Current PID: 41527startup.conf
unix {
nodaemon
log /tmp/vpp.log
full-coredump
cli-listen /run/vpp/cli.sock- startup-config /etc/vpp/setup.conf
}
api-trace {
on
}api-segment {
gid root
}cpu {
main-core 0corelist-workers 8-11
}dpdk {
dev 0000:04:00.0uio-driver uio_pci_generic
socket-mem 1024,1024
num-mbufs 32000dev default {
-
- Number of receive queues, enables RSS
- Default is 1
num-rx-queues 4
-
- Number of transmit queues, Default is equal
- to number of worker threads or 1 if no workers treads
num-tx-queues 4
}
}
Linux Distro: CentOS Linux release 7.6.1810 (Core) NIC type(s): ixgbe CPU: x86_86 (Intel(R) Xeon(R) CPU E5-2650L v3 @ 1.80GHz) $ vppctl show ver verbose Version: v18.10-6~gd1276b7-dirty Compiled by: root Compile date: Thu Jul 11 21:14:12 JST 2019 Compile location: /tmp/ci-package/vpp/rpmbuild/SOURCES/vpp-18.10 Compiler: GCC 7.3.1 20180303 (Red Hat 7.3.1-5) Current PID: 41527 startup.conf unix { nodaemon log /tmp/vpp.log full-coredump cli-listen /run/vpp/cli.sock startup-config /etc/vpp/setup.conf } api-trace { on } api-segment { gid root } cpu { main-core 0 corelist-workers 8-11 } dpdk { dev 0000:04:00.0 uio-driver uio_pci_generic socket-mem 1024,1024 num-mbufs 32000 dev default { Number of receive queues, enables RSS Default is 1 num-rx-queues 4 Number of transmit queues, Default is equal to number of worker threads or 1 if no workers treads num-tx-queues 4 } } - startup-config /etc/vpp/setup.conf
We have VPP-LB issue under the setting up multiple service ports per VIP.
When we setup VIPs and multiple service ports with specific steps, one of the service ports doesn't work correctly.
This issue is reproductive under some cases and I need help to solve that.
> VPP version
VPP 18.10 with 4 patches,
- https://gerrit.fd.io/r/#/c/12680/
- https://gerrit.fd.io/r/#/c/18826/
- https://gerrit.fd.io/r/c/vpp/+/13260
https://gerrit.fd.io/r/c/vpp/+/20573
reproductive case:1
# create VIP with multiple ports vppctl lb vip 192.168.1.1/32 protocol tcp port 80 encap l3dsr dscp 23 new_len 1024 vppctl lb vip 192.168.1.1/32 protocol tcp port 443 encap l3dsr dscp 23 new_len 1024 # create another VIP with multiple ports those are same as previous one vppctl lb vip 192.168.1.2/32 protocol tcp port 443 encap l3dsr dscp 23 new_len 1024 vppctl lb vip 192.168.1.2/32 protocol tcp port 80 encap l3dsr dscp 23 new_len 1024 # add AS to the first VIP, but port 443 of the first VIP doesn't work. port 80 of the first VIP works correctly. vppctl lb as 192.168.1.1/32 protocol tcp port 80 10.0.0.1 vppctl lb as 192.168.1.1/32 protocol tcp port 443 10.0.0.1 |
reproductive case:2 ( The issue does not depends on order of steps. )
# create VIP with port 80 and 443. add AS to the VIP to the each port. vppctl lb vip 192.168.1.1/32 protocol tcp port 80 encap l3dsr dscp 23 new_len 1024 vppctl lb vip 192.168.1.1/32 protocol tcp port 443 encap l3dsr dscp 23 new_len 1024 vppctl lb as 192.168.1.1/32 protocol tcp port 80 10.0.0.1 vppctl lb as 192.168.1.1/32 protocol tcp port 443 10.0.0.1 # both of the ports works well. # create second VIP with port 443 vppctl lb vip 192.168.1.2/32 protocol tcp port 443 encap l3dsr dscp 23 new_len 1024 # the first VIP works correctly. # add port 80 to the second VIP, the first VIP with port 80 doesn't work with this timing. vppctl lb vip 192.168.1.2/32 protocol tcp port 80 encap l3dsr dscp 23 new_len 1024 |
reproductive case:3 ( The port on first VIP doesn't work is same as secondary port of the Second VIP )
# create first VIP as same steps as case:2 vppctl lb vip 192.168.1.1/32 protocol tcp port 80 encap l3dsr dscp 23 new_len 1024 vppctl lb vip 192.168.1.1/32 protocol tcp port 443 encap l3dsr dscp 23 new_len 1024 vppctl lb as 192.168.1.1/32 protocol tcp port 80 10.0.0.1 vppctl lb as 192.168.1.1/32 protocol tcp port 443 10.0.0.1 # both of the ports works well. # differnt from case:2, create second VIP with port 80 vppctl lb vip 192.168.1.2/32 protocol tcp port 80 encap l3dsr dscp 23 new_len 1024 # the first VIP works correctly. # add port 443 to the second VIP, the first VIP with port 443 doesn't work with this timing. vppctl lb vip 192.168.1.2/32 protocol tcp port 443 encap l3dsr dscp 23 new_len 1024 |