Hi John and Everyone, We are trying use case mentioned in the https://wiki.fd.io/view/VPP/Using_VPP_as_a_VXLAN_Tunnel_Terminator ( https://wiki.fd.io/view/VPP/Using_VPP_as_a_VXLAN_Tunnel_Terminator ) and have issue with resolution of ARP and packet forwarding to non vxlan segment.
. My setup has follows VM1 VM2 VM3 3/10/0 VPP 3/10/4(7.0.0.3) 3/10/2 VPP 3/10/1(30.30.30.30) 3/10/3(30.30.30.35) linux VNI 13 VNI 13 6.0.4.4 Trying pinging from VM3 on 7.0.0.3 using vxlan13 interface. (ping -I vxlan13 7.0.0.3 -c 1) 3/10/0,3/10/2 and 3/10/4 are connected one SRIOV switch and 3/10/1 and 3/10/3 are connected another SRIOV switch. Let me know the setup is correct or not for validating the VPP as a VXLAN tunnel terminator use case mentioned in the link. Observed arp request received to VM1 vpp but dropped as IP4 source address not local to subnet. Tried configuring the arp entry manually in VM3 then observed the ping packets received VM1 but failed with ip4 source lookup miss. Looks I am missing some more configuration or the setup is wrong. Please help me what is the wrong with steps below. The steps on VM2 of VPP are set interface ip address VirtualFunctionEthernet3/10/1 30.30.30.30/24 set interface state VirtualFunctionEthernet3/10/1 up loopback create mac 1a:2b:3c:4d:5e:6f create vxlan tunnel src 30.30.30.30 dst 30.30.30.35 vni 13 encap-vrf-id 0 decap-next l2 set interface state loop0 up set interface state VirtualFunctionEthernet3/10/2 up set interface l2 bridge VirtualFunctionEthernet3/10/2 13 0 set interface l2 bridge vxlan_tunnel0 13 1 set interface l2 bridge loop0 13 bvi 0 set interface ip table loop0 5 set interface ip address loop0 6.0.0.250/24 loopback create mac 1a:2b:3c:4d:5e:7f set interface state loop1 up set interface state VirtualFunctionEthernet3/10/0 up set interface l2 bridge VirtualFunctionEthernet3/10/0 11 0 set interface l2 bridge loop1 11 bvi 0 set interface ip table loop1 5 set interface ip address loop1 7.0.0.250/24 Pakcet traces fro ARP are Packet 1 00:05:50:988601: dpdk-input VirtualFunctionEthernet3/10/1 rx queue 0 buffer 0x400346f: current data 14, length 78, free-list 0, clone-count 0, totlen-nifb 0, trace 0x0 PKT MBUF: port 1, nb_segs 1, pkt_len 92 buf_len 2176, data_len 92, ol_flags 0x180, data_off 128, phys_addr 0xfd6cdac0 packet_type 0x241 Packet Offload Flags PKT_RX_IP_CKSUM_GOOD (0x0080) IP cksum of RX pkt. is valid PKT_RX_L4_CKSUM_GOOD (0x0100) L4 cksum of RX pkt. is valid Packet Types RTE_PTYPE_L2_ETHER (0x0001) Ethernet packet RTE_PTYPE_L3_IPV6 (0x0040) IPv6 packet without extension headers RTE_PTYPE_L4_UDP (0x0200) UDP packet IP4: 2e:49:93:5f:1b:c1 -> 02:09:c0:31:8a:ba UDP: 30.30.30.35 -> 30.30.30.30 tos 0x00, ttl 64, length 78, checksum 0x302f fragment id 0xd1f3 UDP: 40014 -> 4789 length 58, checksum 0xac09 00:05:50:988633: ip4-input-no-checksum UDP: 30.30.30.35 -> 30.30.30.30 tos 0x00, ttl 64, length 78, checksum 0x302f fragment id 0xd1f3 UDP: 40014 -> 4789 length 58, checksum 0xac09 00:05:50:988644: ip4-lookup fib 0 dpo-idx 6 flow hash: 0x00000000 UDP: 30.30.30.35 -> 30.30.30.30 tos 0x00, ttl 64, length 78, checksum 0x302f fragment id 0xd1f3 UDP: 40014 -> 4789 length 58, checksum 0xac09 00:05:50:988662: ip4-local UDP: 30.30.30.35 -> 30.30.30.30 tos 0x00, ttl 64, length 78, checksum 0x302f fragment id 0xd1f3 UDP: 40014 -> 4789 length 58, checksum 0xac09 00:05:50:988665: ip4-udp-lookup UDP: src-port 40014 dst-port 4789 00:05:50:988671: vxlan4-input VXLAN decap from vxlan_tunnel0 vni 13 next 1 error 0 00:05:50:988679: l2-input l2-input: sw_if_index 5 dst ff:ff:ff:ff:ff:ff src fa:a7:97:c4:e5:81 00:05:50:988683: l2-learn l2-learn: sw_if_index 5 dst ff:ff:ff:ff:ff:ff src fa:a7:97:c4:e5:81 bd_index 1 00:05:50:988688: l2-flood l2-flood: sw_if_index 5 dst ff:ff:ff:ff:ff:ff src fa:a7:97:c4:e5:81 bd_index 1 00:05:50:988693: l2-output l2-output: sw_if_index 3 dst ff:ff:ff:ff:ff:ff src fa:a7:97:c4:e5:81 data 08 06 00 01 08 00 06 04 00 01 fa a7 00:05:50:988696: VirtualFunctionEthernet3/10/2-output VirtualFunctionEthernet3/10/2 ARP: fa:a7:97:c4:e5:81 -> ff:ff:ff:ff:ff:ff request, type ethernet/IP4, address size 6/4 fa:a7:97:c4:e5:81/6.0.4.4 -> 00:00:00:00:00:00/7.0.0.3 00:05:50:988699: VirtualFunctionEthernet3/10/2-tx VirtualFunctionEthernet3/10/2 tx queue 0 buffer 0x400346f: current data 50, length 42, free-list 5, clone-count 0, totlen-nifb 0, trace 0x0 ARP: fa:a7:97:c4:e5:81 -> ff:ff:ff:ff:ff:ff request, type ethernet/IP4, address size 6/4 fa:a7:97:c4:e5:81/6.0.4.4 -> 00:00:00:00:00:00/7.0.0.3 00:05:50:988713: l2-flood l2-flood: sw_if_index 5 dst 00:01:08:00:06:04 src 00:01:fa:a7:97:c4 bd_index 1 00:05:50:988749: arp-input request, type ethernet/IP4, address size 6/4 fa:a7:97:c4:e5:81/6.0.4.4 -> 00:00:00:00:00:00/7.0.0.3 00:05:50:988771: error-drop arp-input: IP4 source address not local to subnet Packet 3 00:05:52:008946: dpdk-input VirtualFunctionEthernet3/10/0 rx queue 0 buffer 0x404a11c: current data 0, length 42, free-list 0, clone-count 0, totlen-nifb 0, trace 0x2 PKT MBUF: port 0, nb_segs 1, pkt_len 42 buf_len 2176, data_len 42, ol_flags 0x180, data_off 128, phys_addr 0xfe880600 packet_type 0x0 Packet Offload Flags PKT_RX_IP_CKSUM_GOOD (0x0080) IP cksum of RX pkt. is valid PKT_RX_L4_CKSUM_GOOD (0x0100) L4 cksum of RX pkt. is valid ARP: fa:a7:97:c4:e5:81 -> ff:ff:ff:ff:ff:ff request, type ethernet/IP4, address size 6/4 fa:a7:97:c4:e5:81/6.0.4.4 -> 00:00:00:00:00:00/7.0.0.3 00:05:52:008949: ethernet-input ARP: fa:a7:97:c4:e5:81 -> ff:ff:ff:ff:ff:ff 00:05:52:008951: l2-input l2-input: sw_if_index 1 dst ff:ff:ff:ff:ff:ff src fa:a7:97:c4:e5:81 00:05:52:008952: l2-learn l2-learn: sw_if_index 1 dst ff:ff:ff:ff:ff:ff src fa:a7:97:c4:e5:81 bd_index 2 00:05:52:008954: l2-flood l2-flood: sw_if_index 1 dst 00:01:08:00:06:04 src 00:01:fa:a7:97:c4 bd_index 2 00:05:52:008959: arp-input request, type ethernet/IP4, address size 6/4 fa:a7:97:c4:e5:81/6.0.4.4 -> 00:00:00:00:00:00/7.0.0.3 00:05:52:008960: error-drop arp-input: IP4 source address not local to subnet vpp# show interface Name Idx State Counter Count VirtualFunctionEthernet3/10/0 1 up rx packets 1 rx bytes 42 VirtualFunctionEthernet3/10/1 2 up rx packets 4 rx bytes 318 tx packets 1 tx bytes 42 ip4 3 VirtualFunctionEthernet3/10/2 3 up tx packets 3 tx bytes 126 local0 0 down loop0 4 up rx packets 3 rx bytes 84 drops 3 loop1 6 up rx packets 1 rx bytes 28 drops 1 vxlan_tunnel0 5 up rx packets 3 rx bytes 126 vpp# Packet traces for ping are Packet 1 01:10:12:461586: dpdk-input VirtualFunctionEthernet3/10/1 rx queue 0 buffer 0x40032e9: current data 14, length 134, free-list 0, clone-count 0, totlen-nifb 0, trace 0x0 PKT MBUF: port 1, nb_segs 1, pkt_len 148 buf_len 2176, data_len 148, ol_flags 0x180, data_off 128, phys_addr 0xfd6c7940 packet_type 0x241 Packet Offload Flags PKT_RX_IP_CKSUM_GOOD (0x0080) IP cksum of RX pkt. is valid PKT_RX_L4_CKSUM_GOOD (0x0100) L4 cksum of RX pkt. is valid Packet Types RTE_PTYPE_L2_ETHER (0x0001) Ethernet packet RTE_PTYPE_L3_IPV6 (0x0040) IPv6 packet without extension headers RTE_PTYPE_L4_UDP (0x0200) UDP packet IP4: 2e:49:93:5f:1b:c1 -> 02:09:c0:31:8a:ba UDP: 30.30.30.35 -> 30.30.30.30 tos 0x00, ttl 64, length 134, checksum 0x014e fragment id 0x009d UDP: 49524 -> 4789 length 114, checksum 0x7cd4 01:10:12:461605: ip4-input-no-checksum UDP: 30.30.30.35 -> 30.30.30.30 tos 0x00, ttl 64, length 134, checksum 0x014e fragment id 0x009d UDP: 49524 -> 4789 length 114, checksum 0x7cd4 01:10:12:461613: ip4-lookup fib 0 dpo-idx 6 flow hash: 0x00000000 UDP: 30.30.30.35 -> 30.30.30.30 tos 0x00, ttl 64, length 134, checksum 0x014e fragment id 0x009d UDP: 49524 -> 4789 length 114, checksum 0x7cd4 01:10:12:461618: ip4-local UDP: 30.30.30.35 -> 30.30.30.30 tos 0x00, ttl 64, length 134, checksum 0x014e fragment id 0x009d UDP: 49524 -> 4789 length 114, checksum 0x7cd4 01:10:12:461620: ip4-udp-lookup UDP: src-port 49524 dst-port 4789 01:10:12:461624: vxlan4-input VXLAN decap from vxlan_tunnel0 vni 13 next 1 error 0 01:10:12:461629: l2-input l2-input: sw_if_index 5 dst ce:c9:d4:47:fd:8e src fa:a7:97:c4:e5:81 01:10:12:461633: l2-learn l2-learn: sw_if_index 5 dst ce:c9:d4:47:fd:8e src fa:a7:97:c4:e5:81 bd_index 1 01:10:12:461648: l2-fwd l2-fwd: sw_if_index 5 dst ce:c9:d4:47:fd:8e src fa:a7:97:c4:e5:81 bd_index 1 01:10:12:461694: l2-flood l2-flood: sw_if_index 5 dst ce:c9:d4:47:fd:8e src fa:a7:97:c4:e5:81 bd_index 1 01:10:12:461699: l2-output l2-output: sw_if_index 3 dst ce:c9:d4:47:fd:8e src fa:a7:97:c4:e5:81 data 08 00 45 00 00 54 47 73 40 00 40 01 01:10:12:461700: VirtualFunctionEthernet3/10/2-output VirtualFunctionEthernet3/10/2 IP4: fa:a7:97:c4:e5:81 -> ce:c9:d4:47:fd:8e ICMP: 6.0.4.4 -> 7.0.0.3 tos 0x00, ttl 64, length 84, checksum 0xe22f fragment id 0x4773, flags DONT_FRAGMENT ICMP echo_request checksum 0xac9 01:10:12:461702: VirtualFunctionEthernet3/10/2-tx VirtualFunctionEthernet3/10/2 tx queue 0 buffer 0x40032e9: current data 50, length 98, free-list 5, clone-count 0, totlen-nifb 0, trace 0x0 IP4: fa:a7:97:c4:e5:81 -> ce:c9:d4:47:fd:8e ICMP: 6.0.4.4 -> 7.0.0.3 tos 0x00, ttl 64, length 84, checksum 0xe22f fragment id 0x4773, flags DONT_FRAGMENT ICMP echo_request checksum 0xac9 01:10:12:461713: l2-flood l2-flood: sw_if_index 5 dst ce:c9:d4:47:fd:8e src fa:a7:97:c4:e5:81 bd_index 1 01:10:12:461720: error-drop l2-flood: BVI L3 mac mismatch vpp# show interface Name Idx State Counter Count VirtualFunctionEthernet3/10/0 1 up VirtualFunctionEthernet3/10/1 2 up rx packets 2 rx bytes 190 tx packets 1 tx bytes 42 ip4 1 VirtualFunctionEthernet3/10/2 3 up tx packets 1 tx bytes 98 local0 0 down loop0 4 up loop1 6 up vxlan_tunnel0 5 up rx packets 1 rx bytes 98 drops 1 vpp#
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#11991): https://lists.fd.io/g/vpp-dev/message/11991 Mute This Topic: https://lists.fd.io/mt/29524537/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-