ospf interoperability problems with cisco and other errors

Csaba Szép csszep at gmail.com
Sat Oct 3 19:39:55 CEST 2009


Hi All!

I'm a very new bird user, but i have some problems with cisco 7200 router.

First, the HELLO packet ignored with "Bad OSPF hello packet from
1.0.0.1 received: options mismatch (0x12)." if i use the cisco default
ospf configuration.

With "ip ospf lls disable" option everything is ok.

Second, i advertise some alias IP from the pc to the cisco router, but
if i remove the alias address from the interface some OSPF routes
still present in the cisco router.


Here is the relevant configuration:

Cisco 7200 12.2(28)SB5

interface Loopback0
 ip address 3.0.0.1 255.255.255.255
!
interface FastEthernet0/0
 ip address 1.0.0.1 255.255.255.0
 ip ospf message-digest-key 1 md5 benabela
 ip ospf lls disable
 duplex full
!
router ospf 1
 log-adjacency-changes
 area 0.0.0.0 authentication message-digest
 network 1.0.0.0 0.0.0.255 area 0.0.0.0
 default-information originate
!
ip classless
ip route 0.0.0.0 0.0.0.0 Loopback0

Bird 1.1.4

protocol kernel {
        learn;
        scan time 20;
        import all;
        export none;

}

protocol device {
        scan time 10;
}

protocol ospf ospf1 {
        debug { routes,filters };
        export filter {
                if net ~ 192.0.2.0/24 then accept;
                reject;
        };
        area 0.0.0.0 {
                interface "tap1" {
                        authentication cryptographic;
                        password "benabela";
                };
        };
};

ip addr show output without alias adresses:

22: tap1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 500
    link/ether 00:ff:1a:ea:21:0c brd ff:ff:ff:ff:ff:ff
    inet 1.0.0.2/24 brd 1.0.0.255 scope global tap1
    inet6 fe80::2ff:1aff:feea:210c/64 scope link
       valid_lft forever preferred_lft forever

The tap1 and cisco fa0/0 is bridged.

The tap1:0 and tap1:1 alias ip now not present (earlier i up and down
the alias interfaces) , but cisco show this:

     1.0.0.0/24 is subnetted, 1 subnets
C       1.0.0.0 is directly connected, FastEthernet0/0
     3.0.0.0/32 is subnetted, 1 subnets
C       3.0.0.1 is directly connected, Loopback0
O E2 192.0.2.0/24 [110/10000] via 1.0.0.2, 00:28:35, FastEthernet0/0
S*   0.0.0.0/0 is directly connected, Loopback0

Bird show this:

bird> sh route
0.0.0.0/0          via 1.0.0.1 on tap1 [ospf1 17:47] E2 (150/10/1) [1]
                   via 10.1.16.1 on eth0 [kernel1 17:44] (10)
1.0.0.0/24         dev tap1 [direct1 17:44] (240)
                   dev tap1 [ospf1 17:47] I (150/10)
2.0.0.0/24         dev tap2 [direct1 17:44] (240)
                   dev tap2 [ospf2 17:44] I (150/10)
10.1.16.0/20       dev eth0 [direct1 17:44] (240)
127.0.0.0/8        dev lo [direct1 17:44] (240)
192.168.252.0/24   dev vmnet2 [direct1 17:44] (240)
192.168.253.0/24   dev vmnet1 [direct1 17:44] (240)
192.168.254.0/24   dev vmnet8 [direct1 17:44] (240)

If i up the tap1:0 and tap1:1

22: tap1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 500
    link/ether 00:ff:1a:ea:21:0c brd ff:ff:ff:ff:ff:ff
    inet 1.0.0.2/24 brd 1.0.0.255 scope global tap1
    inet 192.0.2.1/32 brd 192.0.2.255 scope global tap1:0
    inet 192.0.2.2/32 brd 192.0.2.255 scope global tap1:1
    inet6 fe80::2ff:1aff:feea:210c/64 scope link
       valid_lft forever preferred_lft forever



bird show this:

bird> show route
0.0.0.0/0          via 1.0.0.1 on tap1 [ospf1 17:47] E2 (150/10/1) [1]
                   via 10.1.16.1 on eth0 [kernel1 17:44] (10)
1.0.0.0/24         dev tap1 [direct1 17:44] (240)
                   dev tap1 [ospf1 17:47] I (150/10)
2.0.0.0/24         dev tap2 [direct1 17:44] (240)
                   dev tap2 [ospf2 17:44] I (150/10)
10.1.16.0/20       dev eth0 [direct1 17:44] (240)
127.0.0.0/8        dev lo [direct1 17:44] (240)
192.168.252.0/24   dev vmnet2 [direct1 17:44] (240)
192.168.253.0/24   dev vmnet1 [direct1 17:44] (240)
192.168.254.0/24   dev vmnet8 [direct1 17:44] (240)
192.0.2.1/32       dev tap1 [direct1 18:26] (240)
192.0.2.2/32       dev tap1 [direct1 18:27] (240)


cisco show this:

     1.0.0.0/24 is subnetted, 1 subnets
C       1.0.0.0 is directly connected, FastEthernet0/0
     3.0.0.0/32 is subnetted, 1 subnets
C       3.0.0.1 is directly connected, Loopback0
     192.0.2.0/24 is variably subnetted, 3 subnets, 2 masks
O E2    192.0.2.2/32 [110/10000] via 1.0.0.2, 00:00:40, FastEthernet0/0
O E2    192.0.2.0/24 [110/10000] via 1.0.0.2, 00:00:40, FastEthernet0/0
O E2    192.0.2.1/32 [110/10000] via 1.0.0.2, 00:00:40, FastEthernet0/0
S*   0.0.0.0/0 is directly connected, Loopback0

Down the tap alias  interfaces:

bird> show route
0.0.0.0/0          via 1.0.0.1 on tap1 [ospf1 17:47] E2 (150/10/1) [1]
                   via 10.1.16.1 on eth0 [kernel1 17:44] (10)
1.0.0.0/24         dev tap1 [direct1 17:44] (240)
                   dev tap1 [ospf1 17:47] I (150/10)
2.0.0.0/24         dev tap2 [direct1 17:44] (240)
                   dev tap2 [ospf2 17:44] I (150/10)
10.1.16.0/20       dev eth0 [direct1 17:44] (240)
127.0.0.0/8        dev lo [direct1 17:44] (240)
192.168.252.0/24   dev vmnet2 [direct1 17:44] (240)
192.168.253.0/24   dev vmnet1 [direct1 17:44] (240)
192.168.254.0/24   dev vmnet8 [direct1 17:44] (240)

But cisco still present some bad routes:

     1.0.0.0/24 is subnetted, 1 subnets
C       1.0.0.0 is directly connected, FastEthernet0/0
     3.0.0.0/32 is subnetted, 1 subnets
C       3.0.0.1 is directly connected, Loopback0
O E2 192.0.2.0/24 [110/10000] via 1.0.0.2, 00:04:18, FastEthernet0/0
S*   0.0.0.0/0 is directly connected, Loopback0


So what is the problem?

Some debug output from bird:


bird: ospf1 < added 192.0.2.0/24 dev tap1
bird: ospf1 < removed 192.0.2.0/24 dev tap1
bird: ospf1 < added 192.0.2.1/32 dev tap1
bird: ospf1 < removed 192.0.2.1/32 dev tap1
bird: ospf1 < added 192.0.2.0/24 dev tap1
bird: ospf1 < removed 192.0.2.0/24 dev tap1
bird: ospf1 < added 192.0.2.0/24 dev tap1
bird: ospf1 < removed 192.0.2.0/24 dev tap1
bird: ospf1 < added 192.0.2.2/32 dev tap1
bird: ospf1 < removed 192.0.2.1/32 dev tap1
bird: ospf1 < removed 192.0.2.2/32 dev tap1

So why produced bird these lines with /24 prefix?:

bird: ospf1 < added 192.0.2.0/24 dev tap1
bird: ospf1 < removed 192.0.2.0/24 dev tap1


Thx
Csszep




More information about the Bird-users mailing list