[PATCH] Add bgp's allowas-in feature.
Milan Kocian
milon at wq.cz
Mon Oct 21 15:19:35 CEST 2013
On Fri, Oct 18, 2013 at 03:33:45PM +0400, Alexander V. Chernikov wrote:
> On 18.10.2013 15:23, Milan Kocian wrote:
> >Sometimes its useful feature. So make it optional per bgp protocol.
> >Based on hint http://permalink.gmane.org/gmane.network.bird.user/944
> >
> >Signed-off-by: Milan Kocian <milon at wq.cz>
> >---
> > proto/bgp/attrs.c | 5 +++--
> > proto/bgp/bgp.h | 1 +
> > proto/bgp/config.Y | 4 +++-
> > 3 files changed, 7 insertions(+), 3 deletions(-)
> >
> >diff --git a/proto/bgp/attrs.c b/proto/bgp/attrs.c
> >index c27a498..27a2694 100644
> >--- a/proto/bgp/attrs.c
> >+++ b/proto/bgp/attrs.c
> >@@ -1704,8 +1704,9 @@ bgp_decode_attrs(struct bgp_conn *conn, byte *attr, unsigned int len, struct lin
> > bgp_remove_as4_attrs(bgp, a);
> > /* If the AS path attribute contains our AS, reject the routes */
> >- if (bgp_as_path_loopy(bgp, a))
> >- goto withdraw;
> >+ if (!bgp->cf->allow_as_in)
> >+ if (bgp_as_path_loopy(bgp, a))
> >+ goto withdraw;
> Removing loop check at all is wrong (as it can lead to real loops).
> Typical implementation include configurable maximum number of local
> ASn that can be contained in path.
>
Sorry for late reply (I lost bird's emails in wrong folder).
I am happy with santiago's solution.
Many thanks.
--
Milan Kocian
More information about the Bird-users
mailing list