On 10/04/06, tony sarendal <[EMAIL PROTECTED]> wrote: > > > > On 10/04/06, Henning Brauer <[EMAIL PROTECTED]> wrote: > > > > * tony sarendal <[EMAIL PROTECTED]> [2006-04-08 00:51]: > > > It looks like bgpd has a problem with validating nexthop on new > > interfaces > > > when they are created. > > > A flap of the interface or restarting bgpd makes nexthop validate. > > > I have only tested with vlan interfaces. > > > > bizarre. I was able to see - let's call it "something odd" when I tried > > to reproduce that from home earlier this morning. Now I am completly > > unable to reproduce - it works just like it should. the RTM_IFANNOUNCE > > message that tells us about the new interface is directly followed by a > > RTM_IFINFO one giving us linkstate and the like and thus everything > > gets set allright. > > please: > > -run bgpd -d while doing this, and show output > > -run 'route monitor' as well > > > > > Here is the output from bgpd -d and route monitor on a > router named cr203-STO when I add a new link and a peering. > > bgpd is up and running before I add the link and the peering. > > > cr203-STO# bgpd -d^M > startup > route decision engine ready > listening on 0.0.0.0 > listening on :: > session engine ready > neighbor 172.16.1.5 : state change None -> Idle, reason: None > neighbor 172.16.1.5: state change Idle -> Connect, reason: Start > neighbor 172.16.1.5: state change Connect -> OpenSent, reason: Connection > opened > neighbor 172.16.1.5: state change OpenSent -> OpenConfirm, reason: OPEN > message > received > neighbor 172.16.1.5: state change OpenConfirm -> Established, reason: > KEEPALIVE > message received > nexthop 172.16.1.5 now valid: directly connected > > > while starting bgpd route monitor ouputs: > > got message of size 160 on Mon Apr 10 17:02:28 2006 > RTM_ADD: Add Route: len 160, pid: 8599, seq 1, errno 0, > flags:<GATEWAY,DONE,PROTO1> > locks: inits: > sockaddrs: <DST,GATEWAY,NETMASK,LABEL> > 192.168.10.0 172.16.1.5 255.255.255.0 > got message of size 160 on Mon Apr 10 17:02:28 2006 > RTM_ADD: Add Route: len 160, pid: 8599, seq 2, errno 0, > flags:<GATEWAY,DONE,PROTO1> > locks: inits: > sockaddrs: <DST,GATEWAY,NETMASK,LABEL> > 172.16.1.0 172.16.1.5 255.255.255.252 > got message of size 160 on Mon Apr 10 17:02:28 2006 > RTM_ADD: Add Route: len 160, pid: 8599, seq 3, errno 0, > flags:<GATEWAY,DONE,PROTO1> > locks: inits: > sockaddrs: <DST,GATEWAY,NETMASK,LABEL> > 172.16.0.1 172.16.1.5 255.255.255.255 > > > > I run "ifconfig vlan26 create" and route monitor outputs: > > got message of size 24 on Mon Apr 10 17:03:36 2006 > RTM_IFANNOUNCE: iface arrival/departure: len 24, if# 13, name vlan26, > what: arrival > > > > I run " ifconfig vlan26 vlan 26 vlandev pcn1" and route monitor outputs: > > got message of size 96 on Mon Apr 10 17:04:02 2006 > RTM_NEWADDR: address being added to iface: len 96, metric 0, flags: > sockaddrs: <NETMASK,IFP,IFA> > ffff:ffff:ffff:ffff:: 00:0c:29:25:74:9f fe80::20c:29ff:fe25:749f%vlan26 > got message of size 124 on Mon Apr 10 17:04:02 2006 > RTM_ADD: Add Route: len 124, pid: 0, seq 0, errno 0, > flags:<UP,HOST,LLINFO> > locks: inits: > sockaddrs: <DST,GATEWAY> > fe80::20c:29ff:fe25:749f%vlan26 00:0c:29:25:74:9f > got message of size 188 on Mon Apr 10 17:04:02 2006 > RTM_ADD: Add Route: len 188, pid: 0, seq 0, errno 0, > flags:<UP,DONE,CLONING> > locks: inits: > sockaddrs: <DST,GATEWAY,NETMASK,IFP,IFA> > fe80::%vlan26 link#13 (255) Qff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff00:0c:29:25: > 74:9f fe80::20c:29ff:fe25:749f%vlan26 > > > I run "ifconfig vlan26 10.1.1.37 netmask 255.255.255.252" and route > monitor outputs: > > got message of size 80 on Mon Apr 10 17:04:52 2006 > RTM_NEWADDR: address being added to iface: len 80, metric 0, > flags:<CLONING> > sockaddrs: <NETMASK,IFP,IFA,BRD> > (0) Q00.00.ff.ff.ff.fc 00:0c:29:25:74:9f 10.1.1.37 10.1.1.39 > got message of size 120 on Mon Apr 10 17:04:52 2006 > RTM_ADD: Add Route: len 120, pid: 0, seq 0, errno 0, flags:<UP,CLONING> > locks: inits: > sockaddrs: <DST,GATEWAY,NETMASK> > 10.1.1.36 link#13 (255) Qff.ff.ff.ff.ff.fc > > > > I add peering on remote end: > > group "ibgp" { > remote-as 65000 > route-reflector > set metric +100 > set nexthop self > holdtime 10 > neighbor 172.16.1.17 { > local-address 172.16.1.18 > } > > neighbor 10.1.1.37 { > local-address 10.1.1.38 > } > } > > I reload remote bgpd. > > bgpd -d outputs: > > connection from non-peer 10.1.1.38 refused > > route monitor outputs: > > got message of size 148 on Mon Apr 10 17:05:52 2006 > RTM_ADD: Add Route: len 148, pid: 0, seq 0, errno 0, > flags:<UP,HOST,DONE,LLINFO,CLON > ED> > locks: inits: > sockaddrs: <DST,GATEWAY,IFP,IFA> > 10.1.1.38 link#13 00:0c:29:25:74:9f 10.1.1.37 > > > > > I add peering on local router: > > group "ibgp" { > remote-as 65000 > route-reflector > set metric +100 > set nexthop self > holdtime 10 > neighbor 172.16.1.5 { > local-address 172.16.1.6 > } > neighbor 10.1.1.38 { > local-address 10.1.1.37 > } > } > > > > I reload local bgpd. > > bgpd -d reports: > > rereading config > nexthop 172.16.1.5 now valid: directly connected > SE reconfigured > neighbor 10.1.1.38: state change None -> Idle, reason: None > neighbor 10.1.1.38: state change Idle -> Connect, reason: Start > RDE reconfigured > neighbor 10.1.1.38: state change Connect -> OpenSent, reason: Connection > opened > neighbor 10.1.1.38: state change OpenSent -> OpenConfirm, reason: OPEN > message r > eceived > neighbor 10.1.1.38: state change OpenConfirm -> Established, reason: > KEEPALIVE m > essage received > > > route monitor reports: > > got message of size 152 on Mon Apr 10 17:06:51 2006 > RTM_DELETE: Delete Route: len 152, pid: 8599, seq 4, errno 0, > flags:<GATEWAY,DONE,PR > OTO1> > locks: inits: > sockaddrs: <DST,GATEWAY,NETMASK,LABEL> > 192.168.10.0 172.16.1.5 (255) Qff.ff.ff.ff.ff > got message of size 160 on Mon Apr 10 17:06:51 2006 > RTM_ADD: Add Route: len 160, pid: 8599, seq 5, errno 0, > flags:<GATEWAY,DONE,PROTO1> > locks: inits: > sockaddrs: <DST,GATEWAY,NETMASK,LABEL> > 192.168.10.0 172.16.1.5 255.255.255.0 > got message of size 152 on Mon Apr 10 17:06:51 2006 > RTM_DELETE: Delete Route: len 152, pid: 8599, seq 6, errno 0, > flags:<GATEWAY,DONE,PR > OTO1> > locks: inits: > sockaddrs: <DST,GATEWAY,NETMASK,LABEL> > 172.16.1.0 172.16.1.5 (255) Qff.ff.ff.ff.ff.fc > got message of size 160 on Mon Apr 10 17:06:51 2006 > RTM_ADD: Add Route: len 160, pid: 8599, seq 7, errno 0, > flags:<GATEWAY,DONE,PROTO1> > locks: inits: > sockaddrs: <DST,GATEWAY,NETMASK,LABEL> > 172.16.1.0 172.16.1.5 255.255.255.252 > got message of size 152 on Mon Apr 10 17:06:51 2006 > RTM_DELETE: Delete Route: len 152, pid: 8599, seq 8, errno 0, > flags:<GATEWAY,DONE,PR > OTO1> > locks: inits: > sockaddrs: <DST,GATEWAY,NETMASK,LABEL> > 172.16.0.1 172.16.1.5 (255) Qff.ff.ff.ff.ff.ff > got message of size 160 on Mon Apr 10 17:06:51 2006 > RTM_ADD: Add Route: len 160, pid: 8599, seq 9, errno 0, > flags:<GATEWAY,DONE,PROTO1> > locks: inits: > sockaddrs: <DST,GATEWAY,NETMASK,LABEL> > 172.16.0.1 172.16.1.5 255.255.255.255 > > > > cr203-STO# bgpctl sh next > Nexthop State > 10.1.1.38 invalid vlan26 > 172.16.1.5 valid vlan12 UP, Ethernet, unknown > cr203-STO# > > Nexthop 10.1.1.38 is invalid. > > I now flap the interface: > > cr203-STO# ifconfig vlan26 down; ifconfig vlan26 up > > bgpd -d reports: > > nexthop 10.1.1.38 now valid: directly connected > > route monitor reports: > > got message of size 84 on Mon Apr 10 17:08:17 2006 > RTM_IFINFO: iface status change: len 84, if# 13, name: vlan26, link: > unknown, flags: > <BROADCAST,RUNNING,SIMPLEX,MULTICAST> > got message of size 84 on Mon Apr 10 17:08:17 2006 > RTM_IFINFO: iface status change: len 84, if# 13, name: vlan26, link: > unknown, flags: > <UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> > got message of size 160 on Mon Apr 10 17:08:17 2006 > RTM_ADD: Add Route: len 160, pid: 8599, seq 10, errno 0, > flags:<GATEWAY,DONE,PROTO1> > locks: inits: > sockaddrs: <DST,GATEWAY,NETMASK,LABEL> > 192.168.30.0 10.1.1.38 255.255.255.0 > got message of size 160 on Mon Apr 10 17:08:17 2006 > RTM_ADD: Add Route: len 160, pid: 8599, seq 11, errno 0, > flags:<GATEWAY,DONE,PROTO1> > locks: inits: > sockaddrs: <DST,GATEWAY,NETMASK,LABEL> > 172.16.1.20 10.1.1.38 255.255.255.252 > got message of size 160 on Mon Apr 10 17:08:17 2006 > RTM_ADD: Add Route: len 160, pid: 8599, seq 12, errno 0, > flags:<GATEWAY,DONE,PROTO1> > locks: inits: > sockaddrs: <DST,GATEWAY,NETMASK,LABEL> > 172.16.0.3 10.1.1.38 255.255.255.255 > got message of size 160 on Mon Apr 10 17:08:17 2006 > RTM_ADD: Add Route: len 160, pid: 8599, seq 13, errno 0, > flags:<GATEWAY,DONE,PROTO1> > locks: inits: > sockaddrs: <DST,GATEWAY,NETMASK,LABEL> > 172.16.1.16 10.1.1.38 255.255.255.252 > got message of size 160 on Mon Apr 10 17:08:17 2006 > RTM_ADD: Add Route: len 160, pid: 8599, seq 14, errno 0, > flags:<GATEWAY,DONE,PROTO1> > locks: inits: > sockaddrs: <DST,GATEWAY,NETMASK,LABEL> > 10.1.1.28 10.1.1.38 255.255.255.252 > got message of size 160 on Mon Apr 10 17:08:17 2006 > RTM_ADD: Add Route: len 160, pid: 8599, seq 15, errno 0, > flags:<GATEWAY,DONE,PROTO1> > locks: inits: > sockaddrs: <DST,GATEWAY,NETMASK,LABEL> > 10.1.1.24 10.1.1.38 255.255.255.252 > got message of size 160 on Mon Apr 10 17:08:17 2006 > RTM_ADD: Add Route: len 160, pid: 8599, seq 16, errno 0, > flags:<GATEWAY,DONE,PROTO1> > locks: inits: > sockaddrs: <DST,GATEWAY,NETMASK,LABEL> > 10.0.0.7 10.1.1.38 255.255.255.255 > > > cr203-STO# bgpctl sh next > Nexthop State > 10.1.1.38 valid vlan26 UP, Ethernet, unknown > 172.16.1.5 valid vlan12 UP, Ethernet, unknown > cr203-STO# > > > nexthop 10.1.1.38 is now valid. > > > > The same thing happens every time. > > I run bgpd from current last week with patches for next-hop self, > backwards originator-id and attr_something crash fix. > > The testing is done in vmware boxes. > Any other info you want just let me know. > > /Tony >
This is without the patch you posted by the way, I'll smack it in when I get home later tonight. /Tony