Routing

Expand all | Collapse all

BGP EVPN question and bgp.evpn.0 table

Jump to Best Answer
  • 1.  BGP EVPN question and bgp.evpn.0 table

    Posted 12-23-2020 14:25

    Hi everyone,

    I have been following day one book on BGP EVPN,  I have set up a basics lab to reinforce my concepts.

    Please consider the sample topology:

    SET UP:

    Above we have MX1 and  MX3 are acting as PE, MX2 is just a route reflector. There is no end devices connected, therefore we will have only type 3 EVPN route ( Inclusive Multicast)

    Case  #1

    MX3 has EVPN routing instance defined EVPN-1. there is no EVPN routing instance defined on MX1.

    I observed following:

    1) MX3 advertise type 3 EVPN route via MBGP to MX2 ( route reflector), which in turn advertise the route to MX1.    MX1 does not have any EVPN instance defined , therefore,  bgp.evpn.0 table is not populated .

    Below is a demo:

     ## MX1 CONFIG##

    set interfaces ge-0/0/0 unit 0 family inet address 12.12.12.1/24
    set interfaces ge-0/0/0 unit 0 family mpls
    set interfaces ge-0/0/4 unit 0 family inet
    set interfaces fxp0 unit 0 family inet address 172.22.22.1/24
    set interfaces lo0 unit 0 family inet address 1.1.1.1/32
    set routing-options autonomous-system 100
    set protocols mpls interface ge-0/0/0.0
    set protocols bgp group INTERNAL type internal
    set protocols bgp group INTERNAL family evpn signaling
    set protocols bgp group INTERNAL neighbor 2.2.2.2 local-address 1.1.1.1
    set protocols ospf area 0.0.0.0 interface lo0.0
    set protocols ospf area 0.0.0.0 interface ge-0/0/0.0
    set protocols ldp interface ge-0/0/0.0

     # MX2 CONFIG##

    set version 18.2R1.9
    set chassis network-services enhanced-ip
    set interfaces ge-0/0/0 unit 0 family inet address 12.12.12.2/24
    set interfaces ge-0/0/0 unit 0 family mpls
    set interfaces ge-0/0/1 unit 0 family inet address 23.23.23.2/24
    set interfaces ge-0/0/1 unit 0 family mpls
    set interfaces fxp0 unit 0 family inet address 172.22.22.2/24
    set interfaces lo0 unit 0 family inet address 2.2.2.2/32
    set routing-options autonomous-system 100
    set protocols bgp group CLUSTER1 type internal
    set protocols bgp group CLUSTER1 local-address 2.2.2.2
    set protocols bgp group CLUSTER1 family evpn signaling
    set protocols bgp group CLUSTER1 cluster 2.2.2.2
    set protocols bgp group CLUSTER1 neighbor 1.1.1.1
    set protocols bgp group CLUSTER1 neighbor 3.3.3.3
    set protocols ospf area 0.0.0.0 interface lo0.0
    set protocols ospf area 0.0.0.0 interface ge-0/0/0.0
    set protocols ospf area 0.0.0.0 interface ge-0/0/1.0
    set protocols ldp interface ge-0/0/0.0
    set protocols ldp interface ge-0/0/1.0

     # MX3 CONFIG##

    set version 18.2R1.9
    set chassis network-services enhanced-ip
    set interfaces ge-0/0/0 unit 0 family inet address 23.23.23.3/24
    set interfaces ge-0/0/0 unit 0 family mpls
    set interfaces ge-0/0/1 vlan-tagging
    set interfaces ge-0/0/1 encapsulation flexible-ethernet-services
    set interfaces ge-0/0/1 unit 100 encapsulation vlan-bridge
    set interfaces ge-0/0/1 unit 100 vlan-id 100
    set interfaces fxp0 unit 0 family inet address 172.22.22.13/24
    set interfaces lo0 unit 0 family inet address 3.3.3.3/32
    set routing-options autonomous-system 100
    set protocols mpls interface ge-0/0/0.0
    set protocols bgp group INTERNAL type internal
    set protocols bgp group INTERNAL family evpn signaling
    set protocols bgp group INTERNAL neighbor 2.2.2.2 local-address 3.3.3.3
    set protocols ospf area 0.0.0.0 interface lo0.0
    set protocols ospf area 0.0.0.0 interface ge-0/0/0.0
    set protocols ldp interface ge-0/0/0.0
    set routing-instances EVPN-1 instance-type evpn
    set routing-instances EVPN-1 interface ge-0/0/1.100
    set routing-instances EVPN-1 route-distinguisher 3.3.3.3:3
    set routing-instances EVPN-1 vrf-target target:1:1
    set routing-instances EVPN-1 protocols evpn

    ################################################# 

    We can see  MX2 is advertising type 3 route it receives from MX2,  to MX1:

    root@MX2> show route advertising-protocol bgp 1.1.1.1

    bgp.evpn.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
    Prefix Nexthop MED Lclpref AS path
    3:3.3.3.3:3::0::3.3.3.3/248 IM
    * 3.3.3.3 100 I

    But MX1 bgp.evpn.0 is empty because MX1 does not have EVPN instance defined :

    root@MX1> show route table bgp.evpn.0

    EMPTY!!

    The minute we defined the EPN instance with matching target on MX1, MX1 promptly populates bgp.evpn.0

    root@MX1# show routing-instances | display set
    set routing-instances EVPN-1 instance-type evpn
    set routing-instances EVPN-1 route-distinguisher 1.1.1.1:1
    set routing-instances EVPN-1 vrf-target target:1:1
    set routing-instances EVPN-1 protocols evpn

    root@MX1> show route table bgp.evpn.0

    bgp.evpn.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
    + = Active Route, - = Last Active, * = Both

    3:3.3.3.3:3::0::3.3.3.3/248 IM
    *[BGP/170] 00:02:47, localpref 100, from 2.2.2.2
    AS path: I, validation-state: unverified
    > to 12.12.12.2 via ge-0/0/0.0, Push 18

     #Question#

    Obviously, MX1 is storing EVPN route it received earlier fromMX2 ( RR)  some where when it did not have EVPN instance defined, the question is where and how can we see that?

    Thanks and have a good day!!



  • 2.  RE: BGP EVPN question and bgp.evpn.0 table
    Best Answer

    Posted 12-23-2020 16:30

    Hi Sarahr, Im not positive if I understood your question right, are you asking why bgp.evpn.0 table is empty on MX1 before you configure the routing instance? if yes, then this seems like expected behavior. before you configure the instances MX1 doesn't know what route to look for since it doesn't know RD/RT (routes mx1 is interested in). not 100% sure about evpn but typically a RR would only advertise routes to its clients if the clients request it ( by RD and RT). I apologize if I misunderstood the question. hope this helps! :)




  • 3.  RE: BGP EVPN question and bgp.evpn.0 table

    Posted 12-23-2020 20:52

    Hi Ali,

    Thanks for your response, as far as I know BGP clients do not request any update, as soon as BGP session  establishes, both can exchange routes( as BGP routes are flushed when BGP goes down).

    Sorry ,  for not very clear.

    Im not positive if I understood your question right, are you asking why bgp.evpn.0 table is empty on MX1 before you configure the routing instance? if yes, then this seems like expected behavior. before you configure the instances MX1 doesn't know what route to look for.

     What I am trying to ask is where are EVPN routes are stored ,  if they can not be placed in bgp.evpn.0 table as there  is no instance defined .

    Much appreciated!!




  • 4.  RE: BGP EVPN question and bgp.evpn.0 table

     
    Posted 12-23-2020 21:23

    The router does not keep any VPN routes unless there is a matching route-target configured for at least one routing-instance.  You can try configuring keep all so that you can see the routes. 

    Regards, 



    ------------------------------
    Yasmin Lara
    Juniper Ambassador
    JNCIE-SP, JNCIE-ENT, JNCIE-DC, JNCIE-SEC
    JNCDS-DC, JNCIA-DevOps, JNCIP-CLOUD, CCNP-ENT
    ------------------------------



  • 5.  RE: BGP EVPN question and bgp.evpn.0 table

     
    Posted 12-23-2020 21:30

    About this statement from Ali: "typically a RR would only advertise routes to its clients if the clients request it ( by RD and RT)" 

    That is true if you configure family route-target (BGP Route Target Filtering).

    Regards, 



    ------------------------------
    Yasmin Lara
    Juniper Ambassador
    JNCIE-SP, JNCIE-ENT, JNCIE-DC, JNCIE-SEC
    JNCDS-DC, JNCIA-DevOps, JNCIP-CLOUD, CCNP-ENT
    ------------------------------



  • 6.  RE: BGP EVPN question and bgp.evpn.0 table

    Posted 12-23-2020 21:42

    Very true! Thanks for clarifying Yasmin!




  • 7.  RE: BGP EVPN question and bgp.evpn.0 table

    Posted 12-24-2020 12:50
    -------------------------------------------
    Original Message:
    Sent: 12-23-2020 21:30
    From: Yasmin Lara
    Subject: BGP EVPN question and bgp.evpn.0 table


    This is what I see:

    MX1----MX2 ( RR)----MX4

    Normal case:

    MX1 and MX4 have EVPN instance defined with route target,  MX1 populates  bgp.evpn.0 table.

    Not so normal case:)

    I deleted routing instance on MX1, bgp.evpn.0 table  goes empty. I rollback 1 on MX1 to bring the instance back while doing capture between MX1 and MX2, I did see MX1 sending BGP route refresh message to MX2, which in turns sends BGP updates ( MAC routes). It is a default behavior on MX running Junos: 18.2R1.9

    Thanks Ali and Yasmin for solving this puzzle.

    About this statement from Ali: "typically a RR would only advertise routes to its clients if the clients request it ( by RD and RT)" 

    That is true if you configure family route-target (BGP Route Target Filtering).

    Regards, 



    ------------------------------
    Yasmin Lara
    Juniper Ambassador
    JNCIE-SP, JNCIE-ENT, JNCIE-DC, JNCIE-SEC
    JNCDS-DC, JNCIA-DevOps, JNCIP-CLOUD, CCNP-ENT