BGP-"keep all"

zrchengzrcheng Member Posts: 44 ■■□□□□□□□□
Anybody tried BGP section "keep all", any luck? I tried, seems nothing different.

Comments

  • zoidbergzoidberg Member Posts: 365 ■■■■□□□□□□
    It's worked fine for me the couple times I've used it. How are you using and verifying it?
  • zrchengzrcheng Member Posts: 44 ■■□□□□□□□□
    For example:

    A(AS100)
    B(AS200).

    on A generate 4 static routes and export to BGP, B generate 4 routes and export to BGP.
    1: on A side, use "show route receive-route bgp nei " to check the route, there are 4 routes which coming from B.
    2: on A side, use "keep all", "show route receive-route bgp nei " to check the route, there are still 4 routes which coming from B. no hidden routes.

    I tried on olive and J-2300. same issue.
  • zoidbergzoidberg Member Posts: 365 ■■■■□□□□□□
    This sounds like the correct behavior of BGP.

    I assume you have a single neighbor session between A and B.

    A will send it's routes to B.
    B will send it's routes to A.

    A will not send B's BGP routes back to B.
    B will not send A's BGP routes back to A.

    To see the keep all, you need to introduce a BGP loop somewhere.

    You may be able to try prepending AS100 on on routes before sending them to router A. This is obviously bad form and shouldn't be done, but I think JUNOS lets you get away with it, and will give you a chance to see keep all in action.
  • zrchengzrcheng Member Posts: 44 ■■□□□□□□□□
    on B, prepending AS100 on routes before sending them to router A.
    on A, use ""show route receive-route bgp nei" to check the routes.the routes not there. then use "show route receive-route bgp nei hidden" to check the routes.the routes are there.

    then on A, config "keep all"
    on A, use ""show route receive-route bgp nei" to check the routes.the routes not there. then use "show route receive-route bgp nei hidden" to check the routes.the routes are there.

    seems no difference.
  • zoidbergzoidberg Member Posts: 365 ■■■■□□□□□□
    I just tried it and it works as expected for me. Lab is currently on JUNOS 7.6, but I cannot imagine this behavior changing in newer versions. I suspect you may not be clearing your sessions between turning the keep all flag on and off.

    AS100 is receiving 2 routes from AS200. 1.1.1.1 (AS path 200) and 2.2.2.2 (AS path 100 200).

    Without keep all configured on AS100, it only sees 1.1.1.1 as being received, no hidden routes.

    With keep all configured on AS100, it sees both the 1.1.1.1 (200) and 2.2.2.2 (100 200) routes, with the 2.2.2.2 being hidden.

    When keep all is deactivated on AS100, both 1.1.1.1 and 2.2.2.2 (hidden) persist on the router UNTIL I soft-inbound clear the BGP session. Then, only 1.1.1.1 is visable on the router and 2.2.2.2 has disappeared and is no longer shown in the in the hidden routes.
    I activate keep all again on AS100, and 2.2.2.2 returns.
  • zrchengzrcheng Member Posts: 44 ■■□□□□□□□□
    thanks zoidberg.

    test again.

    "keep all" seems no difference in Olive(ver 7.2). but showed difference on real J-2300 (ver 8.5)
Sign In or Register to comment.