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

Reply via email to