Hi Nischal,

I'm taking a look at the virtual-gateway-address knob now. Initial testing
shows that I can transit out the virtual gateway but when I lose my first
MX my TOR does not fail over to the 2nd MX. Considering both MXs are
announcing the MAC/IP in EVPN I would think this must be a result of the
TOR agent not sending the proper updates to TORs via OVSDB. Does this sound
plausbible?

Here are details on how I am currently testing:

Config on MXs:
----------------

root@gw1z0> show configuration interfaces irb.5
family inet {
    address 10.10.210.146/29 {
        virtual-gateway-address 10.10.210.145;
    }
}

root@gw2z0> show configuration interfaces irb.5
family inet {
    address 10.10.210.147/29 {
        virtual-gateway-address 10.10.210.145;
    }
}


EVPN Database on MXs under normal circumstances:
-------------------------------------------------

root@gw1z0> show evpn database
Instance: Demo-NetworkA
VLAN  VNI  MAC address        Active source
Timestamp        IP address
      4     00:00:5e:00:01:01  05:00:00:ff:84:00:00:00:04:00  Jun 25
19:14:25  10.10.210.145
      4     50:c5:8d:d4:af:f0  10.10.214.71                 Jun 25
19:14:25  10.10.210.147
      4     54:9f:35:05:fa:2e  10.10.214.66                 Jun 25 19:14:24
      4     f8:c0:01:19:b1:88  irb.5                          Jun 25
19:13:46  10.10.210.146


root@gw2z0> show evpn database
Instance: Demo-NetworkA
VLAN  VNI  MAC address        Active source
Timestamp        IP address
      4     00:00:5e:00:01:01  05:00:00:ff:84:00:00:00:04:00  Jun 25
17:43:27  10.10.210.145
      4     50:c5:8d:d4:af:f0  irb.5                          Jun 25
17:16:46  10.10.210.147
      4     54:9f:35:05:fa:2e  10.10.214.66                 Jun 25 17:17:15
      4     f8:c0:01:19:b1:88  10.10.214.70                 Jun 25
17:43:27  10.10.210.146


EVPN advertisements on MXs:
----------------------------

root@gw1z0> show route advertising-protocol bgp 10.10.210.139

__contrail__default-domain_admin_Network1.inet.0: 1 destinations, 2 routes
(1 active, 0 holddown, 1 hidden)
  Prefix                  Nexthop              MED     Lclpref    AS path
* 192.168.1.0/24          Self                         100        I

Demo-NetworkA.evpn.0: 13 destinations, 13 routes (13 active, 0 holddown, 0
hidden)
  Prefix                  Nexthop              MED     Lclpref    AS path
  2:10.10.214.70:2::4::00:00:5e:00:01:01/304
*                         Self                         100        I
  2:10.10.214.70:2::4::f8:c0:01:19:b1:88/304
*                         Self                         100        I
  2:10.10.214.70:2::4::00:00:5e:00:01:01::10.10.210.145/304
*                         Self                         100        I
  2:10.10.214.70:2::4::f8:c0:01:19:b1:88::10.10.210.146/304
*                         Self                         100        I
  3:10.10.214.70:2::4::10.10.214.70/304
*                         Self                         100        I

__default_evpn__.evpn.0: 1 destinations, 1 routes (1 active, 0 holddown, 0
hidden)
  Prefix                  Nexthop              MED     Lclpref    AS path
  1:10.10.214.70:0::050000ff840000000400::FFFF:FFFF/304
*                         Self                         100        I


root@gw2z0> show route advertising-protocol bgp 10.10.210.139

__contrail__default-domain_admin_Network1.inet.0: 1 destinations, 2 routes
(1 active, 0 holddown, 1 hidden)
  Prefix                  Nexthop              MED     Lclpref    AS path
* 192.168.1.0/24          Self                         100        I

Demo-NetworkA.evpn.0: 13 destinations, 13 routes (13 active, 0 holddown, 0
hidden)
  Prefix                  Nexthop              MED     Lclpref    AS path
  2:10.10.214.71:1::4::00:00:5e:00:01:01/304
*                         Self                         100        I
  2:10.10.214.71:1::4::50:c5:8d:d4:af:f0/304
*                         Self                         100        I
  2:10.10.214.71:1::4::00:00:5e:00:01:01::10.10.210.145/304
*                         Self                         100        I
  2:10.10.214.71:1::4::50:c5:8d:d4:af:f0::10.10.210.147/304
*                         Self                         100        I
  3:10.10.214.71:1::4::10.10.214.71/304
*                         Self                         100        I

__default_evpn__.evpn.0: 1 destinations, 1 routes (1 active, 0 holddown, 0
hidden)
  Prefix                  Nexthop              MED     Lclpref    AS path
  1:10.10.214.71:0::050000ff840000000400::FFFF:FFFF/304
*                         Self                         100        I


With both MXs up, my host can transit the gateway:
------------------------------------------------------

dhoutz@host2:/$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=54 time=1.38 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=54 time=1.34 ms
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 1.346/1.364/1.382/0.018 ms


dhoutz@host2:/$ netstat -rn | grep 0.0.0.0
0.0.0.0         10.10.210.145 0.0.0.0         UG        0 0          0 em1


And my TOR shows a VTEP destination of MX1 (10.10.214.70):
-------------------------------------------------------------
root@leaf1z0> show ovsdb mac | grep 00:00:5e:00:01:01
  00:00:5e:00:01:01      0.0.0.0            Vxlan over Ipv4    10.10.214.70


If I shutdown MX1 my TOR never updates updates OVSDB and remains the same
as above.

Thanks!
Dan

On Thu, Jun 25, 2015 at 11:33 AM, Nischal Sheth <[email protected]> wrote:

>
>  Dan and Alex,
>
>  A slight variation of the below is the recommended configuration.
> Instead of
> configuring the same IP on the MX IRBs, you would configure unique IPs on
> the IRBs so that connectivity to an individual MX can be tested. A new knob
> called virtual-gateway-address is added under the irb.xxx IP address. You
> would set the this to the subnet's gateway address on both MXs. The GW IP
> will be advertised with the same VRRP MAC by both MXs.
>
>  Robert, this should work even with local VNI in future because the VNI is
> determined by doing a lookup of the MAC address on the TOR switch.
> Same if the encapsulation is MPLS instead of VXLAN.
>
>  -Nischal
>
>  On Jun 25, 2015, at 9:23 AM, Dan Houtz <[email protected]> wrote:
>
>   Hi Alex,
>
> I agree that anycastting the gateway would be ideal. I have tested this a
> bit but haven't had any luck thus fa as my TOR's only ever show one path.
> Even if I power down the MX that my TOR's have as the VTEP destination for
> the hard coded MAC, the entry is never removed from the OVSDB / mac table.
>
>  Going to test this a bit more and see if I can find anything. I'll
> provide some results shortly.
>
>  Thanks!
>  Dan
>
>
>
>
> On Thu, Jun 25, 2015 at 3:56 AM, Alex Walker <[email protected]
> > wrote:
>
>>  Hi Dan,
>>
>>
>>
>> Had you considered not using VRRP, and configuring both of your MX IRBs
>> to use the same IP address and MAC? You’ll need to think about it for your
>> own situation, but this could achieve the redundancy you require?
>>
>>
>>
>> Each MX will announce the same MAC via EVPN BGP. If either next-hop is
>> used, either should forward traffic OK for you. Should one gateway fail,
>> standard BGP path selection will then simply select the other gateway. You
>> could probably even play with Local Preference to prefer one gateway over
>> the other?
>>
>>
>>
>> Hope this helps – good luck with it!
>>
>>
>>
>> Alex.
>>
>>
>>
>>
>>
>>
>>
>> *From:* Users [mailto:[email protected]] *On Behalf
>> Of *Dan Houtz
>> *Sent:* 25 June 2015 05:31
>> *To:* [email protected]
>> *Subject:* [Users] Redundant L3 gateways using MX80s
>>
>>
>>
>> Hi,
>>
>>
>>
>> I've been working hard to get BMS / TOR switch VXLAN overlays working
>> and, with the gracious help of Praveen, I believe everything is mostly
>> working as expected now. With that functionality in a working state I'm now
>> looking at adding in L3 gateway support using a pair of MX80s. This seems
>> pretty straight forward with one MX but I haven't quite got a redundant
>> setup working properly. Are there any documented 'best practices' for
>> this?  In an attempt to add redundancy I am trying to configure VRRP (I'm
>> not sure EVPN anycast gateways are viable in this setup. Hopefully someone
>> can confirm).
>>
>>
>>
>> At present VRRP does converge across the overlay, my hosts can ping the
>> physical IP addresses configured on each MX IRB, and my hosts succeed in
>> getting ARP for the VRRP VIPs. They can not, however, complete a ping (I do
>> have accept-data configured for VRRP so MX should reply to pings). After a
>> bit of digging I believe this is because the virtual MAC address of the VIP
>> is not being announced via BGP so my TOR switches never learn the MAC via
>> OVSDB.
>>
>>
>>
>> root@gw1z0> show configuration interfaces irb.5
>>
>> family inet {
>>
>>     address 10.10.10.146/29 {
>>
>>         vrrp-group 13 {
>>
>>             virtual-address 10.10.10.145;
>>
>>             priority 105;
>>
>>             accept-data;
>>
>>         }
>>
>>     }
>>
>> }
>>
>>
>>
>> root@gw1z0> show route advertising-protocol bgp 10.10.10.139
>>
>>
>>
>> Demo-NetworkA.evpn.0: 13 destinations, 13 routes (13 active, 0 holddown,
>> 0 hidden)
>>
>>   Prefix                  Nexthop              MED     Lclpref    AS path
>>
>>   2:10.10.20.70:2::4::f8:c0:01:19:b1:88/304
>>
>> *                         Self                         100        I
>>
>>   2:10.10.20.70:2::4::f8:c0:01:19:b1:88::10.10.10.145/304
>>
>> *                         Self                         100        I
>>
>>   2:10.10.20.70:2::4::f8:c0:01:19:b1:88::10.10.10.146/304
>>
>> *                         Self                         100        I
>>
>>   3:10.10.20.70:2::4::10.10.20.70/304
>>
>> *                         Self                         100        I
>>
>>
>>
>> __default_evpn__.evpn.0: 1 destinations, 1 routes (1 active, 0 holddown,
>> 0 hidden)
>>
>>   Prefix                  Nexthop              MED     Lclpref    AS path
>>
>>   1:10.10.20.70:0::050000ff840000000400::FFFF:FFFF/304
>>
>> *                         Self                         100        I
>>
>>
>>
>> As you can see in the advertised BGP routes above the MX is announcing
>> .145 with the actual MAC of the IRB:
>>
>>
>>
>> root@gw1z0> show interfaces irb | grep hardware
>>
>>   Current address: f8:c0:01:19:b1:88, Hardware address: f8:c0:01:19:b1:88
>>
>>
>>
>> not the virtual MAC that has been assigned for VRRP:
>>
>>
>>
>> root@gw1z0> show vrrp extensive | grep mac
>>
>>   Virtual Mac: 00:00:5e:00:01:0d
>>
>>
>>
>> I suspect that because the MX never announces an EVPN mac of
>> 00:00:5e:00:01:0d, my TOR never learns where that MAC lives:
>>
>>
>>
>> oot@leaf1z0> show ovsdb mac
>>
>> Logical Switch Name: Contrail-12905c4b-60db-4d71-8fab-972051db1386
>>
>>   Mac                    IP                 Encapsulation      Vtep
>>
>>   Address                Address                               Address
>>
>>   ff:ff:ff:ff:ff:ff      0.0.0.0            Vxlan over Ipv4    10.10.20.65
>>
>>   d4:ae:52:c6:c9:e1      0.0.0.0            Vxlan over Ipv4    10.10.20.65
>>
>>   50:c5:8d:d4:af:f0      0.0.0.0            Vxlan over Ipv4    10.10.20.71
>>
>>   54:9f:35:05:fa:2e      0.0.0.0            Vxlan over Ipv4    10.10.20.66
>>
>>   f8:c0:01:19:b1:88      0.0.0.0            Vxlan over Ipv4    10.10.20.70
>>
>>   ff:ff:ff:ff:ff:ff      0.0.0.0            Vxlan over Ipv4
>>  10.10.10.139
>>
>>
>>
>>
>>
>> Is there perhaps a knob I'm missing? Is there something other then VRRP
>> that is preferred for redundant gateways in Contrail?
>>
>>
>>
>> I have the same question out to a few other resources but figured someone
>> on the mailing list might have some good pointers as well.
>>
>>
>>
>> Thanks!
>>
>> Dan
>>
>
>  _______________________________________________
> Users mailing list
> [email protected]
> http://lists.opencontrail.org/mailman/listinfo/users_lists.opencontrail.org
>
>
>
_______________________________________________
Users mailing list
[email protected]
http://lists.opencontrail.org/mailman/listinfo/users_lists.opencontrail.org

Reply via email to