per engelbrecht wrote:
Q: setting up iBGP I've used our own AS as 'remote-as' but can't find a
'no synchronization' option for this connection. Do I need it at all.
Been poking around in /usr/src/usr.sbin/bgpd without solving it, but
it's needed in zebra and Cisco IOS hence the question.
A: ?
Using your own AS as an remote ASn will, per definition, make your BGP
session into an internal BGP session. In the Ciscoeee world, no
synchronization means to begin announcing your networks before higher
priority network protocols are up and stabilized. Without you will wait
for OSPF/IS-IS to stabilize first (For OSPF, there is a certain state in
its state machine it has to reach for all broadcast clouds etc).
However, in modern BGP setups, you screw OSPF/IS-IS royally and ignore
the stabilization. This is viable, since you ``nail down'' your networks
as CIDR aggregates (to minimize the number of BGP prefixes you announce)
and give a heck about internal reachability.
Oh, and while we are at Zebra: Its crap, kill it as soon as possible or
install quagga. Case in point:
mirah% pwd
/usr/ports/net/zebra/w-zebra-0.93ap3/zebra-0.93a/ospfd
mirah% grep OSPF_LSA_HEADER ospf_lsa.c
ospf_output_forward (s, OSPF_LSA_HEADER_SIZE);
assert (l1->data->length > OSPF_LSA_HEADER_SIZE);
if (memcmp (p1 + OSPF_LSA_HEADER_SIZE, p2 + OSPF_LSA_HEADER_SIZE,
ntohs( l1->data->length ) - OSPF_LSA_HEADER_SIZE) != 0)
mirah%
Lets see... On the last line, we have identified that l1->data->length
is in network byte order. But in the assert 2 lines up, we do _not_ have
a ntohs() call.
This took a medium sized ISP down in Denmark because Zebra suddenly died
due to the fact, that certain packets, if certain size, will be caught
by the assertion and ospfd gets to say hello to the kernel thread known
as reaper man.
Q: running ospf with all peers + carp intfaces in area 0.0.0.0 and
internal intfaces in area 0.0.0.1 (and from ospfd.conf)
[...]
fib-update yes
redistribute connected
[...]
This is about redistributing routes - will the above let BGP and OSPF
"play along" in the same way a 'redistribute ospf' in Zebra/Cisco IOS
A: ?
It will push directly connected routes into OSPF. That is, if the
machine has a network to which it has a direct connection in the routing
table, then the rest of your OSPF speakers will learn that this network
is reachable by going through this router.
redistribute ospf in Ciscoee in the BGP section of the router
configuration tells the IOS to take all OSPF learned routes and push
them into BGP. This can be extremely dangerous to do, depending on the
configuration.
Q: default gateway is added to the routing table after all interfaces
are configured. BGP is adding information into the routing table and so
does OSPF (updates). That's 3 times "redistributing" of routes between
different protocols and with 3 different administrative distances but
still in/from the same table. Since directly connected (0) or static (1)
connections are superior to e.g. eBGP (20) and OSPF (110) then should or
shouldn't /etc/mygate be removed from a BGP router before putting it
into production. Will it/can it mock the routing decision despite
'weight' in bgpd.conf due to the lower distance.
A: ?
A more specific route will always match.
Normally, you do not need to redistribute routes between the protocols
at all, considered all of your routers are running BGP as well as OSPF.
BGP will then handle prefixes for external networks and OSPF will handle
prefixes for internal ones in the case both BGP and OSPF have the route
then BGP wins -- but note the note about specific matches ;)