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]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to