[j-nsp] Why JUNOS need re-establish neighbour relationship when configuring advertise-inactive

Saku Ytti saku at ytti.fi
Sat Jul 15 05:33:16 EDT 2017


Hey Roger,

Usually JunOS (like other platforms) resets session when you have to
change update group. If you'd have multiple neighbours under TO-VRx
sharing same export-policy and you'd add 'advertise-inactive' under
one of the neighbours, not under the group directly. I would expect to
see reset.

Pay attention to 'Index' in 'show bgp group' before and after.


On 15 July 2017 at 01:10, Roger Wiklund <roger.wiklund at gmail.com> wrote:
> Hi
>
> What version are you running? Is this on MX?
>
> Just for kicks I tried this setup on my SRX300 in packet mode running
> 15.1X49-D100, and it works without session reset.
> https://www.juniper.net/documentation/en_US/junos/topics/example/bgp-advertise-inactive.html
>
> The only difference is that I only have one single device with with
> VRs, then loopback cables between them.
>
> set interfaces ge-0/0/0 unit 0 family inet address 10.0.0.1/30
> set interfaces ge-0/0/1 unit 0 family inet address 10.0.0.2/30
> set interfaces ge-0/0/2 unit 0 family inet address 20.0.0.1/30
> set interfaces ge-0/0/3 unit 0 family inet address 20.0.0.2/30
>
> set policy-options policy-statement export-static term t1 from protocol static
> set policy-options policy-statement export-static term t1 then accept
> set policy-options policy-statement export-static term t2 then reject
>
> set routing-instances VR1 instance-type virtual-router
> set routing-instances VR1 interface ge-0/0/0.0
> set routing-instances VR1 routing-options static route 8.8.8.8/32 discard
> set routing-instances VR1 routing-options autonomous-system 100
> set routing-instances VR1 protocols bgp log-updown
> set routing-instances VR1 protocols bgp group TO-VR2 export export-static
> set routing-instances VR1 protocols bgp group TO-VR2 neighbor 10.0.0.2
> peer-as 200
>
> set routing-instances VR2 instance-type virtual-router
> set routing-instances VR2 interface ge-0/0/1.0
> set routing-instances VR2 interface ge-0/0/2.0
> set routing-instances VR2 routing-options static route 8.8.8.8/32 discard
> set routing-instances VR2 routing-options autonomous-system 200
> set routing-instances VR2 protocols bgp log-updown
> set routing-instances VR2 protocols bgp group TO-VR1 neighbor 10.0.0.1
> peer-as 100
> set routing-instances VR2 protocols bgp group TO-VR3 advertise-inactive
> set routing-instances VR2 protocols bgp group TO-VR3 neighbor 20.0.0.2
> peer-as 300
>
> set routing-instances VR3 instance-type virtual-router
> set routing-instances VR3 interface ge-0/0/3.0
> set routing-instances VR3 routing-options autonomous-system 300
> set routing-instances VR3 protocols bgp log-updown
> set routing-instances VR3 protocols bgp group TO-VR2 neighbor 20.0.0.1
> peer-as 200
>
> Before advertise-inactive:
>
> Groups: 4 Peers: 4 Down peers: 0
> Peer                     AS      InPkt     OutPkt    OutQ   Flaps Last
> Up/Dwn State|#Active/Received/Accepted/Damped...
> 10.0.0.1                100         33         32       0       0
>  11:52 Establ
>   VR2.inet.0: 0/1/1/0
> 10.0.0.2                200         31         33       0       0
>  11:52 Establ
>   VR1.inet.0: 0/0/0/0
> 20.0.0.1                200         10          8       0       0
>   2:22 Establ
>   VR3.inet.0: 0/0/0/0<-------------NO PREFIXES RECEIVED
> 20.0.0.2                300          7         10       0       0
>   2:22 Establ
>   VR2.inet.0: 0/0/0/0
>
> After advertise-inactive:
>
> Groups: 4 Peers: 4 Down peers: 0
> Peer                     AS      InPkt     OutPkt    OutQ   Flaps Last
> Up/Dwn State|#Active/Received/Accepted/Damped...
> 10.0.0.1                100         34         34       0       0
>  12:35 Establ
>   VR2.inet.0: 0/1/1/0
> 10.0.0.2                200         33         34       0       0
>  12:35 Establ
>   VR1.inet.0: 0/0/0/0
> 20.0.0.1                200         12          9       0       0
>   3:05 Establ
>   VR3.inet.0: 1/1/1/0<--------------1 PREFIX RECEIVED.
> 20.0.0.2                300          8         12       0       0
>   3:05 Establ
>   VR2.inet.0: 0/0/0/0
>
> As you can see no session reset.
>
> /Roger
>
> On Fri, Jul 14, 2017 at 10:02 AM,  <adamv0025 at netconsultings.com> wrote:
>>> Chen Jiang
>>> Sent: Friday, July 14, 2017 3:51 AM
>>>
>>> Hi! Experts
>>>
>>> Sorry for disturbing, I have noticed JUNOS will re-establish BGP neighbour
>>> relationship when configuring "advertise-inactive" under a neighbour. But
>>> from the packets captured from neighbour peer there is nothing changed
>>> when negotiated BGP relationship.
>>>
>>> I doubt is this a must behaviour when configuring "advertise-inactive" in
>>> BGP?
>>>
>> Because Junos BGP implementation is coming from "hey my home server can now
>> talk bgp" so some of the things that would be deemed unthinkable in a
>> routing system BGP implementation are normal in Junos, and what's worst
>> users don't seem to mind.
>>
>> Haven't you seen any new capability being advertised? That would be the only
>> sensible reason why to drop a session because of this. Though the only thing
>> I found was  draft-fletcher-bgp-inactive-path-00.txt
>>
>>
>> adam
>>
>> netconsultings.com
>> ::carrier-class solutions for the telecommunications industry::
>>
>> _______________________________________________
>> juniper-nsp mailing list juniper-nsp at puck.nether.net
>> https://puck.nether.net/mailman/listinfo/juniper-nsp
> _______________________________________________
> juniper-nsp mailing list juniper-nsp at puck.nether.net
> https://puck.nether.net/mailman/listinfo/juniper-nsp



-- 
  ++ytti


More information about the juniper-nsp mailing list