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: santi...@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."