[quagga-dev 1071] BGP and ORIGIN (UNH IOL Test BGP-4.1.10)
hasso at estpak.ee
Thu Apr 22 07:52:40 BST 2004
My coworker Rivo Nurges tried to fix BGP-4.1.10a failure and
discovered that things are quite messy. After some discussion he
asked me to summarize our findings.
a) ORIGIN (Type Code 1):
ORIGIN is a well-known mandatory attribute that defines the
origin of the path information. The data octet can assume
the following values:
0 IGP - Network Layer Reachability Information
is interior to the originating AS
1 EGP - Network Layer Reachability Information
learned via the EGP protocol [RFC904]
2 INCOMPLETE - Network Layer Reachability
Information learned by some other means
EGP stuff is clear (most of routers today don't support RFC904
But IGP vs. INCOMPLETE leaves enough room for interpretation and
vendors seem to use this room with full power:
Cisco - only routes which are specified with with "network x.x.x.x/x"
statements will have origin IGP, all other stuff (routes
redistributed into BGP) will have origin INCOMPLETE. This is how
Quagga bgpd behaves as well.
Logic behind this is probably - "we put IGP only to routes we know
100% that they are interior to the our AS, we can't be so sure about
ospf etc routes, they might be redistributed into ospf from eBGP by
Juniper - all routes router originates into BGP, no matter is it via
redistribution ospf, is-is, static or connected routes, will get
Logic probably - "If you are crazy enough to redistribute routes from
IGP into eBGP, you have to really know that all this stuff is
interior to the your AS".
UNH IOL test - as I read it, routes redistributed from ospf/is-is/rip
etc. should get origin IGP, but redistributed static (and connected?)
routes should get origin INCOMPLETE.
IMHO all interpretation have their own points and I can't say that any
of them are wrong. Just BGP-4 standard isn't specific enough. But if
all interpretations are correct (IMHO it would be nice to have some
sentences about it in standard), UNH IOL BGP-4.1.10 test is just
Elion Enterprises Ltd.
More information about the Quagga-dev