On 31/05/13 00:51, Stijn wrote:
Hi misc,

I've been playing with OSPF on OpenBSD and Cisco and there's something I can't get my head around. I hope someone is able to point my in the right direction.

Let me first explain the setup; output of the devices follows at the end.

I have a setup of two Cisco routers (IOS 12.4.25g) and one OpenBSD router (5.3 i386). All routers have an interface connected to area 0. The interfaces are defined as follows:
router1: fa0/0, 10.0.0.1/24
router2: fa0/0, 10.0.0.2/24
soekris: sis1, 10.0.0.3/24

Each router also have a loopback interface:
router1: lo1, 1.1.1.1
router2: lo1, 2.2.2.2
soekris: lo1, 3.3.3.3

On the "other" side of the routers I have defined a dedicated areafor each router:
router1: area 0.0.0.1
router2: area 0.0.0.2
soekris: area 0.0.0.3

In the dedicated area I've added the following interface:
router1: vlan101, 10.101.0.1/24
router2: vlan102, 10.102.0.1/24
soekris: sis2, 10.103.0.1/24

When I start ospfd, all routers are able to see each other. On soekris I'm also able to see the networks from the areas behind router1 and router2:
----
soekris:~# ospfctl sh nei
ID              Pri State        DeadTime Address Iface     Uptime
1.1.1.1         1   FULL/BCKUP   00:00:00 10.0.0.1 sis0 00:21:48
2.2.2.2         1   FULL/DR      00:00:00 10.0.0.2 sis0 00:21:43
----
soekris:~# ospfctl sh fib ospf
flags: * = valid, O = OSPF, C = Connected, S = Static
Flags  Prio Destination          Nexthop
*O       32 1.1.1.1/32           10.0.0.1
*O       32 2.2.2.2/32           10.0.0.2
*O       32 10.0.0.0/24          10.0.0.3
*O       32 10.101.0.0/24        10.0.0.1
*O       32 10.102.0.0/24        10.0.0.2
----

However on the Cisco routers I'm not able to see the dedicated network behind soekris:
----
router1#sh ip route ospf
     2.0.0.0/32 is subnetted, 1 subnets
O       2.2.2.2 [110/2] via 10.0.0.2, 00:21:48, FastEthernet0/0
     3.0.0.0/32 is subnetted, 1 subnets
O       3.3.3.3 [110/11] via 10.0.0.3, 00:21:48, FastEthernet0/0
     10.0.0.0/24 is subnetted, 3 subnets
O IA    10.102.0.0 [110/2] via 10.0.0.2, 00:21:48, FastEthernet0/0
----

When I add a secondary OpenBSD router (eeepc) behind soekris in area 0.0.0.3 (as a stub router) the networks in area 0.0.0.3 are shown on the Cisco routers (eeepc has 4.4.4.4 as loopback interface):
----
router1#sh ip route ospf
     2.0.0.0/32 is subnetted, 1 subnets
O       2.2.2.2 [110/2] via 10.0.0.2, 00:00:16, FastEthernet0/0
     3.0.0.0/32 is subnetted, 1 subnets
O       3.3.3.3 [110/11] via 10.0.0.3, 00:00:16, FastEthernet0/0
     4.0.0.0/32 is subnetted, 1 subnets
O IA    4.4.4.4 [110/21] via 10.0.0.3, 00:00:06, FastEthernet0/0
     10.0.0.0/24 is subnetted, 4 subnets
O IA    10.102.0.0 [110/2] via 10.0.0.2, 00:00:16, FastEthernet0/0
O IA    10.103.0.0 [110/11] via 10.0.0.3, 00:00:16, FastEthernet0/0
----

I've seen on the Cisco routers the following that might point to the cause of the issue(?) When eeepc is not active the Cisco router shows soekris as "ASBR":
----
router1#sh ip ospf border-routers

OSPF Process 1 internal Routing Table

Codes: i - Intra-area route, I - Inter-area route

i 2.2.2.2 [1] via 10.0.0.2, FastEthernet0/0, ABR, Area 0, SPF 37
i 3.3.3.3 [1] via 10.0.0.3, FastEthernet0/0, ASBR, Area 0, SPF 37
----

When eeepc is active the Cisco shows soekris as "ASR/ASBR" and routes from area 0.0.0.3 are available on the Cisco routers:
----
router1#sh ip ospf border-routers

OSPF Process 1 internal Routing Table

Codes: i - Intra-area route, I - Inter-area route

i 2.2.2.2 [1] via 10.0.0.2, FastEthernet0/0, ABR, Area 0, SPF 36
i 3.3.3.3 [1] via 10.0.0.3, FastEthernet0/0, ABR/ASBR, Area 0, SPF 36
----

So, now my question is: how can I get soekris to be seen as an ABR without using eeepc? Is it because the Cisco routers see soekris as an ASBR that they don't add 10.103.0.0/24 and 4.4.4.4/32 to their routing table? I also played with the rfc1583 compatibility mode but without luck.

Anybody have a clue how to solve this? Please let me know if you need any other output.

Thanks in advance,
Stijn

Here's the output of the ospf config and interfaces.

router1:
----
router ospf 1
 router-id 1.1.1.1
 no compatible rfc1583
 log-adjacency-changes
 passive-interface Vlan101
 network 1.1.1.1 0.0.0.0 area 0
 network 10.0.0.0 0.0.0.255 area 0
 network 10.101.0.0 0.0.0.255 area 1

interface FastEthernet0/0
 ip address 10.0.0.1 255.255.255.0
 ip ospf authentication message-digest
 ip ospf message-digest-key 1 md5 7 130A04020D5C
 ip ospf dead-interval minimal hello-multiplier 5
 duplex auto
 speed auto
end
----

router2:
----
router ospf 1
 router-id 2.2.2.2
 no compatible rfc1583
 log-adjacency-changes
 passive-interface Vlan102
 network 2.2.2.2 0.0.0.0 area 0
 network 10.0.0.0 0.0.0.255 area 0
 network 10.1.0.0 0.0.0.255 area 0
 network 10.102.0.0 0.0.0.255 area 2

interface FastEthernet0/0
 ip address 10.0.0.2 255.255.255.0
 ip ospf authentication message-digest
 ip ospf message-digest-key 1 md5 7 0504151F271C
 ip ospf dead-interval minimal hello-multiplier 5
 duplex auto
 speed auto
end
----

soekris:
----
soekris:~# ifconfig sis0
sis0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:00:24:c5:ef:9c
        priority: 0
        media: Ethernet autoselect (100baseTX full-duplex)
        status: active
        inet 10.0.0.3 netmask 0xffffff00 broadcast 10.0.0.255
        inet6 fe80::200:24ff:fec5:ef9c%sis0 prefixlen 64 scopeid 0x1
----
soekris:~# cat /etc/ospfd.conf
# $OpenBSD: ospfd.conf,v 1.4 2007/06/19 16:49:56 reyk Exp $

# macros

# global configuration
router-id 3.3.3.3
redistribute connected
fast-hello-interval msec 200
router-dead-time minimal
router-priority 3
rfc1583compat no

# areas
area 0.0.0.0 {
        interface sis0 {
                auth-type crypt
                auth-md 1 "ospf0"
                auth-md-keyid 1
        }
        interface sis1 {
                auth-type crypt
                auth-md 1 "ospf1"
                auth-md-keyid 1
        }
        interface lo1 {
                passive
        }
}
area 0.0.0.3 {
#       stub redistribute default
        interface sis2 {
                auth-type crypt
                auth-md 1 "ospf2"
                auth-md-keyid 1
        }
}
----
eeepc:
----
eeepc:~# cat /etc/ospfd.conf
# global configuration
router-id 4.4.4.4
fast-hello-interval msec 200
router-dead-time minimal
router-priority 0
rfc1583compat no

# areas
area 0.0.0.3 {
#       stub
        interface lii0 {
                auth-type crypt
                auth-md 1 "ospf2"
                auth-md-keyid 1
        }
        interface lo1 {
                passive
        }
}

FYI, eeepc is started as a stub router automatically because IP forwarding is not enabled.


I'm having the exact same issue.
http://marc.info/?l=openbsd-misc&m=136267654831883&w=2

If you use only area 0.0.0.0 then everything is advertised.

Stuart's guess (problem with DR/BDR selection) is probably correct.
Hope it's fixed soon...

G

Reply via email to