Thanks all for clarification, now I understand the mechanism. 
So, I will leave the work to a central controller to setup the unicast tunnel 
between the vtep pairs. 

-----Original Message-----
From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of John Lo (loj) via 
Lists.Fd.Io
Sent: Tuesday, November 06, 2018 12:24 AM
To: Neale Ranns (nranns) <nra...@cisco.com>; Hu, Xuekun <xuekun...@intel.com>; 
Eyal Bari (ebari) <eb...@cisco.com>; vpp-dev@lists.fd.io
Cc: vpp-dev@lists.fd.io
Subject: Re: [vpp-dev] Problem on VxLAN multicast mode

To answer another question from Xuekun about usage of VXLAN mcast tunnel, the 
advantage is that flooding to remote VTEPs only needs to send one packet into 
the mcast tunnel.  If there is no mcast tunnel, VPP will need to send a packet 
per unicast VXLAN tunnel to flood all remote VTEPs.    -John

-----Original Message-----
From: Neale Ranns (nranns) 
Sent: Monday, November 05, 2018 11:00 AM
To: John Lo (loj) <l...@cisco.com>; Xuekun <xuekun...@intel.com>; Eyal Bari 
(ebari) <eb...@cisco.com>; vpp-dev@lists.fd.io
Subject: Re: [vpp-dev] Problem on VxLAN multicast mode


Hi Eyal, John,

I missed the fact that the tunnel classification is based only on the senders 
IP. Now it makes sense.

Thanks,
Neale


-----Message d'origine-----
De : <vpp-dev@lists.fd.io> au nom de "John Lo (loj) via Lists.Fd.Io" 
<loj=cisco....@lists.fd.io> Répondre à : "John Lo (loj)" <l...@cisco.com> Date 
: lundi 5 novembre 2018 à 16:17 À : Xuekun <xuekun...@intel.com>, "Eyal Bari 
(ebari)" <eb...@cisco.com>, "vpp-dev@lists.fd.io" <vpp-dev@lists.fd.io> Cc : 
"vpp-dev@lists.fd.io" <vpp-dev@lists.fd.io> Objet : Re: [vpp-dev] Problem on 
VxLAN multicast mode

    VPP does not support receiving of VXLAN packets from an unknown VTEP.  
Thus, any packet received in a BD from a VXLAN multicast tunnel must have its 
source IP match of the remote VTEP of an existing VXLAN unicast tunnel in the 
same BD.  If no such unicast tunnel is found, packets are dropped.  If it is 
found and MAC learning is enabled, the MAC will be learned with its output 
associated with the matching unicast VXLAN tunnel.  VPP does not learn unknown 
remote VTEPs and create a unicast tunnel automatically for better security.   
    
    Regards,
    John
    
    -----Original Message-----
    From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of Xuekun
    Sent: Monday, November 05, 2018 8:07 AM
    To: Eyal Bari (ebari) <eb...@cisco.com>; vpp-dev@lists.fd.io
    Subject: Re: [vpp-dev] Problem on VxLAN multicast mode
    
    Hi, Eyal
    
    If need to create a unicast tunnel also, it means need to know the remote 
vtep address first. However the purpose of using mcast tunnel is to build 
tunnels across multiple vtep addresses which don't be known in advance.  For 
example, if there is a third server (server3: 192.168.1.3) in my env, what 
should I do? Still add a unicast tunnel ("create vxlan tunnel src 172.168.1.1 
dst 172.168.1.3 vni 100"), if so, just to setup the point-to-point vxlan tunnel 
and put all the tunnels in the same BD, then all servers are connected, and 
don't need to create the mcast tunnel. 
    
    Is my understanding about mcast tunnel not correct? 
    Thanks. 
    
    Thx, Xuekun  
    
    -----Original Message-----
    From: Eyal Bari (ebari) <eb...@cisco.com> 
    Sent: Monday, November 05, 2018 7:58 PM
    To: Hu, Xuekun <xuekun...@intel.com>; vpp-dev@lists.fd.io
    Subject: Re: [vpp-dev] Problem on VxLAN multicast mode
    
    Just to clarify, the mcast tunnel does not need to be under the bridge for 
receiving traffic, however for sending flooded traffic through the mcast tunnel 
it needs to be under the bridge...
    
    eyal 
    
    On 05/11/2018, 13:47, "vpp-dev@lists.fd.io on behalf of eyal bari via 
Lists.Fd.Io" <vpp-dev@lists.fd.io on behalf of ebari=cisco....@lists.fd.io> 
wrote:
    
        Hi, Xuekun,
        
        Packets are only received on unicast tunnels.
        So in your case you would need to create one and put it under the 
bridge-domain (the multicast tunnel does not need to be under the 
bridge-domain):
            create vxlan tunnel src 172.168.1.1 dst 172.168.1.2 vni 100
            set interface l2 bridge vxlan_tunnel0 1000
            create vxlan tunnel src 172.168.1.1 group 239.1.1.1 
TenGigabitEthernet3d/0/1 vni 100
        ....
        
        eyal
        
        On 05/11/2018, 9:18, "vpp-dev@lists.fd.io on behalf of Xuekun" 
<vpp-dev@lists.fd.io on behalf of xuekun...@intel.com> wrote:
        
            Hi, All
            
            I'm configuring VPP as VxLAN multicast mode over multiple servers. 
To simplify the topology, I only used two servers: server1 as VPP; server2 
using vxlan kernel mode.
            
            Server1:
            set interface state TenGigabitEthernet3d/0/1 up
            set interface ip address TenGigabitEthernet3d/0/1 172.168.1.1/24
            create bridge-domain 1000 learn 1 forward 1 uu-flood 1 flood 1 
arp-term 0
            create vxlan tunnel src 172.168.1.1 group 239.1.1.1 
TenGigabitEthernet3d/0/1 vni 100
            set interface l2 bridge vxlan_tunnel0 1000          
            loopback create 
            set interface l2 bridge loop0 1000 bvi
            set interface state loop0 up
            set interface ip address loop0 192.168.1.1/24
            
            Server2:
            ifconfig enp11s0f1 172.168.1.2/24 up
            ip link add vxlan0 type vxlan id 100 dstport 4789 group 239.1.1.1 
dev enp11s0f1
            ifconfig vxlan0 192.168.1.2/24 up
            
            Now, server1 and server2 are connected with VxLAN VNI 100 through 
multicast group 239.1.1.1.  
            However, 192.168.1.1 and 192.168.1.2 could NOT be pingable each 
other. 
            
            Trace log: 
            Packet 1
            
            00:01:02:563831: dpdk-input
              TenGigabitEthernet3d/0/1 rx queue 0
              buffer 0x4b93: current data 14, length 78, free-list 0, 
clone-count 0, totlen-nifb 0, trace 0x0
                             ext-hdr-valid
                             l4-cksum-computed l4-cksum-correct l2-hdr-offset 0
              PKT MBUF: port 0, nb_segs 1, pkt_len 92
                buf_len 2176, data_len 92, ol_flags 0x180, data_off 128, 
phys_addr 0x4012e540
                packet_type 0x291 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0
                rss 0x0 fdir.hi 0x0 fdir.lo 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
                Packet Types
                  RTE_PTYPE_L2_ETHER (0x0001) Ethernet packet
                  RTE_PTYPE_L3_IPV4_EXT_UNKNOWN (0x0090) IPv4 packet with or 
without extension headers
                  RTE_PTYPE_L4_UDP (0x0200) UDP packet
              IP4: 00:1e:67:34:31:6c -> 01:00:5e:01:01:01
              UDP: 172.168.1.2 -> 239.1.1.1
                tos 0x00, ttl 1, length 78, checksum 0xe04b
                fragment id 0x3ba7
              UDP: 54420 -> 4789
                length 58, checksum 0x0000
            00:01:02:563834: ip4-input-no-checksum
              UDP: 172.168.1.2 -> 239.1.1.1
                tos 0x00, ttl 1, length 78, checksum 0xe04b
                fragment id 0x3ba7
              UDP: 54420 -> 4789
                length 58, checksum 0x0000
            00:01:02:563839: ip4-mfib-forward-lookup
              fib 0 entry 6
            00:01:02:563842: ip4-mfib-forward-rpf
              entry 6 itf 1 flags Accept,
            00:01:02:563842: ip4-replicate
              replicate: 4 via [@1]: dpo-receive
            00:01:02:563843: ip4-local
                UDP: 172.168.1.2 -> 239.1.1.1
                  tos 0x00, ttl 1, length 78, checksum 0xe04b
                  fragment id 0x3ba7
                UDP: 54420 -> 4789
                  length 58, checksum 0x0000
            00:01:02:563846: ip4-udp-lookup
              UDP: src-port 54420 dst-port 4789
            00:01:02:563847: vxlan4-input
              VXLAN decap error - tunnel for vni 100 does not exist
            00:01:02:563847: error-drop
              vxlan4-input: no such tunnel packets
            
            Why it said "tunnel for vni 100 does not exist"? 
            Any help is appreciated. 
            
            Thx, Xuekun
            
            
        
        
    
    

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#11115): https://lists.fd.io/g/vpp-dev/message/11115
Mute This Topic: https://lists.fd.io/mt/27856725/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