Support for BGP route reflection.
Hello Here is a patch adding support for BGP route reflection. Bird can be configured to be route reflector using 'rr client' in bgp protocol section. The protocol bgp { local as 1; neighbor 192.168.1.4 as 1; rr client; } I don't like it as it looks like the local bird is rr client of neighbor but it really means that the neighbor is rr client of the local bird. Any ideas? There are some miscellaneous differences in cluster list attribute handling connected with the fact how Bird handles more BGP neighbors (more independent instances of BGP), but they are insignificant. -- 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."
Hi!
Here is a patch adding support for BGP route reflection.
This is nice, but I would very much prefer having your previous patches integrated first. Could you please fix the problems I have pointed out? (Also, please update the documentation to reflect the changes in the code.) Have a nice fortnight -- Martin `MJ' Mares <mj@ucw.cz> http://mj.ucw.cz/ Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth The first myth of management is that it exists.
On Mon, Oct 13, 2008 at 10:18:40PM +0200, Martin Mares wrote:
Hi!
Here is a patch adding support for BGP route reflection.
This is nice, but I would very much prefer having your previous patches integrated first. Could you please fix the problems I have pointed out?
Fixes are attached as patch following bird-md5.diff . Or should i send corrected original patches? 'disable-AS4 per BGP instance' option is not implemented yet, but is on top of my TODO list. BTW, in bgp_rte_better() we compare MEDs between routes from different ASes, although RFC says that MED is only comparable between routes learned from the same neighboring AS. Is this bug or some cleverness?
(Also, please update the documentation to reflect the changes in the code.)
OK -- 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."
Hi!
Fixes are attached as patch following bird-md5.diff . Or should i send corrected original patches?
Please send corrected original patches, it will be easier to follow in the history.
BTW, in bgp_rte_better() we compare MEDs between routes from different ASes, although RFC says that MED is only comparable between routes learned from the same neighboring AS. Is this bug or some cleverness?
The same-AS rule has been introduced in RFC 4271, which is much newer than the BGP code in BIRD. The tie breaking algorithm in RFC 1771 compares MEDs even for different ASes. Feel free to update the rules to reflect the current RFC. (If you have time, could you please check all differences between the RFCs?)
diff -uprN bird-as4-md5old/nest/attrs.h bird-as4-md5/nest/attrs.h --- bird-as4-md5old/nest/attrs.h 2008-10-13 23:41:05.000000000 +0200 +++ bird-as4-md5/nest/attrs.h 2008-10-07 19:04:14.000000000 +0200 @@ -17,6 +17,9 @@ #define AS_PATH_MAXLEN 10000
#define AS_TRANS 23456 +/* AS_TRANS is used when we need to store 32bit ASN larger than 0xFFFF + * to 16bit slot (like in 16bit AS_PATH). See RFC 4893 for details + */
struct adata *as_path_prepend(struct linpool *pool, struct adata *olda, u32 as); int as_path_convert_to_old(struct adata *path, byte *dst, int *new_used);
This has probably crept from the other patch. Have a nice fortnight -- Martin `MJ' Mares <mj@ucw.cz> http://mj.ucw.cz/ Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth Quidquid latine dictum sit, altum videtur.
On Tue, Oct 14, 2008 at 10:39:03AM +0200, Martin Mares wrote:
Hi!
Fixes are attached as patch following bird-md5.diff . Or should i send corrected original patches?
Please send corrected original patches, it will be easier to follow in the history.
OK, here they are.
BTW, in bgp_rte_better() we compare MEDs between routes from different ASes, although RFC says that MED is only comparable between routes learned from the same neighboring AS. Is this bug or some cleverness?
The same-AS rule has been introduced in RFC 4271, which is much newer than the BGP code in BIRD. The tie breaking algorithm in RFC 1771 compares MEDs even for different ASes.
Thank you for explanation, i will fix it. -- 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."
Hi!
OK, here they are.
The MD5 patch still lacks updates of the user documentation, otherwise it is fine. As for the AS4 patch, I still think that a global switch is a bad idea.
Thank you for explanation, i will fix it.
Thank you very much! Have a nice fortnight -- Martin `MJ' Mares <mj@ucw.cz> http://mj.ucw.cz/ Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth Black holes are where God divided by zero.
On Tue, Oct 14, 2008 at 12:14:24AM +0200, Ondrej Zajicek wrote:
On Mon, Oct 13, 2008 at 10:18:40PM +0200, Martin Mares wrote:
Hi!
Here is a patch adding support for BGP route reflection.
This is nice, but I would very much prefer having your previous patches integrated first. Could you please fix the problems I have pointed out?
Fixes are attached as patch following bird-md5.diff ...
Hi! I want to test the new MD5 code, is this patch good for that? -otto
On Tue, Oct 14, 2008 at 08:23:10AM -0600, Otto Solares wrote:
Hi!
I want to test the new MD5 code, is this patch good for that?
You can try both patches i sent in mail from '15 Oct 2008 23:57:42 +0200'. But these are against some development version of Bird, which is not publicly accessible. I uloaded it here: http://artax.karlin.mff.cuni.cz/~zajio1am/temp2/bird.tgz Password is configured by adding: password "XXX"; in a BGP section. -- 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."
participants (3)
-
Martin Mares -
Ondrej Zajicek -
Otto Solares