Hi Ondrej, It's great, thanks. Thanks Arvin -----Original Message----- From: Ondrej Zajicek <santiago@crfreenet.org> Sent: Wednesday, June 27, 2018 6:53 PM To: Arvin Gan <AGan@advaoptical.com> Cc: bird-users@network.cz Subject: Re: BGP channel add/remove On Tue, Jun 26, 2018 at 10:43:59AM +0000, Arvin Gan wrote:
Hi Ondrej, Thanks for your response. As my code investigated, the function proto_configure_channel() always return value "1" , that mean the same is true in function bgp_reconfigure(), line 917 of proto.c will ignore the change(add/delete channel)... But if we modify others bgp configuration, i.e, ext_next_hop, the function bgp_reconfigure will return 0, (), line 917 of proto.c will continue to process as PDC_CF_RESTART, is my understand correct ?
Yes. But the main problem is that generally the infrastructure for adding/removing channels during reconfigure is insufficient to handle that properly. Protocol-specific code can decide whether to force-restart channel in e.g. bgp_channel_reconfigure() for channel reconfiguration, but not for channel add/remove.
As your mentioned, any plan to optimize add/remove channel process for command "configure" ?
Yes, we should design and implement proper hooks to handle this. Although it could be probably hacked in general bgp_reconfigure() hook currently. -- Elen sila lumenn' omentielvo Ondrej 'Santiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."