OSPF-over-FR as Non-broadcast

SepiraphSepiraph Member Posts: 179 ■■□□□□□□□□
According to documentation on OSPF-over-FR as Non-broadcast, one need to configure the 'neighbor statement' for OSPF to bring up the adjacent.

However in my GNS3 setup, I find that the adjacencies are formed even if I removed the neighbor statement

Diagram:

networkho.jpg

Config as follows:

R1
interface Serial0/0
 ip address 10.0.0.1 255.0.0.0
 encapsulation frame-relay
 serial restart-delay 0
 frame-relay map ip 10.0.0.4 104
 frame-relay map ip 10.0.0.5 105
!
interface FastEthernet1/0
 ip address 1.0.0.1 255.0.0.0
 duplex auto
 speed auto
!
router ospf 1
 log-adjacency-changes
 network 0.0.0.0 255.255.255.255 area 0
R4
interface Serial0/0
 ip address 10.0.0.4 255.0.0.0
 encapsulation frame-relay
 ip ospf priority 0
 serial restart-delay 0
 frame-relay map ip 10.0.0.1 401
 frame-relay map ip 10.0.0.5 401
 no frame-relay inverse-arp IP 405
!
interface FastEthernet1/0
 ip address 4.0.0.4 255.0.0.0
 duplex auto
 speed auto
!
router ospf 1
 log-adjacency-changes
 network 0.0.0.0 255.255.255.255 area 0
R5
 interface Serial0/0
 ip address 10.0.0.5 255.0.0.0
 encapsulation frame-relay
 ip ospf priority 0
 serial restart-delay 0
 frame-relay map ip 10.0.0.1 501
 frame-relay map ip 10.0.0.4 501
 no frame-relay inverse-arp IP 504
!
router ospf 1
 log-adjacency-changes
 network 0.0.0.0 255.255.255.255 area 0
It does shows at Non-broadcast network on all 3 but I clearly see the neighbor adjacent are up and the routing table shows O route (after clearing ospf process and routing table):
R1#show ip ospf interface
FastEthernet1/0 is up, line protocol is up

* omitted *

Serial0/0 is up, line protocol is up
  Internet Address 10.0.0.1/8, Area 0
  Process ID 1, Router ID 10.0.0.1, Network Type NON_BROADCAST, Cost: 64
  Transmit Delay is 1 sec, State DR, Priority 1
  Designated Router (ID) 10.0.0.1, Interface address 10.0.0.1
  No backup designated router on this network
  Timer intervals configured, Hello 30, Dead 120, Wait 120, Retransmit 5
    oob-resync timeout 120
    Hello due in 00:00:26
  Supports Link-local Signaling (LLS)
  Index 1/1, flood queue length 0
  Next 0x0(0)/0x0(0)
  Last flood scan length is 1, maximum is 3
  Last flood scan time is 0 msec, maximum is 4 msec
  Neighbor Count is 2, Adjacent neighbor count is 2
    Adjacent with neighbor 10.0.0.4
    Adjacent with neighbor 10.0.0.5
  Suppress hello for 0 neighbor(s)
 Neighbor ID     Pri   State           Dead Time   Address         Interface
10.0.0.4          0   FULL/DROTHER    00:01:39    10.0.0.4        Serial0/0
10.0.0.5          0   FULL/DROTHER    00:01:35    10.0.0.5        Serial0/0
R1#show frame-relay map
Serial0/0 (up): ip 10.0.0.4 dlci 104(0x68,0x1880), static,
              CISCO, status defined, active
Serial0/0 (up): ip 10.0.0.5 dlci 105(0x69,0x1890), static,
              CISCO, status defined, active
So why is it that even without the neighbor statement the adjacencies are still formed?

Comments

  • Forsaken_GAForsaken_GA Member Posts: 4,024
    did you clear the ospf process after you removed the neighbor statements?
  • Forsaken_GAForsaken_GA Member Posts: 4,024
    actually, you had me curious as to whether or not this might be gns3 funkiness, so I mocked it up on my rack.

    I had ospf adj debugging on, and as soon as I pulled the neighbor statements on the hub router, it immediately went through another election, and the adjacencies reformed.

    After I cleared the ospf process on the hub router, however, they stayed down.

    So I guess once the process knows how to talk to it's neighbors, it doesn't care if the neighbor statements are there or not

    My console log is below, as you can see, I only pulled the neighbor statement for 10.0.0.3, it took down all adjacencies, and then reformed them


    R1(config-router)#no neighbor 10.0.0.3
    R1(config-router)#
    *Mar 1 00:08:32.367: OSPF: 10.0.0.3 address 10.0.0.3 on Serial1/0 is dead, state DOWN
    *Mar 1 00:08:32.367: %OSPF-5-ADJCHG: Process 1, Nbr 10.0.0.3 on Serial1/0 from FULL to DOWN, Neighbor Down: Neighbor deconfigured
    R1(config-router)#
    *Mar 1 00:08:32.367: OSPF: Neighbor change Event on interface Serial1/0
    *Mar 1 00:08:32.367: OSPF: DR/BDR election on Serial1/0
    *Mar 1 00:08:32.367: OSPF: Elect BDR 10.0.0.1
    *Mar 1 00:08:32.367: OSPF: Elect DR 10.0.0.1
    *Mar 1 00:08:32.367: OSPF: Elect BDR 0.0.0.0
    *Mar 1 00:08:32.367: OSPF: Elect DR 10.0.0.1
    *Mar 1 00:08:32.371: DR: 10.0.0.1 (Id) BDR: none
    *Mar 1 00:08:32.371: OSPF: Reset Serial1/0 flush timer
    *Mar 1 00:08:32.371: OSPF: Remember old DR 0.0.0.0 (id)
    *Mar 1 00:08:32.784: OSPF: 2 Way Communication to 10.0.0.3 on Serial1/0, state 2WAY
    *Mar 1 00:08:32.784: OSPF: Neighbor change Event on interface Serial1/0
    *Mar 1 00:08:32.784: OSPF: DR/BDR election on Serial1/0
    *Mar 1 00:08:32.788: OSPF: Elect BDR 0.0.0.0
    *Mar 1 00:08:32.788: OSPF: Elect DR 10.0.0.3
    *Mar 1 00:08:32.788: OSPF: Elect BDR 10.0.0.1
    *Mar 1 00:08:32.788: OSPF: Elect DR 10.0.0.3
    *Mar 1 00:08:32.788: DR: 10.0.0.3 (Id) BDR: 10.0.0.1 (Id)
    *Mar 1 00:08:32.788:
    R1(config-routOSPF: Send DBD to 10.0.0.3 on Serial1/0 seq 0x1FA2 opt 0x52 flag 0x7 len 32
    *Mar 1 00:08:32.788: OSPF: Set Serial1/0 flush timer
    *Mar 1 00:08:32.792: OSPF: Remember old DR 10.0.0.1 (id)
    *Mar 1 00:08:32.792: OSPF: Neighbor change Event on interface Serial1/0
    *Mar 1 00:08:32.792: OSPF: DR/BDR election on Serial1/0
    *Mar 1 00:08:32.792: OSPF: Elect BDR 10.0.0.1
    *Mar 1 00:08:32.792: OSPF: Elect DR 10.0.0.3
    *Mar 1 00:08:32.792: DR: 10.0.0.3 (Id) BDR: 10.0.0.1 (Id)
    *Mar 1 00:08:32.832: OSPF: Rcv DBD from 10.0.0.3 on Serial1/0 seq 0x957 opt 0x52 flag 0x7 len 32 mtu 1500 state EXSTART
    *Mar 1 00:08:32.832: OSPF: NBR Negotiation Done. We are the SLAVE
    *Mar 1 00:08:32.832: OSPF: Send DBD to 10.0.0.3 on Serial1/0 seq 0x957 opt 0x52 flag 0x2 len 132
    *Mar 1 00:08:32.868: OSPF: Reset old DR on Serial1/0
    *Mar 1 00:08:32.868: OSPF: Build router LSA for area 0, router ID 10.0.0.1, seq 0x80000003
    *Mar 1 00:08:32.872: OSPF: We are not DR to build Net Lsa for interface Serial1/0
    *Mar 1 00:08:32.924: OSPF: Rcv DBD from 10.0.0.3 on Serial1/0 seq 0x958 opt 0x52 flag 0x3 len 132 mtu 1500 state EXCHANGE
    *Mar 1 00:08:32.928: OSPF: Send DBD to 10.0.0.3 on Serial1/0 seq 0x958 opt 0x52 flag 0x0 len 32
    *Mar 1 00:08:32.968: OSPF: Rcv DBD from 10.0.0.3 on Serial1/0 seq 0x959 opt 0x52 flag 0x1 len 32 mtu 1500 state EXCHANGE
    *Mar 1 00:08:32.968: OSPF: Exchange Done with 10.0.0.3 on Serial1/0
    *Mar 1 00:08:32.968: OSPF: Synchronized with 10.0.0.3 on Serial1/0, state FULL
    *Mar 1 00:08:32.972: %OSPF-5-ADJCHG: Process 1, Nbr 10.0.0.3 on Serial1/0 from LOADING to FULL, Loading Done
    *Mar 1 00:08:32.972: OSPF: Send DBD to 10.0.0.3 on Serial1/0 seq 0x959 opt 0x52 flag 0x0 len 32er)#
    R1(config-router)#
    *Mar 1 00:08:37.868: OSPF: Build router LSA for area 0, router ID 10.0.0.1, seq 0x80000004
    R1(config-router)#do sh ip ospf nei
    % Ambiguous command: "do sh ip ospf nei"
    R1(config-router)#do sh ip ospf nei

    Neighbor ID Pri State Dead Time Address Interface
    10.0.0.3 1 FULL/DR 00:01:50 10.0.0.3 Serial1/0
    R1(config-router)#
    *Mar 1 00:08:51.302: OSPF: 2 Way Communication to 10.0.0.2 on Serial1/0, state 2WAY
    *Mar 1 00:08:51.302: OSPF: Neighbor change Event on interface Serial1/0
    *Mar 1 00:08:51.302: OSPF: DR/BDR election on Serial1/0
    *Mar 1 00:08:51.302: OSPF: Elect BDR 10.0.0.1
    *Mar 1 00:08:51.302: OSPF: Elect DR 10.0.0.3
    *Mar 1 00:08:51.302: DR: 10.0.0.3 (Id) BDR: 10.0.0.1 (Id)
    *Mar 1 00:08:51.306: OSPF: Send DBD to 10.0.0.2 on Serial1/0 seq 0xA52 opt 0x52 flag 0x7 len 32
    *Mar 1 00:08:51.306: OSPF: Neighbor change Event on interface Serial1/0
    *Mar 1 00:08:51.306: OSPF: DR/BDR election on Serial1/0
    *Mar 1 00:08:51.306: OSPF: Elect BDR 10.0.0.1
    *Mar 1 00:08:51.306: OSPF: Elect DR 10.0.0.3
    *Mar 1 00:08:51.306: DR: 10.0.0.3 (Id) BDR: 10.0.0.1 (Id)
    *Mar 1 00:08:51.347: OSPF: Rcv DBD from 10.0.0.2 on Serial1/0 seq 0xD2F opt 0x52 flag 0x7 len 32 mtu 1500 state EXSTART
    *Mar 1 00:08:51.347: OSPF: NBR Negotiation Done. We are the SLAVE
    *Mar 1 00:08:51.351: OSPF:
    R1(config-routSend DBD to 10.0.0.2 on Serial1/0 seq 0xD2F opt 0x52 flag 0x2 len 132
    *Mar 1 00:08:51.443: OSPF: Rcv DBD from 10.0.0.2 on Serial1/0 seq 0xD30 opt 0x52 flag 0x3 len 132 mtu 1500 state EXCHANGE
    *Mar 1 00:08:51.443: OSPF: Send DBD to 10.0.0.2 on Serial1/0 seq 0xD30 opt 0x52 flag 0x0 len 32
    *Mar 1 00:08:51.483: OSPF: Rcv DBD from 10.0.0.2 on Serial1/0 seq 0xD31 opt 0x52 flag 0x1 len 32 mtu 1500 state EXCHANGE
    *Mar 1 00:08:51.487: OSPF: Exchange Done with 10.0.0.2 on Serial1/0
    *Mar 1 00:08:51.487: OSPF: Synchronized with 10.0.0.2 on Serial1/0, state FULL
    *Mar 1 00:08:51.487: %OSPF-5-ADJCHG: Process 1, Nbr 10.0.0.2 on Serial1/0 from LOADING to FULL, Loading Done
    *Mar 1 00:08:51.487: OSPF: Send DBD to 10.0.0.2 on Serial1/0 seq 0xD31 opt 0x52 flag 0x0 len 32
    *Mar 1 00:08:51.491: OSPF: Rcv LS REQ from 10.0.0.2 on Serial1/0 length 36 LSA count 1
    *Mar 1 00:08:51.495: OSPF: Send UPD to 10.0.0.2 on Serial1/0 length 40 LSA count 1er)#do sh ip ospf nei

    Neighbor ID Pri State Dead Time Address Interface
    10.0.0.2 1 FULL/DROTHER 00:01:57 10.0.0.2 Serial1/0
    10.0.0.3 1 FULL/DR 00:01:46 10.0.0.3 Serial1/0
    R1(config-router)#
    R1(config-router)#
    R1(config-router)#do sh ip ospf nei

    Neighbor ID Pri State Dead Time Address Interface
    10.0.0.2 1 FULL/DROTHER 00:01:56 10.0.0.2 Serial1/0
    10.0.0.3 1 FULL/DR 00:01:43 10.0.0.3 Serial1/0
    R1(config-router)#do sh ip ospf nei

    Neighbor ID Pri State Dead Time Address Interface
    10.0.0.2 1 FULL/DROTHER 00:01:55 10.0.0.2 Serial1/0
    10.0.0.3 1 FULL/DR 00:01:42 10.0.0.3 Serial1/0
    R1(config-router)#do sh ip ospf nei

    Neighbor ID Pri State Dead Time Address Interface
    10.0.0.2 1 FULL/DROTHER 00:01:54 10.0.0.2 Serial1/0
    10.0.0.3 1 FULL/DR 00:01:41 10.0.0.3 Serial1/0
    R1(config-router)#exit
    R1(config)#exit
    R1#s
    *Mar 1 00:09:03.498: %SYS-5-CONFIG_I: Configured from console by console
    R1#sh ip ospf nei
    R1#sh ip ospf neighbor

    Neighbor ID Pri State Dead Time Address Interface
    10.0.0.2 1 FULL/DROTHER 00:01:47 10.0.0.2 Serial1/0
    10.0.0.3 1 FULL/DR 00:01:56 10.0.0.3 Serial1/0
  • Forsaken_GAForsaken_GA Member Posts: 4,024
    And I take that back..... I apparently didn't wait long enough. Even after clearing the process with both neighbor statements removed, the adjacencies did reform. Interesting.

    The funny thing is that after bouncing the process, while the hub router is showing 2WAY, both spoke routers are still showing FULL

    Wonder what happens if I bounce ospf on all three with the neighbor statements removed
  • tim100tim100 Member Posts: 162
    The adjacency will remain in effect until the dead timer has expired. If you clear the OSPF process on one router the others still see the neighbor as alive. You would basically have to clear the OSPF processes on all the routers at the same time.
  • Forsaken_GAForsaken_GA Member Posts: 4,024
    That's actually what I just did. If I only cleared ospf on the hub router, the adjacencies all came back. I cleared ospf on all three routers and waited about 15 minutes, and none of the adjacencies have reformed
  • SepiraphSepiraph Member Posts: 179 ■■□□□□□□□□
    Yes, you guys are right. I was talking to a CCIE coworker today and he guessed the same thing. And I do recall they said you have to clear *ALL* ospf processes and since I only cleared it at the hub, so it looks like the spoke routers still *remember* the config (I guess it is stored in the adjacency DB?).

    This whole resetting all OSPF processes is a bit funky though, I am not at home to test it but I'd imagine you have to reset all of them simultaneously.
Sign In or Register to comment.