RE: BGP channel add/remove
Hi Ondrej, It's great, thanks. Thanks Arvin -Original Message- From: Ondrej Zajicek Sent: Wednesday, June 27, 2018 6:53 PM To: Arvin Gan Cc: bird-users@network.cz Subject: Re: BGP channel add/remove On Tue, Jun 26, 2018 at 10:43:59AM +, 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."
Re: BGP channel add/remove
On Tue, Jun 26, 2018 at 01:28:08PM +0200, Martin Mares wrote: > Hi, > > > Perhaps we should trigger restart when BGP channels are added/removed > > and keep current behavior for 'configure soft'. > > yes, please. "configure" was always intended to switch to a new > configuration, even in cases when it requires protocol restarts. OK, i will fix this. -- 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."
Re: BGP channel add/remove
On Tue, Jun 26, 2018 at 10:43:59AM +, 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."
Re: BGP channel add/remove
On Mon, Jun 25, 2018 at 07:23:09AM +, Arvin Gan wrote: > Hi All, > After investigate the codes for command "configure", found that when > delete/add channel, 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) 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. Although it could be probably hacked in general bgp_reconfigure() hook. -- 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."
RE: BGP channel add/remove
Hi All, After investigate the codes for command "configure", found that when delete/add channel, 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) Is my understand correct ? Thanks Arvin From: Arvin Gan Sent: Friday, June 22, 2018 5:23 PM To: bird-users@network.cz Subject: BGP channel add/remove Hi All, I am using Bird 2.0.2 version, I create a BGP instance with one channel IPV4, that all work normally. Then I modified configuration file and add new channel IPV6, and using command "configure" under birdc , found the new added channel IPV6 is not announced to peer and channel ipv6 is down state. Then I used "restart bgp", all channels IPV4 and IPV6 are announced, work normally. I also do another test that delete channel in configure file and used "configure", it work normally. Anyone know the difference of actions between "configure" and "restart "? The command "configure" can dynamically modify the BGP protocol configuration, cant the action "configure" re-announce the added/removed capability to peer to update ? Appreciated your help in advance.. Thanks Arvin
BGP channel add/remove
Hi All, I am using Bird 2.0.2 version, I create a BGP instance with one channel IPV4, that all work normally. Then I modified configuration file and add new channel IPV6, and using command "configure" under birdc , found the new added channel IPV6 is not announced to peer and channel ipv6 is down state. Then I used "restart bgp", all channels IPV4 and IPV6 are announced, work normally. I also do another test that delete channel in configure file and used "configure", it work normally. Anyone know the difference of actions between "configure" and "restart "? The command "configure" can dynamically modify the BGP protocol configuration, cant the action "configure" re-announce the added/removed capability to peer to update ? Appreciated your help in advance.. Thanks Arvin