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