[VXLAN EVPN]VXLAN routing can not work between opencontrail and cisco n9k
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Juniper Openstack | Status tracked in Trunk | |||||
Trunk |
New
|
High
|
Atul Moghe |
Bug Description
With contrail 5.0 code, I have 4 nodes: 1 openstack controller, 1 contrail controller, 1 TSN node, 1 compute node.
Cisco n9k has established BGP EVPN session with SDN controller.
There is a BMS(1.0.0.100, VNI 20000) connected to cisco switch and we created 3 virtual network on contrail: vnet1(1.0.0.1/24, VNI 20000), vnet3(3.0.0.1/24, VNI 30000)and vnet4(4.0.0.1/24, VNI 40000)
Two VMs(3.0.
VXLAN routing is enabled globally, and we created a logical router and attached vnet1, vnet3 and vnet4 to it. VNI 39000 is assigned to logical router.
We found the cisco switch can get all L2/L3 evpn route information from contrail controller. But contrail controller can only get L2 evpn information for BMS(1.0.0.100, VNI 20000) and there is no L3 evpn route information for BMS.
We captured all the bgp packets exchanged between contrail and cisco. Contrail sends route type 2,3 and 5. But cisco sends only route-type 2,3. Contrail's route-type 2 has no L3 VNI(39000), but cisco's route-type 2 has both VNI 20000 and 39000(I think this is why cisco didn't send route type 5 for host Advertisement). From rfc7432, route-type 2 supports both L2 VNI and L3 VNI(optional). But contrail didn't handle L3 VNI in route-type 2.
This is the root cause that contrail can not get L3 route information for BMS from cisco's route type 2 then traffic can not be sent out to BMS from VM.
Attachment is the captured bgp packet exchange between cisco and contrail.
10.1.1.5 is contrail controller.
20.20.1.1 is cisco n9k
tags: | added: fabric overlay |