Hi Ondrej,
Thanks for your answer :).
I checked the RFC 4271 and RFC 4274, maybe what you said it's correct
behavior based on RFC4271, " The phrase "the BGP connection is closed" means
the TCP connection has been closed, the associated Adj-RIB-In has been cleared,
and all resources for that BGP connection have been deallocated. Entries in the
Loc-RIB associated with the remote peer are marked as invalid.The local system
recalculates its best routes for the destinations of the routes marked as
invalid. Before the invalid routes are deleted from the system, it advertises,
to its peers, either withdraws for the routes marked as invalid, or the new
best routes before the invalid routes are deleted from the system."
And RFC4274 said, "when the Receiving Speaker detects termination of the
TCP session for a BGP session with a peer that has advertised the Graceful
Restart Capability, it MUST retain the routes received from the peer for all
the address families that were previously received in the Graceful Restart
Capability and MUST mark them as stale routing information."
RFC4274 said that retain the routes received from the peer ......, my
understand is peer should retain routes in Adj-RIB-IN table and mark them as
stale. Normally, the BGP route in local-RIB or adj-RIB-out should come from
Adj-RIB-IN table. The behavior of BIRD for GR, BGP route is NOT in
adj-RIB-in, but in local-RIB or adj-RIB-out, I think it's not a complete
behavior. What's your opinion ?
Best Regards,
Arvin Gan
-----Original Message-----
From: Ondrej Zajicek <[email protected]>
Sent: Saturday, March 23, 2019 3:55 AM
To: Arvin Gan <[email protected]>
Cc: [email protected]
Subject: Re: BGP import_table & graceful restart issue
On Thu, Mar 21, 2019 at 05:54:00AM +0000, Arvin Gan wrote:
> Hi All,
> I am using BIRD 2.0.4, the configuration of bgp.ipv4 for import
> table and graceful restart are yes . when BGP remote peer is
> restarting, the graceful restart is detected by the local peer, using
> "show route protocols bgp1" on local peer, the route related with the
> restarting peer are exist, I think it's correct. But when I using
> "show route import table bgp1.ipv4" to show route for local peer Adj-RIB-In ,
> the route is
> empty, correct ? After the remote peer is restarted done, the local
> import table can be recovered.
>
> As RFC4274 description:
> "when the Receiving Speaker detects termination of the TCP session for
> a BGP session with a peer that has advertised the Graceful Restart
> Capability, it MUST retain the routes received from the peer for all
> the address families that were previously received in the Graceful
> Restart Capability and MUST mark them as stale routing information."
Hi
After graceful restart, BIRD retains the routes, but only in the master table,
not in the import table. That is intended and IMHO correct behavior.
--
Elen sila lumenn' omentielvo
Ondrej 'Santiago' Zajicek (email: [email protected]) OpenPGP encrypted
e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to
blame it on a computer is even more so."