Hi there,

I'm trying to setup iBGP peering with a cisco router which is giving me an 
"invalid open message" that I can't seem to fix.

- The same router is peering with Juniper and other bird 1.6.3 routers without 
issues.
- The router is also doing IPv6 based peering with all the other routers, which 
gives the exact same scenario as with IPv4.


The relevant parts of the config look as follows (actual IP and AS spaces 
replaced with private spaces):

-----< cut here >-----
router id 10.0.0.1;

protocol static default_v4
{
    ipv4 {
        preference 50;
    };
    route 0.0.0.0/0 unreachable;
}

filter bgp_in_v4
{
    if net ~ [ 10.1.0.0/28 ] then accept;
    reject;
}

template bgp type1_v4
{
    direct;
    local 10.0.0.1 as 64512;

    ipv4 {
        export where proto = "default_v4";
        import filter bgp_in_v4;
        import keep filtered;
    };
}

protocol bgp peer_type1a_v4 from type1_v4 {
    neighbor 10.0.0.2 as 64512;
}
-----< cut here >-----

The debug messages I'm getting are these:
-----< cut here >-----
2019-03-08 11:02:33.199 <TRACE> peer_type1a_v4: Incoming connection from 
10.0.0.2 (port 18581) accepted
2019-03-08 11:02:33.199 <TRACE> peer_type1a_v4: Sending 
OPEN(ver=4,as=64512,hold=240,id=0a000001)
2019-03-08 11:02:33.200 <TRACE> peer_type1a_v4: Got 
OPEN(as=64512,hold=180,id=10.0.0.2)
2019-03-08 11:02:33.200 <TRACE> peer_type1a_v4: Sending KEEPALIVE
2019-03-08 11:02:33.201 <RMT> peer_type1a_v4: Received: Invalid OPEN message
2019-03-08 11:02:33.201 <TRACE> peer_type1a_v4: State changed to stop
2019-03-08 11:02:33.201 <TRACE> peer_type1a_v4: Down
-----< cut here >-----

My suspicion is that the ipv6 like address representation in the sent open 
message router id might confuse the cisco.

So the opening message we're sending seems to be having the router id 
represented in hex form, like 32 bits of an IPv6 address.

Is this correct, and is there a way to either fix or work around this?

Many thanks!

Marco van Tol


Reply via email to