Hi Remi,

Just tried with 1 FW and static route, yes it's still reproducible.

The previous e-mail outputs were all related to my lab, when you see
IP's like 192.168.98.x, it's lab.


Regarding host1/2 interface configs:

Host1:

host1# more
/etc/hostname.em0                                                               
                                                                                
     

up
inet 192.168.98.202 255.255.255.0 NONE
!route add default 192.168.98.1
host1# more
/etc/hostname.carp1                                                             
                                                                                
     

up
inet 10.10.10.10 255.255.255.255 NONE vhid 1 pass 4k5EKt2svYNzSf carpdev
em0 advskew 0
host1#


Host2:

host2# more
/etc/hostname.em0                                                               
                                                                                
     

up
inet 192.168.98.203 255.255.255.0 NONE
!route add default 192.168.98.1
host2# more
/etc/hostname.carp1                                                             
                                                                                
     

up
inet 10.10.10.10 255.255.255.255 NONE vhid 1 pass 4k5EKt2svYNzSf carpdev
em0 advskew 128
host2#


The interface I kill/restore is the em0. I do it on VMware VSphere by
disabling it for Host1.


So, the steps to reproduce with one FW and static route are the same,
but I'll detail them again.

Starting and working condition:

fw1# uptime && ospfctl show rib             
12:10PM  up 15 days,  1:40, 1 user, load averages: 0.00, 0.00, 0.00
Destination          Nexthop           Path Type    Type      Cost   
Uptime 
10.10.10.10/32       192.168.98.202    Intra-Area   Network   20     
00:01:03
192.168.98.0/24      192.168.98.200  C Intra-Area   Network   10     
00:01:08

fw1# uptime && route -n show | grep 10.10.10
12:11PM  up 15 days,  1:41, 1 user, load averages: 0.00, 0.00, 0.00
10.10.10.10/32     192.168.98.202     UG         0        0     -    32
em0 
10.10.10.10/32     192.168.98.204     UGS        0        0     -    40
em0 
fw1#

Route is set to Host1 without MPATH flag.


Now I kill em0 in VSphere for Host1:

fw1#
fw1# uptime && ospfctl show rib             
12:13PM  up 15 days,  1:43, 1 user, load averages: 0.00, 0.00, 0.00
Destination          Nexthop           Path Type    Type      Cost   
Uptime 
10.10.10.10/32       192.168.98.202    Intra-Area   Network   20     
00:03:57
10.10.10.10/32       192.168.98.203    Intra-Area   Network   20     
00:00:23
192.168.98.0/24      192.168.98.200  C Intra-Area   Network   10     
00:04:02

fw1# uptime && route -n show | grep 10.10.10
12:13PM  up 15 days,  1:43, 1 user, load averages: 0.00, 0.00, 0.00
10.10.10.10/32     192.168.98.202     UGP        0        6     -    32
em0 
10.10.10.10/32     192.168.98.203     UGP        0        0     -    32
em0 
10.10.10.10/32     192.168.98.204     UGS        0        0     -    40
em0 
fw1#                                        

We are working with standard OSPF timers in LAB, so the dead route stays
for 40s and then is removed.

The MPATH flag appears because this was true for 40s, although the route
for host1 results now in a blackhole, we had temporarily 2 routes with
exact metrics, only with different nexthop.

The old route is then cleared, but MPATH flag stays on the new route.


fw1# uptime && ospfctl show rib             
12:14PM  up 15 days,  1:43, 1 user, load averages: 0.00, 0.00, 0.00
Destination          Nexthop           Path Type    Type      Cost   
Uptime 
10.10.10.10/32       192.168.98.203    Intra-Area   Network   20     
00:00:43
192.168.98.0/24      192.168.98.200  C Intra-Area   Network   10     
00:04:22

fw1# uptime && route -n show | grep 10.10.10
12:14PM  up 15 days,  1:44, 1 user, load averages: 0.00, 0.00, 0.00
10.10.10.10/32     192.168.98.203     UGP        0        0     -    32
em0 
10.10.10.10/32     192.168.98.204     UGS        0        0     -    40
em0 
fw1#
fw1#

But at this stage we are still with the correct nexthop in the FIB



We now bring up the Host1 em0 in VSphere:

fw1# uptime && ospfctl show rib             
12:22PM  up 15 days,  1:52, 1 user, load averages: 0.00, 0.00, 0.00
Destination          Nexthop           Path Type    Type      Cost   
Uptime 
10.10.10.10/32       192.168.98.202    Intra-Area   Network   20     
00:00:03
192.168.98.0/24      192.168.98.200  C Intra-Area   Network   10     
00:12:28

fw1# uptime && route -n show | grep 10.10.10
12:22PM  up 15 days,  1:52, 1 user, load averages: 0.00, 0.00, 0.00
10.10.10.10/32     192.168.98.203     UGP        0        6     -    32
em0 
10.10.10.10/32     192.168.98.204     UGS        0        0     -    40
em0 
fw1#
fw1# 

You receive the route from Host1, but is not installed on FIB.

fw1# uptime && ospfctl show rib             
 1:39PM  up 15 days,  3:09, 1 user, load averages: 0.00, 0.00, 0.00
Destination          Nexthop           Path Type    Type      Cost   
Uptime 
10.10.10.10/32       192.168.98.202    Intra-Area   Network   20     
01:17:11
192.168.98.0/24      192.168.98.200  C Intra-Area   Network   10     
01:29:36

fw1# uptime && route -n show | grep 10.10.10
 1:39PM  up 15 days,  3:09, 1 user, load averages: 0.00, 0.00, 0.00
10.10.10.10/32     192.168.98.203     UGP        0        7     -    32
em0 
10.10.10.10/32     192.168.98.204     UGS        0        0     -    40
em0 
fw1#


This is still true after more then 1h.



We now reload the FIB:


fw1# ospfctl fib reload                     
reload request sent.
fw1#
fw1# uptime && ospfctl show rib             
 1:40PM  up 15 days,  3:10, 1 user, load averages: 0.00, 0.00, 0.00
Destination          Nexthop           Path Type    Type      Cost   
Uptime 
192.168.98.0/24      0.0.0.0         C Intra-Area   Network   10     
00:00:02

fw1# uptime && route -n show | grep 10.10.10
 1:40PM  up 15 days,  3:10, 1 user, load averages: 0.00, 0.00, 0.00
10.10.10.10/32     192.168.98.204     UGS        0        0     -    40
em0 
fw1#
fw1# 

fw1# uptime && ospfctl show rib             
 1:41PM  up 15 days,  3:11, 1 user, load averages: 0.00, 0.00, 0.00
Destination          Nexthop           Path Type    Type      Cost   
Uptime 
10.10.10.10/32       192.168.98.202    Intra-Area   Network   20     
00:00:19
192.168.98.0/24      192.168.98.200  C Intra-Area   Network   10     
00:00:24

fw1# uptime && route -n show | grep 10.10.10
 1:41PM  up 15 days,  3:11, 1 user, load averages: 0.00, 0.00, 0.00
10.10.10.10/32     192.168.98.202     UG         0        0     -    32
em0 
10.10.10.10/32     192.168.98.204     UGS        0        0     -    40
em0 
fw1#


And we get to the good state condition.


Hope this helps.


Best regards,

João




On 05.11.19 23:19, Remi Locherer wrote:
> On Thu, Oct 24, 2019 at 02:09:09PM +0200, Joao Alves wrote:
>> Hi Remi,
>>
>> I've installed a lab with OpenBSD6.6 VM's to see if would happen in the
>> newer version.
>>
>> I was able to reproduce it again, but in slightly different manner.
>>
>> First of all, you need to have BGP running in FW's also, and have the
>> same route received through BGP, otherwise the issue is not
>> reproducible, because the MPATH flag will behave well with OSPF only.
>> Without the MPATH issue you can't reproduce the rest.
> Can you also reproduce without BGP but with a static route added like this:
> route add -net 10.10.10.10 -netmask 255.255.255.255 192.168.98.204 -priority 
> 40
>
>> So LAB setup(all openbsd6.6 VM's):
>>
>> 2x fw/router
> Can you also reproduce with only 1 fw or are both fw nodes needed to 
> reproduce?
>
>> 2x host
>> 1x bgp router
>>
>> fw1:192.168.98.200
>>
>> fw2:192.168.98.201
>>
>> host1:192.168.98.202
>>
>> host2:192.168.98.203
>>
>> bgp:192.168.98.204
>>
>>
>> In the hosts I run carp with VIP 10.10.10.10/32, carp configured with
>> preempt in kernel.
>>
>> ospf config for host1/2 is (only router id change):
>>
>> host1# more
>> /etc/ospfd.conf                                                              
>>                                                                              
>>                                                                              
>>                                          
>>
>> # $OpenBSD: ospfd.conf,v 1.2 2018/08/07 07:06:20 claudio Exp $
>>
>> # macros
>> id="192.168.98.202"
>>
>> # global configuration
>> router-id $id
>> # fib-update no
>> # stub router no
>> # spf-delay 1
>> # spf-holdtime 5
>>
>> # auth-key secret
>> # auth-type simple
>> # hello-interval 10
>> metric 10
>> # retransmit-interval 5
>> # router-dead-time 40
>> router-priority 0
>> # transmit-delay 1
>>
>> # rtlabel "DMZ" external-tag 1
>>
>> # areas
>> area 0.0.0.0 {
>>         interface em0 {
>>                 auth-type simple
>>                 auth-key secret
>>         }
>>
>>         interface carp1 {
>>                 passive
>>         }
>> }
>> host1#
> Please show the configs of em0 and carp1.
>
>> For FW1/2 is(router ID and router priority change, in FW2 priority is
>> 10, so BDR):
>>
>> fw1# more
>> /etc/ospfd.conf                                                              
>>                                                                              
>>                                                                              
>>                                            
>>
>> # $OpenBSD: ospfd.conf,v 1.2 2018/08/07 07:06:20 claudio Exp $
>>
>> # macros
>> id="192.168.98.200"
>>
>> # global configuration
>> router-id $id
>> # fib-update no
>> # stub router no
>> # spf-delay 1
>> # spf-holdtime 5
>>
>> # auth-key secret
>> # auth-type simple
>> # hello-interval 10
>> metric 10
>> # retransmit-interval 5
>> # router-dead-time 40
>> router-priority 100
>> # transmit-delay 1
>>
>> # rtlabel "DMZ" external-tag 1
>>
>> # areas
>> area 0.0.0.0 {
>>         interface em0 {
>>                 auth-type simple
>>                 auth-key secret
>>         }
>> }
>> fw1#
>>
>> For BGPD configs:
>>
>> FW1/2:
>>
>>
>> fw1# more
>> /etc/bgpd.conf                                                               
>>                                                                              
>>                                                                              
>>                                            
>>
>> # $OpenBSD: bgpd.conf,v 1.15 2018/11/17 17:22:38 deraadt Exp $
>> # example bgpd configuration file, see bgpd.conf(5)
>>
>> # define our own ASN as a macro
>> ASN="65123"
>>
>> # global configuration
>> AS $ASN
>> router-id 192.168.98.200
>>
>> # list of networks that may be originated by our ASN
>> prefix-set mynetworks {         \
>>         192.0.6.0/24            \
>>         2001:db8:abef::/48      \
>> }
>>
>> # define bogon prefixes which should not be part of the DFZ
>> prefix-set bogons {
>>         0.0.0.0/8 or-longer             # 'this' network [RFC1122]
>>         10.0.0.0/8 or-longer            # private space [RFC1918]
>>         100.64.0.0/10 or-longer         # CGN Shared [RFC6598]
>>         127.0.0.0/8 or-longer           # localhost [RFC1122]
>>         169.254.0.0/16 or-longer        # link local [RFC3927]
>>         172.16.0.0/12 or-longer         # private space [RFC1918]
>>         192.0.2.0/24 or-longer          # TEST-NET-1 [RFC5737]
>>         192.88.99.0/24 or-longer        # 6to4 anycast relay [RFC7526]
>>         192.168.0.0/16 or-longer        # private space [RFC1918]
>>         198.18.0.0/15 or-longer         # benchmarking [RFC2544]
>>         198.51.100.0/24 or-longer       # TEST-NET-2 [RFC5737]
>>         203.0.113.0/24 or-longer        # TEST-NET-3 [RFC5737]
>>         224.0.0.0/4 or-longer           # multicast
>>         240.0.0.0/4 or-longer           # reserved for future use
>>         ::/8 or-longer                  # RFC 4291 IPv4-compatible,
>> loopback, et al
>>         0100::/64 or-longer             # Discard-Only [RFC6666]
>>         2001:2::/48 or-longer           # BMWG [RFC5180]
>>         2001:10::/28 or-longer          # ORCHID [RFC4843]
>>         2001:db8::/32 or-longer         # docu range [RFC3849]
>>         2002::/16 or-longer             # 6to4 anycast relay [RFC7526]
>>         3ffe::/16 or-longer             # old 6bone
>>         fc00::/7 or-longer              # unique local unicast
>>         fe80::/10 or-longer             # link local unicast
>>         fec0::/10 or-longer             # old site local unicast
>>         ff00::/8 or-longer              # multicast
>> }
>>
>> # Generate routes for the networks our ASN will originate.
>> # The communities (read 'tags') are later used to match on what
>> # is announced to EBGP neighbors
>> network prefix-set mynetworks set large-community $ASN:1:1
>>
>> # assume simple network with 3 routers in IBGP full mesh
>> group "ibgp mesh v4" {
>>         remote-as $ASN
>>         # use loopback for IBGP sessions, assume its distributed in OSPF
>>         local-address 192.168.98.200
>>         neighbor 192.168.98.204         # router 2 ipv4
>> #        neighbor 192.168.98.201         # router 3 ipv4
>> }
>> # define the IPv6 IBGP sessions
>> group "ibgp mesh v6" {
>>         remote-as $ASN
>>         local-address 2001:db8:abcd::1
>>         neighbor 2001:db8:abcd::2       # router 2 ipv6
>>         neighbor 2001:db8:abcd::3       # router 3 ipv6
>> }
>>
>> # upstream providers
>> group "upstreams" {
>>         neighbor 203.0.113.1 {
>>                 remote-as 65002
>>                 descr "IPv4 Transit Provider A"
>>         }
>>         neighbor 198.51.100.0 {
>>                 remote-as 65123
>>                 descr "IPv4 Transit provider B"
>>         }
>>         neighbor 2001:db8:666::2 {
>>                 remote-as 65123
>>                 descr "IPv6 Transit provider B"
>>         }
>> }
>>
>> ## rules section
>>
>> # uncomment the following two lines to accept a default route from upstreams
>> #allow from group upstreams prefix 0.0.0.0/0
>> #allow from group upstreams prefix ::/0
>>
>> ### for simple BGP setups, no editing below this line is required ###
>>
>> # Outbound EBGP: only allow self originated networks to ebgp peers
>> # Don't leak any routes from upstream or peering sessions. This is done
>> # by checking for routes that are tagged with the large-community $ASN:1:1
>> allow to ebgp prefix-set mynetworks large-community $ASN:1:1
>>
>> # deny more-specifics of our own originated prefixes
>> deny quick from ebgp prefix-set mynetworks or-longer
>>
>> # IBGP: allow all updates to and from our IBGP neighbors
>> allow from ibgp
>> allow to ibgp
>>
>> # Scrub normal and large communities relevant to our ASN from EBGP neighbors
>> # https://tools.ietf.org/html/rfc7454#section-11
>> match from ebgp set { community delete $ASN:* }
>> match from ebgp set { large-community delete $ASN:*:* }
>>
>> # filter out prefixes longer than 24 or shorter than 8 bits for IPv4
>> # and longer than 48 or shorter than 16 bits for IPv6.
>> allow from any inet prefixlen 8 - 24
>> allow from any inet6 prefixlen 16 - 48
>>
>> # Honor requests to gracefully shutdown BGP sessions
>> # https://tools.ietf.org/html/rfc8326
>> #match from any community GRACEFUL_SHUTDOWN set { localpref 0 }
>>
>> #deny quick from any prefix-set bogons
>>
>> # filter bogon AS numbers
>> # AS_TRANS (23456) is not supposed to show up in any path and indicates a
>> # missconfiguration. Additionally Private or Reserved ASNs have no place in
>> # the public DFZ.
>> http://www.iana.org/assignments/as-numbers/as-numbers.xhtml
>> #deny quick from any AS 23456
>> #deny quick from any AS 64496 - 131071
>> #deny quick from any AS 4200000000 - 4294967295
>>
>> # filter out too long paths
>> deny from any max-as-len 100
>> fw1#
>>
>>
>> For BGP router:
>>
>>
>> bgp1# more /etc/bgpd.conf      
>> # $OpenBSD: bgpd.conf,v 1.15 2018/11/17 17:22:38 deraadt Exp $
>> # example bgpd configuration file, see bgpd.conf(5)
>>
>> # define our own ASN as a macro
>> ASN="65123"
>>
>> # global configuration
>> AS $ASN
>> router-id 192.168.98.204
>>
>> # list of networks that may be originated by our ASN
>> prefix-set mynetworks {         \
>>         192.0.2.0/24            \
>>         2001:db8:abcd::/48      \
>>         10.10.10.10/32          \
>> }
>>
>> # define bogon prefixes which should not be part of the DFZ
>> prefix-set bogons {
>>         0.0.0.0/8 or-longer             # 'this' network [RFC1122]
>>         10.0.0.0/8 or-longer            # private space [RFC1918]
>>         100.64.0.0/10 or-longer         # CGN Shared [RFC6598]
>>         127.0.0.0/8 or-longer           # localhost [RFC1122]
>>         169.254.0.0/16 or-longer        # link local [RFC3927]
>>         172.16.0.0/12 or-longer         # private space [RFC1918]
>>         192.0.2.0/24 or-longer          # TEST-NET-1 [RFC5737]
>>         192.88.99.0/24 or-longer        # 6to4 anycast relay [RFC7526]
>>         192.168.0.0/16 or-longer        # private space [RFC1918]
>>         198.18.0.0/15 or-longer         # benchmarking [RFC2544]
>>         198.51.100.0/24 or-longer       # TEST-NET-2 [RFC5737]
>>         203.0.113.0/24 or-longer        # TEST-NET-3 [RFC5737]
>>         224.0.0.0/4 or-longer           # multicast
>>         240.0.0.0/4 or-longer           # reserved for future use
>>         ::/8 or-longer                  # RFC 4291 IPv4-compatible,
>> loopback, et al
>>         0100::/64 or-longer             # Discard-Only [RFC6666]
>>         2001:2::/48 or-longer           # BMWG [RFC5180]
>>         2001:10::/28 or-longer          # ORCHID [RFC4843]
>>         2001:db8::/32 or-longer         # docu range [RFC3849]
>>         2002::/16 or-longer             # 6to4 anycast relay [RFC7526]
>>         3ffe::/16 or-longer             # old 6bone
>>         fc00::/7 or-longer              # unique local unicast
>>         fe80::/10 or-longer             # link local unicast
>>         fec0::/10 or-longer             # old site local unicast
>>         ff00::/8 or-longer              # multicast
>> }
>>
>> # Generate routes for the networks our ASN will originate.
>> # The communities (read 'tags') are later used to match on what
>> # is announced to EBGP neighbors
>> network prefix-set mynetworks set large-community $ASN:1:1
>>
>> # assume simple network with 3 routers in IBGP full mesh
>> group "ibgp mesh v4" {
>>         remote-as $ASN
>>         # use loopback for IBGP sessions, assume its distributed in OSPF
>>         local-address 192.168.98.204
>>         neighbor 192.168.98.200         # router 2 ipv4
>>         neighbor 192.168.98.201         # router 3 ipv4
>> }
>> # define the IPv6 IBGP sessions
>> group "ibgp mesh v6" {
>>         remote-as $ASN
>>         local-address 2001:db8:abcd::1
>>         neighbor 2001:db8:abcd::2       # router 2 ipv6
>>         neighbor 2001:db8:abcd::3       # router 3 ipv6
>> }
>>
>> # upstream providers
>> group "upstreams" {
>>         neighbor 203.0.113.1 {
>>                 remote-as 65002
>>                 descr "IPv4 Transit Provider A"
>>         }
>>         neighbor 198.51.100.0 {
>>                 remote-as 65123
>>                 descr "IPv4 Transit provider B"
>>         }
>>         neighbor 2001:db8:666::2 {
>>                 remote-as 65123
>>                 descr "IPv6 Transit provider B"
>>         }
>> }
>>
>> ## rules section
>>
>> # uncomment the following two lines to accept a default route from upstreams
>> #allow from group upstreams prefix 0.0.0.0/0
>> #allow from group upstreams prefix ::/0
>>
>> ### for simple BGP setups, no editing below this line is required ###
>>
>> # Outbound EBGP: only allow self originated networks to ebgp peers
>> # Don't leak any routes from upstream or peering sessions. This is done
>> # by checking for routes that are tagged with the large-community $ASN:1:1
>> allow to ebgp prefix-set mynetworks large-community $ASN:1:1
>>
>> # deny more-specifics of our own originated prefixes
>> deny quick from ebgp prefix-set mynetworks or-longer
>>
>> # IBGP: allow all updates to and from our IBGP neighbors
>> allow from ibgp
>> allow to ibgp
>>
>> # Scrub normal and large communities relevant to our ASN from EBGP neighbors
>> # https://tools.ietf.org/html/rfc7454#section-11
>> match from ebgp set { community delete $ASN:* }
>> match from ebgp set { large-community delete $ASN:*:* }
>>
>> # filter out prefixes longer than 24 or shorter than 8 bits for IPv4
>> # and longer than 48 or shorter than 16 bits for IPv6.
>> allow from any inet prefixlen 8 - 24
>> allow from any inet6 prefixlen 16 - 48
>>
>> # Honor requests to gracefully shutdown BGP sessions
>> # https://tools.ietf.org/html/rfc8326
>> #match from any community GRACEFUL_SHUTDOWN set { localpref 0 }
>>
>> #deny quick from any prefix-set bogons
>>
>> # filter bogon AS numbers
>> # AS_TRANS (23456) is not supposed to show up in any path and indicates a
>> # missconfiguration. Additionally Private or Reserved ASNs have no place in
>> # the public DFZ.
>> http://www.iana.org/assignments/as-numbers/as-numbers.xhtml
>> #deny quick from any AS 23456
>> #deny quick from any AS 64496 - 131071
>> #deny quick from any AS 4200000000 - 4294967295
>>
>> # filter out too long paths
>> deny from any max-as-len 100
>> bgp1# 
>>
>>
>>
>> Reproduce the issue:
>>
>>
>> The problem in this case is faced in the recovery of the failed host
>> instead.
>>
>> start condition:
>>
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.202     UG         0        0     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1#
>>
>> We now force the MPATH flag by temporarly advertise the network from
>> host 2. For this we do "ifconfig carp1 state master" on the backup host2:
>>
>>
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.202     UG         0        3     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.202     UG         0        3     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.202     UGP        0        3     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.203     UGP        0        0     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.202     UGP        0        3     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.203     UGP        0        0     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.202     UGP        0        3     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.202     UGP        0        3     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1#
>>
>>
>> We now have the MPATH flag active, even having only one OSPF route.
>>
>>
>> So, we now kill the interface of host1:
> Which interface? How do you kill it?
>
>>
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.202     UGP        0        3     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.202     UGP        0        6     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# ospfctl show rib | grep 10.10.10
>> 10.10.10.10/32       192.168.98.202    Intra-Area   Network   20     
>> 00:58:16
>> 10.10.10.10/32       192.168.98.203    Intra-Area   Network   20     
>> 00:00:07
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.202     UGP        0        9     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.203     UGP        0        0     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# ospfctl show rib | grep 10.10.10
>> 10.10.10.10/32       192.168.98.202    Intra-Area   Network   20     
>> 00:58:23
>> 10.10.10.10/32       192.168.98.203    Intra-Area   Network   20     
>> 00:00:14
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.202     UGP        0        9     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.203     UGP        0        0     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.202     UGP        0        9     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.203     UGP        0        0     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.202     UGP        0        9     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.203     UGP        0        0     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# ospfctl show rib | grep 10.10.10
>> 10.10.10.10/32       192.168.98.203    Intra-Area   Network   20     
>> 00:00:24
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.203     UGP        0        0     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.203     UGP        0        0     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1#
>>
>>
>> In this output we see that temporarily we have both OSPF routes, and
>> then the first one timesout living the one related to host2.
>> This behaviour is different from what we have in production, so in this
>> case, at this stage we still have service because route ended up with
>> correct next-hop for host2.
>>
>> But again, MPATH flag was kept active when it shouldn't.
>>
>> so current status is:
>>
>>
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.203     UGP        0        0     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# ospfctl show rib | grep 10.10.10
>> 10.10.10.10/32       192.168.98.203    Intra-Area   Network   20     
>> 00:06:11
>> fw1#
>>
>>
>> Now we raise interface on host1 and get service down:
> Again: which interface and how?
>
>>
>>
>> fw1# ospfctl show rib | grep 10.10.10
>> 10.10.10.10/32       192.168.98.203    Intra-Area   Network   65545  
>> 00:07:19
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.203     UGP        0        6     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# ospfctl show rib | grep 10.10.10
>> 10.10.10.10/32       192.168.98.203    Intra-Area   Network   65545  
>> 00:07:24
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.203     UGP        0        6     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# ospfctl show rib | grep 10.10.10
>> 10.10.10.10/32       192.168.98.202    Intra-Area   Network   20     
>> 00:00:04
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.203     UGP        0        6     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# ospfctl show rib | grep 10.10.10
>> 10.10.10.10/32       192.168.98.202    Intra-Area   Network   20     
>> 00:00:10
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.203     UGP        0        6     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# ospfctl show rib | grep 10.10.10
>> 10.10.10.10/32       192.168.98.202    Intra-Area   Network   20     
>> 00:00:15
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.203     UGP        0        6     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# ospfctl show rib | grep 10.10.10
>> 10.10.10.10/32       192.168.98.202    Intra-Area   Network   20     
>> 00:00:19
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.203     UGP        0        6     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1#
> This output (and following similar ones) is a bit hard to read. I'd prefere
> to see the output for the 1st state and then the output for the 2nd state.
> Maybe with a comment about the elapsed time in between.
>
>>
>>
>> Notice that the FIB next-hop wasn't updated to 192.168.98.202.
>>
>>
>>
>> Now the fix (commands issued repeatedly):
>>
>>
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.203     UGP        0        9     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# ospfctl fib
>> reload                                                                       
>>                                                                              
>>                                                                              
>>                                     
>>
>> reload request sent.
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.203     UG         0        0     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.203     UG         0        0     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.202     UG         0        0     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1# route -n show | grep 10.10.10.10
>> 10.10.10.10/32     192.168.98.202     UG         0        0     -    32
>> em0 
>> 10.10.10.10/32     192.168.98.204     UG         0        0     -    48
>> em0 
>> fw1#
>>
>>
>> We still see temporarily the wrong next-hop, but it then converges to
>> the correct one, and we now don't have the MPATH flag anymore.
> Is this about your prod or your lab setup?
>
>>
>> Hope this helps in your lab setup, as my real scenario is a bit
>> different behaviour, prbably because I'm using quagga to advertise the
>> prefix with network command, and the prefix is configured on same
>> physical interface.
>>
>> In this lab scenario, the interface with the VIP is diferent from the
>> main OSPF interface, and because of that I was able to announce it with
>> passive command.
> In ospfd carp interfaces are always announced as passive.
>
>> For the quagga's, there are constantly hello's being sent for the
>> prefix, even then no adjacency is formed on that prefix subnet.
>> In this LAB scenario you see updates being trade about the prefix.
>>
>> This is the captures in the lab environment when I issue the ospfctl fib
>> reload (captures being taken on fw2):
>>
>>
>> 13:46:36.739839 192.168.98.200 > 224.0.0.5: OSPFv2-hello  44: rtrid
>> 192.168.98.200 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 100 dead 40 nbrs [tos 0xc0] [ttl 1] (id 34942, len 64)
>> 13:46:36.740057 192.168.98.201 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 10 dead 40 dr 192.168.98.201 nbrs 192.168.98.200 192.168.98.202
>> 192.168.98.203 [tos 0xc0] [ttl 1] (id 20542, len 76)
>> 13:46:36.740182 192.168.98.202 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.202 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 0 dead 40 dr 192.168.98.201 nbrs 192.168.98.201 192.168.98.200
>> 192.168.98.203 [tos 0xc0] [ttl 1] (id 47644, len 76)
>> 13:46:36.740269 192.168.98.202 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.202 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 0 dead 40 dr 192.168.98.201 nbrs 192.168.98.201 192.168.98.200
>> 192.168.98.203 [tos 0xc0] [ttl 1] (id 30044, len 76)
>> 13:46:36.740550 192.168.98.201 > 224.0.0.5: OSPFv2-ls_upd  100: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" { E S 80000001 age 1 net dr
>> 192.168.98.201 if 192.168.98.201 mask 255.255.255.0 rtrs 192.168.98.202
>> 192.168.98.203 192.168.98.201 } { E S 8000000D age 1 rtr 192.168.98.201
>> } [|ospf] [tos 0xc0] [ttl 1] (id 26274, len 120)
>> 13:46:36.741005 192.168.98.203 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.203 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 0 dead 40 dr 192.168.98.201 nbrs 192.168.98.201 192.168.98.200
>> 192.168.98.202 [tos 0xc0] [ttl 1] (id 59174, len 76)
>> 13:46:36.741692 192.168.98.200 > 224.0.0.5: OSPFv2-hello  44: rtrid
>> 192.168.98.200 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 100 dead 40 nbrs [tos 0xc0] [ttl 1] (id 48099, len 64)
>> 13:46:38.743078 192.168.98.203 > 224.0.0.6: OSPFv2-ls_ack  64: rtrid
>> 192.168.98.203 backbone auth "secret^@^@" { E S 80000001 age 1 net dr
>> 192.168.98.201 if 192.168.98.201 } { E S 8000000D age 1 rtr
>> 192.168.98.201 } [tos 0xc0] [ttl 1] (id 55607, len 84)
>> 13:46:38.744309 192.168.98.202 > 224.0.0.6: OSPFv2-ls_ack  64: rtrid
>> 192.168.98.202 backbone auth "secret^@^@" { E S 80000001 age 1 net dr
>> 192.168.98.201 if 192.168.98.201 } { E S 8000000D age 1 rtr
>> 192.168.98.201 } [tos 0xc0] [ttl 1] (id 31253, len 84)
>> 13:46:41.752541 192.168.98.203 > 224.0.0.6: OSPFv2-ls_upd  76: rtrid
>> 192.168.98.203 backbone auth "secret^@^@" { E S 80000021 age 6 rtr
>> 192.168.98.203 { net 10.10.10.10 mask 255.255.255.255 tos 0 metric 65535
>> } { dr 192.168.98.201 if 192.168.98.203 tos 0 metric 10 } } [tos 0xc0]
>> [ttl 1] (id 9379, len 96)
>> 13:46:41.752841 192.168.98.201 > 224.0.0.5: OSPFv2-ls_upd  76: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" { E S 80000021 age 7 rtr
>> 192.168.98.203 { net 10.10.10.10 mask 255.255.255.255 tos 0 metric 65535
>> } { dr 192.168.98.201 if 192.168.98.203 tos 0 metric 10 } } [tos 0xc0]
>> [ttl 1] (id 52657, len 96)
>> 13:46:41.753134 192.168.98.202 > 224.0.0.6: OSPFv2-ls_upd  76: rtrid
>> 192.168.98.202 backbone auth "secret^@^@" { E S 80000017 age 6 rtr
>> 192.168.98.202 { net 10.10.10.10 mask 255.255.255.255 tos 0 metric 10 }
>> { dr 192.168.98.201 if 192.168.98.202 tos 0 metric 10 } } [tos 0xc0]
>> [ttl 1] (id 6608, len 96)
>> 13:46:41.753335 192.168.98.201 > 224.0.0.5: OSPFv2-ls_upd  76: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" { E S 80000017 age 7 rtr
>> 192.168.98.202 { net 10.10.10.10 mask 255.255.255.255 tos 0 metric 10 }
>> { dr 192.168.98.201 if 192.168.98.202 tos 0 metric 10 } } [tos 0xc0]
>> [ttl 1] (id 22390, len 96)
>> 13:46:43.747722 192.168.98.201 > 192.168.98.203: OSPFv2-ls_upd  76:
>> rtrid 192.168.98.201 backbone auth "secret^@^@" { E S 80000017 age 9 rtr
>> 192.168.98.202 { net 10.10.10.10 mask 255.255.255.255 tos 0 metric 10 }
>> { dr 192.168.98.201 if 192.168.98.202 tos 0 metric 10 } } [tos 0xc0]
>> [ttl 1] (id 29312, len 96)
>> 13:46:43.747795 192.168.98.201 > 192.168.98.202: OSPFv2-ls_upd  76:
>> rtrid 192.168.98.201 backbone auth "secret^@^@" { E S 80000021 age 9 rtr
>> 192.168.98.203 { net 10.10.10.10 mask 255.255.255.255 tos 0 metric 65535
>> } { dr 192.168.98.201 if 192.168.98.203 tos 0 metric 10 } } [tos 0xc0]
>> [ttl 1] (id 42301, len 96)
>> 13:46:43.748098 192.168.98.203 > 192.168.98.201: OSPFv2-ls_ack  44:
>> rtrid 192.168.98.203 backbone auth "secret^@^@" { E S 80000017 age 9 rtr
>> 192.168.98.202 } [tos 0xc0] [ttl 1] (id 56865, len 64)
>> 13:46:43.748136 192.168.98.202 > 192.168.98.201: OSPFv2-ls_ack  44:
>> rtrid 192.168.98.202 backbone auth "secret^@^@" { E S 80000021 age 9 rtr
>> 192.168.98.203 } [tos 0xc0] [ttl 1] (id 43582, len 64)
>> 13:46:43.762045 192.168.98.203 > 224.0.0.6: OSPFv2-ls_ack  44: rtrid
>> 192.168.98.203 backbone auth "secret^@^@" { E S 80000017 age 7 rtr
>> 192.168.98.202 } [tos 0xc0] [ttl 1] (id 1486, len 64)
>> 13:46:43.763373 192.168.98.202 > 224.0.0.6: OSPFv2-ls_ack  44: rtrid
>> 192.168.98.202 backbone auth "secret^@^@" { E S 80000021 age 7 rtr
>> 192.168.98.203 } [tos 0xc0] [ttl 1] (id 2479, len 64)
>> 13:46:46.742883 192.168.98.200 > 224.0.0.5: OSPFv2-hello  44: rtrid
>> 192.168.98.200 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 100 dead 40 nbrs [tos 0xc0] [ttl 1] (id 41604, len 64)
>> 13:46:46.743098 192.168.98.202 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.202 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 0 dead 40 dr 192.168.98.201 nbrs 192.168.98.201 192.168.98.200
>> 192.168.98.203 [tos 0xc0] [ttl 1] (id 732, len 76)
>> 13:46:46.743099 192.168.98.203 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.203 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 0 dead 40 dr 192.168.98.201 nbrs 192.168.98.201 192.168.98.200
>> 192.168.98.202 [tos 0xc0] [ttl 1] (id 28204, len 76)
>> 13:46:46.743141 192.168.98.201 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 10 dead 40 dr 192.168.98.201 nbrs 192.168.98.200 192.168.98.202
>> 192.168.98.203 [tos 0xc0] [ttl 1] (id 35443, len 76)
>> 13:46:46.744985 192.168.98.200 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.200 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 100 dead 40 dr 192.168.98.200 nbrs 192.168.98.203 192.168.98.201
>> 192.168.98.202 [tos 0xc0] [ttl 1] (id 33192, len 76)
>> 13:46:46.745048 192.168.98.200 > 192.168.98.201: OSPFv2-dd  32: rtrid
>> 192.168.98.200 backbone auth "secret^@^@" E I/M/MS mtu 1500 S 99BF222A
>> [tos 0xc0] [ttl 1] (id 6154, len 52)
>> 13:46:46.745344 192.168.98.201 > 192.168.98.200: OSPFv2-dd  32: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" E I/M/MS mtu 1500 S 99BF222B
>> [tos 0xc0] [ttl 1] (id 38910, len 52)
>> 13:46:46.745345 192.168.98.201 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 10 dead 40 dr 192.168.98.200 bdr 192.168.98.201 nbrs 192.168.98.200
>> 192.168.98.202 192.168.98.203 [tos 0xc0] [ttl 1] (id 17052, len 76)
>> 13:46:46.745399 192.168.98.202 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.202 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 0 dead 40 dr 192.168.98.200 nbrs 192.168.98.201 192.168.98.200
>> 192.168.98.203 [tos 0xc0] [ttl 1] (id 30271, len 76)
>> 13:46:46.745399 192.168.98.203 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.203 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 0 dead 40 dr 192.168.98.200 nbrs 192.168.98.201 192.168.98.200
>> 192.168.98.202 [tos 0xc0] [ttl 1] (id 49111, len 76)
>> 13:46:46.745530 192.168.98.201 > 224.0.0.5: OSPFv2-ls_upd  100: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" { E S 8000000E age 1 rtr
>> 192.168.98.201 { net 192.168.98.0 mask 255.255.255.0 tos 0 metric 10 } }
>> { E S 80000001 age 1:00:00 net dr 192.168.98.201 if 192.168.98.201 }
>> [|ospf] [tos 0xc0] [ttl 1] (id 42835, len 120)
>> 13:46:46.745579 192.168.98.203 > 192.168.98.201: OSPFv2-dd  32: rtrid
>> 192.168.98.203 backbone auth "secret^@^@" E I/M/MS mtu 1500 S E1DEE91C
>> [tos 0xc0] [ttl 1] (id 39759, len 52)
>> 13:46:46.745580 192.168.98.202 > 192.168.98.201: OSPFv2-dd  32: rtrid
>> 192.168.98.202 backbone auth "secret^@^@" E I/M/MS mtu 1500 S 361091BE
>> [tos 0xc0] [ttl 1] (id 15662, len 52)
>> 13:46:46.745654 192.168.98.203 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.203 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 0 dead 40 dr 192.168.98.200 bdr 192.168.98.201 nbrs 192.168.98.201
>> 192.168.98.200 192.168.98.202 [tos 0xc0] [ttl 1] (id 41333, len 76)
>> 13:46:46.745657 192.168.98.202 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.202 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 0 dead 40 dr 192.168.98.200 bdr 192.168.98.201 nbrs 192.168.98.201
>> 192.168.98.200 192.168.98.203 [tos 0xc0] [ttl 1] (id 35399, len 76)
>> 13:46:46.745657 192.168.98.200 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.200 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 100 dead 40 dr 192.168.98.200 bdr 192.168.98.201 nbrs 192.168.98.203
>> 192.168.98.201 192.168.98.202 [tos 0xc0] [ttl 1] (id 5018, len 76)
>> 13:46:46.745783 192.168.98.201 > 192.168.98.203: OSPFv2-dd  32: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" E I/M/MS mtu 1500 S E1DF7C38
>> [tos 0xc0] [ttl 1] (id 19213, len 52)
>> 13:46:46.745930 192.168.98.200 > 192.168.98.201: OSPFv2-dd  132: rtrid
>> 192.168.98.200 backbone auth "secret^@^@" E M mtu 1500 S 99BF222B { E S
>> 80000013 age 10 rtr 192.168.98.200 } { E S 8000000C age 13:17 rtr
>> 192.168.98.201 } { E [tos 0xc0] [ttl 1] (id 9643, len 152)
>> 13:46:46.745954 192.168.98.201 > 192.168.98.202: OSPFv2-dd  32: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" E I/M/MS mtu 1500 S 3610C5FF
>> [tos 0xc0] [ttl 1] (id 48123, len 52)
>> 13:46:46.746257 192.168.98.201 > 192.168.98.200: OSPFv2-dd  132: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" E M/MS mtu 1500 S 99BF222C { E
>> S 80000012 age 13:21 rtr 192.168.98.200 } { E S 8000000E age 0 rtr
>> 192.168.98.201 } { E [tos 0xc0] [ttl 1] (id 60171, len 152)
>> 13:46:46.746524 192.168.98.200 > 192.168.98.201: OSPFv2-dd  32: rtrid
>> 192.168.98.200 backbone auth "secret^@^@" E mtu 1500 S 99BF222C [tos
>> 0xc0] [ttl 1] (id 20148, len 52)
>> 13:46:46.746593 192.168.98.201 > 192.168.98.200: OSPFv2-dd  32: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" E MS mtu 1500 S 99BF222D [tos
>> 0xc0] [ttl 1] (id 29634, len 52)
>> 13:46:46.746857 192.168.98.200 > 192.168.98.201: OSPFv2-dd  32: rtrid
>> 192.168.98.200 backbone auth "secret^@^@" E mtu 1500 S 99BF222D [tos
>> 0xc0] [ttl 1] (id 15253, len 52)
>> 13:46:46.746858 192.168.98.200 > 192.168.98.201: OSPFv2-ls_req  60:
>> rtrid 192.168.98.200 backbone auth "secret^@^@" { rtr 192.168.98.201 } {
>> rtr 192.168.98.202 } { rtr 192.168.98.203 } [tos 0xc0] [ttl 1] (id 8075,
>> len 80)
>> 13:46:46.747077 192.168.98.201 > 192.168.98.200: OSPFv2-ls_req  48:
>> rtrid 192.168.98.201 backbone auth "secret^@^@" { rtr 192.168.98.200 } {
>> net dr 192.168.98.200 if 192.168.98.200 } [tos 0xc0] [ttl 1] (id 29745,
>> len 68)
>> 13:46:46.747152 192.168.98.201 > 192.168.98.200: OSPFv2-ls_upd  160:
>> rtrid 192.168.98.201 backbone auth "secret^@^@" { E S 8000000E age 1 rtr
>> 192.168.98.201 { net 192.168.98.0 mask 255.255.255.0 tos 0 metric 10 } }
>> { E S 80000017 age 12 rtr 192.168.98.202 } [|ospf] [tos 0xc0] [ttl 1]
>> (id 21137, len 180)
>> 13:46:46.747581 192.168.98.200 > 192.168.98.201: OSPFv2-ls_ack  44:
>> rtrid 192.168.98.200 backbone auth "secret^@^@" { E S 80000017 age 12
>> rtr 192.168.98.202 } [tos 0xc0] [ttl 1] (id 7102, len 64)
>> 13:46:46.747666 192.168.98.200 > 224.0.0.5: OSPFv2-ls_upd  112: rtrid
>> 192.168.98.200 backbone auth "secret^@^@" { E S 80000022 age 2 rtr
>> 192.168.98.203 { net 10.10.10.10 mask 255.255.255.255 tos 0 metric 65535
>> } { net 192.168.98.0 mask 255.255.255.0 tos 0 metric 10 } } { E [|ospf]
>> [tos 0xc0] [ttl 1] (id 40964, len 132)
>> 13:46:46.747696 192.168.98.200 > 192.168.98.201: OSPFv2-dd  32: rtrid
>> 192.168.98.200 backbone auth "secret^@^@" E I/M/MS mtu 1500 S 99BFEEF2
>> [tos 0xc0] [ttl 1] (id 16937, len 52)
>> 13:46:46.747813 192.168.98.201 > 192.168.98.200: OSPFv2-dd  32: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" E I/M/MS mtu 1500 S 99BF5FD9
>> [tos 0xc0] [ttl 1] (id 3855, len 52)
>> 13:46:46.747848 192.168.98.200 > 224.0.0.5: OSPFv2-ls_upd  96: rtrid
>> 192.168.98.200 backbone auth "secret^@^@" { E S 80000014 age 1 rtr
>> 192.168.98.200 { dr 192.168.98.200 if 192.168.98.200 tos 0 metric 10 } }
>> { E S 8000000C age 1 net dr 192.168.98.200 if 192.168.98.200 } [|ospf]
>> [tos 0xc0] [ttl 1] (id 45786, len 116)
>> 13:46:46.748155 192.168.98.200 > 192.168.98.201: OSPFv2-dd  152: rtrid
>> 192.168.98.200 backbone auth "secret^@^@" E M mtu 1500 S 99BF5FD9 { E S
>> 80000014 age 0 rtr 192.168.98.200 } { E S 8000000D age 12 rtr
>> 192.168.98.201 } { E [tos 0xc0] [ttl 1] (id 24835, len 172)
>> 13:46:46.748551 192.168.98.201 > 192.168.98.200: OSPFv2-dd  132: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" E M/MS mtu 1500 S 99BF5FDA { E
>> S 80000012 age 13:21 rtr 192.168.98.200 } { E S 8000000E age 0 rtr
>> 192.168.98.201 } { E [tos 0xc0] [ttl 1] (id 47662, len 152)
>> 13:46:46.748693 192.168.98.200 > 192.168.98.201: OSPFv2-dd  32: rtrid
>> 192.168.98.200 backbone auth "secret^@^@" E mtu 1500 S 99BF5FDA [tos
>> 0xc0] [ttl 1] (id 21631, len 52)
>> 13:46:46.748799 192.168.98.201 > 192.168.98.200: OSPFv2-dd  32: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" E MS mtu 1500 S 99BF5FDB [tos
>> 0xc0] [ttl 1] (id 48058, len 52)
>> 13:46:46.748938 192.168.98.200 > 192.168.98.201: OSPFv2-dd  32: rtrid
>> 192.168.98.200 backbone auth "secret^@^@" E mtu 1500 S 99BF5FDB [tos
>> 0xc0] [ttl 1] (id 16434, len 52)
>> 13:46:46.748962 192.168.98.200 > 192.168.98.201: OSPFv2-ls_req  36:
>> rtrid 192.168.98.200 backbone auth "secret^@^@" { rtr 192.168.98.201 }
>> [tos 0xc0] [ttl 1] (id 28004, len 56)
>> 13:46:46.749045 192.168.98.201 > 192.168.98.200: OSPFv2-ls_req  60:
>> rtrid 192.168.98.201 backbone auth "secret^@^@" { rtr 192.168.98.200 } {
>> net dr 192.168.98.200 if 192.168.98.200 } { net dr 192.168.98.201 if
>> 192.168.98.201 } [tos 0xc0] [ttl 1] (id 33841, len 80)
>> 13:46:46.749209 192.168.98.201 > 192.168.98.200: OSPFv2-ls_upd  64:
>> rtrid 192.168.98.201 backbone auth "secret^@^@" { E S 8000000E age 1 rtr
>> 192.168.98.201 { net 192.168.98.0 mask 255.255.255.0 tos 0 metric 10 } }
>> [tos 0xc0] [ttl 1] (id 5235, len 84)
>> 13:46:48.752528 192.168.98.200 > 224.0.0.5: OSPFv2-ls_ack  104: rtrid
>> 192.168.98.200 backbone auth "secret^@^@" { E S 8000000D age 12 rtr
>> 192.168.98.201 } { E S 80000017 age 13 rtr 192.168.98.202 } { E S
>> 80000022 age 1 rtr 192.168.98.203 } [tos 0xc0] [ttl 1] (id 50978, len 124)
>> 13:46:48.752670 192.168.98.201 > 224.0.0.5: OSPFv2-ls_ack  64: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" { E S 80000022 age 2 rtr
>> 192.168.98.203 } { E S 80000001 age 13 net dr 192.168.98.201 if
>> 192.168.98.201 } [tos 0xc0] [ttl 1] (id 17804, len 84)
>> 13:46:48.752696 192.168.98.202 > 224.0.0.6: OSPFv2-ls_ack  44: rtrid
>> 192.168.98.202 backbone auth "secret^@^@" { E S 80000022 age 2 rtr
>> 192.168.98.203 } [tos 0xc0] [ttl 1] (id 60705, len 64)
>> 13:46:48.752887 192.168.98.203 > 224.0.0.6: OSPFv2-ls_ack  64: rtrid
>> 192.168.98.203 backbone auth "secret^@^@" { E S 80000013 age 11 rtr
>> 192.168.98.200 } { E S 8000000B age 11 net dr 192.168.98.200 if
>> 192.168.98.200 } [tos 0xc0] [ttl 1] (id 30728, len 84)
>> 13:46:51.756275 192.168.98.201 > 192.168.98.203: OSPFv2-dd  32: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" E I/M/MS mtu 1500 S E1DF7C38
>> [tos 0xc0] [ttl 1] (id 13078, len 52)
>> 13:46:51.756285 192.168.98.201 > 192.168.98.202: OSPFv2-dd  32: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" E I/M/MS mtu 1500 S 3610C5FF
>> [tos 0xc0] [ttl 1] (id 53410, len 52)
>> 13:46:51.756310 192.168.98.201 > 192.168.98.200: OSPFv2-ls_req  60:
>> rtrid 192.168.98.201 backbone auth "secret^@^@" { rtr 192.168.98.200 } {
>> net dr 192.168.98.200 if 192.168.98.200 } { net dr 192.168.98.201 if
>> 192.168.98.201 } [tos 0xc0] [ttl 1] (id 33659, len 80)
>> 13:46:51.756826 192.168.98.202 > 192.168.98.201: OSPFv2-dd  32: rtrid
>> 192.168.98.202 backbone auth "secret^@^@" E I/M/MS mtu 1500 S 361091BE
>> [tos 0xc0] [ttl 1] (id 64021, len 52)
>> 13:46:51.756827 192.168.98.203 > 192.168.98.201: OSPFv2-dd  32: rtrid
>> 192.168.98.203 backbone auth "secret^@^@" E I/M/MS mtu 1500 S E1DEE91C
>> [tos 0xc0] [ttl 1] (id 12508, len 52)
>> 13:46:51.756827 192.168.98.200 > 192.168.98.201: OSPFv2-ls_upd  96:
>> rtrid 192.168.98.200 backbone auth "secret^@^@" { E S 80000014 age 6 rtr
>> 192.168.98.200 { dr 192.168.98.200 if 192.168.98.200 tos 0 metric 10 } }
>> { E S 8000000C age 6 net dr 192.168.98.200 if 192.168.98.200 } [|ospf]
>> [tos 0xc0] [ttl 1] (id 13626, len 116)
>> 13:46:51.756828 192.168.98.200 > 192.168.98.201: OSPFv2-ls_req  36:
>> rtrid 192.168.98.200 backbone auth "secret^@^@" { rtr 192.168.98.201 }
>> [tos 0xc0] [ttl 1] (id 41975, len 56)
>> 13:46:51.756828 192.168.98.200 > 192.168.98.201: OSPFv2-ls_upd  132:
>> rtrid 192.168.98.200 backbone auth "secret^@^@" { E S 80000014 age 6 rtr
>> 192.168.98.200 { dr 192.168.98.200 if 192.168.98.200 tos 0 metric 10 } }
>> { E S 8000000C age 6 net dr 192.168.98.200 if 192.168.98.200 } [|ospf]
>> [tos 0xc0] [ttl 1] (id 52527, len 152)
>> 13:46:51.757543 192.168.98.200 > 224.0.0.5: OSPFv2-ls_upd  76: rtrid
>> 192.168.98.200 backbone auth "secret^@^@" { E S 80000018 age 7 rtr
>> 192.168.98.202 { net 10.10.10.10 mask 255.255.255.255 tos 0 metric 10 }
>> { net 192.168.98.0 mask 255.255.255.0 tos 0 metric 10 } } [tos 0xc0]
>> [ttl 1] (id 2414, len 96)
>> 13:46:51.757553 192.168.98.201 > 192.168.98.200: OSPFv2-ls_ack  44:
>> rtrid 192.168.98.201 backbone auth "secret^@^@" { E S 80000014 age 6 rtr
>> 192.168.98.200 } [tos 0xc0] [ttl 1] (id 49941, len 64)
>> 13:46:51.757553 192.168.98.201 > 192.168.98.200: OSPFv2-ls_ack  44:
>> rtrid 192.168.98.201 backbone auth "secret^@^@" { E S 8000000C age 6 net
>> dr 192.168.98.200 if 192.168.98.200 } [tos 0xc0] [ttl 1] (id 54649, len 64)
>> 13:46:51.757554 192.168.98.201 > 192.168.98.202: OSPFv2-dd  132: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" E M mtu 1500 S 361091BE { E S
>> 80000012 age 13:26 rtr 192.168.98.200 } { E S 8000000E age 5 rtr
>> 192.168.98.201 } { E [tos 0xc0] [ttl 1] (id 35843, len 152)
>> 13:46:51.757555 192.168.98.201 > 192.168.98.200: OSPFv2-ls_upd  64:
>> rtrid 192.168.98.201 backbone auth "secret^@^@" { E S 8000000E age 6 rtr
>> 192.168.98.201 { net 192.168.98.0 mask 255.255.255.0 tos 0 metric 10 } }
>> [tos 0xc0] [ttl 1] (id 14024, len 84)
>> 13:46:51.757556 192.168.98.201 > 224.0.0.5: OSPFv2-ls_upd  64: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" { E S 80000001 age 1:00:00 net
>> dr 192.168.98.201 if 192.168.98.201 mask 255.255.255.0 rtrs
>> 192.168.98.202 192.168.98.203 192.168.98.201 } [tos 0xc0] [ttl 1] (id
>> 22555, len 84)
>> 13:46:51.757583 192.168.98.201 > 192.168.98.203: OSPFv2-dd  132: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" E M mtu 1500 S E1DEE91C { E S
>> 80000012 age 13:26 rtr 192.168.98.200 } { E S 8000000E age 5 rtr
>> 192.168.98.201 } { E [tos 0xc0] [ttl 1] (id 33297, len 152)
>> 13:46:51.757954 192.168.98.202 > 192.168.98.201: OSPFv2-dd  152: rtrid
>> 192.168.98.202 backbone auth "secret^@^@" E M/MS mtu 1500 S 361091BF { E
>> S 80000014 age 6 rtr 192.168.98.200 } { E S 8000000D age 16 rtr
>> 192.168.98.201 } { E [tos 0xc0] [ttl 1] (id 9420, len 172)
>> 13:46:51.758049 192.168.98.201 > 192.168.98.202: OSPFv2-dd  32: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" E mtu 1500 S 361091BF [tos
>> 0xc0] [ttl 1] (id 26856, len 52)
>> 13:46:51.758204 192.168.98.202 > 192.168.98.201: OSPFv2-dd  32: rtrid
>> 192.168.98.202 backbone auth "secret^@^@" E MS mtu 1500 S 361091C0 [tos
>> 0xc0] [ttl 1] (id 29314, len 52)
>> 13:46:51.758286 192.168.98.203 > 192.168.98.201: OSPFv2-dd  152: rtrid
>> 192.168.98.203 backbone auth "secret^@^@" E M/MS mtu 1500 S E1DEE91D { E
>> S 80000014 age 6 rtr 192.168.98.200 } { E S 8000000D age 16 rtr
>> 192.168.98.201 } { E [tos 0xc0] [ttl 1] (id 24179, len 172)
>> 13:46:51.758304 192.168.98.201 > 192.168.98.202: OSPFv2-dd  32: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" E mtu 1500 S 361091C0 [tos
>> 0xc0] [ttl 1] (id 18366, len 52)
>> 13:46:51.758353 192.168.98.201 > 192.168.98.202: OSPFv2-ls_req  36:
>> rtrid 192.168.98.201 backbone auth "secret^@^@" { rtr 192.168.98.202 }
>> [tos 0xc0] [ttl 1] (id 39434, len 56)
>> 13:46:51.758392 192.168.98.201 > 192.168.98.203: OSPFv2-dd  32: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" E mtu 1500 S E1DEE91D [tos
>> 0xc0] [ttl 1] (id 19583, len 52)
>> 13:46:51.758574 192.168.98.203 > 192.168.98.201: OSPFv2-dd  32: rtrid
>> 192.168.98.203 backbone auth "secret^@^@" E MS mtu 1500 S E1DEE91E [tos
>> 0xc0] [ttl 1] (id 46477, len 52)
>> 13:46:51.758655 192.168.98.201 > 192.168.98.203: OSPFv2-dd  32: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" E mtu 1500 S E1DEE91E [tos
>> 0xc0] [ttl 1] (id 10148, len 52)
>> 13:46:51.758695 192.168.98.201 > 192.168.98.203: OSPFv2-ls_req  36:
>> rtrid 192.168.98.201 backbone auth "secret^@^@" { rtr 192.168.98.203 }
>> [tos 0xc0] [ttl 1] (id 20293, len 56)
>> 13:46:51.758725 192.168.98.202 > 192.168.98.201: OSPFv2-ls_req  36:
>> rtrid 192.168.98.202 backbone auth "secret^@^@" { rtr 192.168.98.201 }
>> [tos 0xc0] [ttl 1] (id 8976, len 56)
>> 13:46:51.758725 192.168.98.202 > 192.168.98.201: OSPFv2-ls_upd  76:
>> rtrid 192.168.98.202 backbone auth "secret^@^@" { E S 80000018 age 1 rtr
>> 192.168.98.202 { net 10.10.10.10 mask 255.255.255.255 tos 0 metric 10 }
>> { dr 192.168.98.200 if 192.168.98.202 tos 0 metric 10 } } [tos 0xc0]
>> [ttl 1] (id 38525, len 96)
>> 13:46:51.758990 192.168.98.203 > 192.168.98.201: OSPFv2-ls_req  36:
>> rtrid 192.168.98.203 backbone auth "secret^@^@" { rtr 192.168.98.201 }
>> [tos 0xc0] [ttl 1] (id 3058, len 56)
>> 13:46:51.759005 192.168.98.203 > 192.168.98.201: OSPFv2-ls_upd  76:
>> rtrid 192.168.98.203 backbone auth "secret^@^@" { E S 80000023 age 1 rtr
>> 192.168.98.203 { net 10.10.10.10 mask 255.255.255.255 tos 0 metric 65535
>> } { dr 192.168.98.200 if 192.168.98.203 tos 0 metric 10 } } [tos 0xc0]
>> [ttl 1] (id 6586, len 96)
>> 13:46:53.760281 192.168.98.203 > 224.0.0.6: OSPFv2-ls_ack  84: rtrid
>> 192.168.98.203 backbone auth "secret^@^@" { E S 80000014 age 6 rtr
>> 192.168.98.200 } { E S 8000000C age 6 net dr 192.168.98.200 if
>> 192.168.98.200 } { E S 80000018 age 7 rtr 192.168.98.202 } [tos 0xc0]
>> [ttl 1] (id 44630, len 104)
>> 13:46:53.760438 192.168.98.201 > 224.0.0.5: OSPFv2-ls_ack  104: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" { E S 80000014 age 6 rtr
>> 192.168.98.200 } { E S 8000000C age 6 net dr 192.168.98.200 if
>> 192.168.98.200 } { E S 80000001 age 18 net dr 192.168.98.201 if
>> 192.168.98.201 } [tos 0xc0] [ttl 1] (id 60174, len 124)
>> 13:46:53.760534 192.168.98.200 > 224.0.0.5: OSPFv2-ls_ack  104: rtrid
>> 192.168.98.200 backbone auth "secret^@^@" { E S 80000018 age 6 rtr
>> 192.168.98.202 } { E S 8000000E age 6 rtr 192.168.98.201 } { E S
>> 80000001 age 1:00:00 net dr 192.168.98.201 if 192.168.98.201 } [tos
>> 0xc0] [ttl 1] (id 59994, len 124)
>> 13:46:53.760642 192.168.98.202 > 224.0.0.6: OSPFv2-ls_ack  64: rtrid
>> 192.168.98.202 backbone auth "secret^@^@" { E S 80000014 age 6 rtr
>> 192.168.98.200 } { E S 8000000C age 6 net dr 192.168.98.200 if
>> 192.168.98.200 } [tos 0xc0] [ttl 1] (id 11941, len 84)
>> 13:46:56.751086 192.168.98.200 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.200 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 100 dead 40 dr 192.168.98.200 bdr 192.168.98.201 nbrs 192.168.98.203
>> 192.168.98.201 192.168.98.202 [tos 0xc0] [ttl 1] (id 17219, len 76)
>> 13:46:56.751111 192.168.98.202 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.202 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 0 dead 40 dr 192.168.98.200 bdr 192.168.98.201 nbrs 192.168.98.201
>> 192.168.98.200 192.168.98.203 [tos 0xc0] [ttl 1] (id 54762, len 76)
>> 13:46:56.751228 192.168.98.201 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 10 dead 40 dr 192.168.98.200 bdr 192.168.98.201 nbrs 192.168.98.200
>> 192.168.98.202 192.168.98.203 [tos 0xc0] [ttl 1] (id 17270, len 76)
>> 13:46:56.751383 192.168.98.203 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.203 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 0 dead 40 dr 192.168.98.200 bdr 192.168.98.201 nbrs 192.168.98.201
>> 192.168.98.200 192.168.98.202 [tos 0xc0] [ttl 1] (id 10624, len 76)
>> 13:46:56.765328 192.168.98.201 > 192.168.98.203: OSPFv2-ls_upd  64:
>> rtrid 192.168.98.201 backbone auth "secret^@^@" { E S 8000000E age 6 rtr
>> 192.168.98.201 { dr 192.168.98.200 if 192.168.98.201 tos 0 metric 65535
>> } } [tos 0xc0] [ttl 1] (id 29796, len 84)
>> 13:46:56.765380 192.168.98.201 > 192.168.98.202: OSPFv2-ls_upd  64:
>> rtrid 192.168.98.201 backbone auth "secret^@^@" { E S 8000000E age 6 rtr
>> 192.168.98.201 { dr 192.168.98.200 if 192.168.98.201 tos 0 metric 65535
>> } } [tos 0xc0] [ttl 1] (id 5472, len 84)
>> 13:46:56.765418 192.168.98.201 > 192.168.98.202: OSPFv2-ls_req  36:
>> rtrid 192.168.98.201 backbone auth "secret^@^@" { rtr 192.168.98.202 }
>> [tos 0xc0] [ttl 1] (id 56664, len 56)
>> 13:46:56.765519 192.168.98.203 > 192.168.98.201: OSPFv2-ls_req  36:
>> rtrid 192.168.98.203 backbone auth "secret^@^@" { rtr 192.168.98.201 }
>> [tos 0xc0] [ttl 1] (id 20557, len 56)
>> 13:46:56.765519 192.168.98.203 > 224.0.0.6: OSPFv2-ls_upd  76: rtrid
>> 192.168.98.203 backbone auth "secret^@^@" { E S 80000023 age 6 rtr
>> 192.168.98.203 { net 10.10.10.10 mask 255.255.255.255 tos 0 metric 65535
>> } { dr 192.168.98.200 if 192.168.98.203 tos 0 metric 10 } } [tos 0xc0]
>> [ttl 1] (id 55930, len 96)
>> 13:46:56.765597 192.168.98.202 > 192.168.98.201: OSPFv2-ls_req  36:
>> rtrid 192.168.98.202 backbone auth "secret^@^@" { rtr 192.168.98.201 }
>> [tos 0xc0] [ttl 1] (id 60479, len 56)
>> 13:46:56.765737 192.168.98.201 > 192.168.98.203: OSPFv2-ls_ack  44:
>> rtrid 192.168.98.201 backbone auth "secret^@^@" { E S 80000023 age 6 rtr
>> 192.168.98.203 } [tos 0xc0] [ttl 1] (id 10666, len 64)
>> 13:46:56.765796 192.168.98.201 > 224.0.0.5: OSPFv2-ls_upd  64: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" { E S 8000000F age 1 rtr
>> 192.168.98.201 { dr 192.168.98.200 if 192.168.98.201 tos 0 metric 65535
>> } } [tos 0xc0] [ttl 1] (id 13632, len 84)
>> 13:46:56.765819 192.168.98.200 > 224.0.0.5: OSPFv2-ls_upd  116: rtrid
>> 192.168.98.200 backbone auth "secret^@^@" { E S 80000023 age 7 rtr
>> 192.168.98.203 { net 10.10.10.10 mask 255.255.255.255 tos 0 metric 65535
>> } { dr 192.168.98.200 if 192.168.98.203 tos 0 metric 10 } } { E [|ospf]
>> [tos 0xc0] [ttl 1] (id 18213, len 136)
>> 13:46:58.769384 192.168.98.203 > 224.0.0.6: OSPFv2-ls_ack  64: rtrid
>> 192.168.98.203 backbone auth "secret^@^@" { E S 8000000E age 6 rtr
>> 192.168.98.201 } { E S 8000000D age 1 net dr 192.168.98.200 if
>> 192.168.98.200 } [tos 0xc0] [ttl 1] (id 16783, len 84)
>> 13:46:58.769522 192.168.98.201 > 224.0.0.5: OSPFv2-ls_ack  44: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" { E S 8000000D age 1 net dr
>> 192.168.98.200 if 192.168.98.200 } [tos 0xc0] [ttl 1] (id 18538, len 64)
>> 13:46:58.769542 192.168.98.200 > 224.0.0.5: OSPFv2-ls_ack  44: rtrid
>> 192.168.98.200 backbone auth "secret^@^@" { E S 8000000F age 1 rtr
>> 192.168.98.201 } [tos 0xc0] [ttl 1] (id 29090, len 64)
>> 13:46:58.769738 192.168.98.202 > 224.0.0.6: OSPFv2-ls_ack  124: rtrid
>> 192.168.98.202 backbone auth "secret^@^@" { E S 8000000E age 6 rtr
>> 192.168.98.201 } { E S 80000001 age 1:00:00 net dr 192.168.98.201 if
>> 192.168.98.201 } { E S 80000023 age 7 rtr 192.168.98.203 } [tos 0xc0]
>> [ttl 1] (id 11688, len 144)
>> 13:47:01.770218 192.168.98.200 > 192.168.98.201: OSPFv2-ls_upd  76:
>> rtrid 192.168.98.200 backbone auth "secret^@^@" { E S 80000023 age 12
>> rtr 192.168.98.203 { net 10.10.10.10 mask 255.255.255.255 tos 0 metric
>> 65535 } { dr 192.168.98.200 if 192.168.98.203 tos 0 metric 10 } } [tos
>> 0xc0] [ttl 1] (id 39965, len 96)
>> 13:47:01.770242 192.168.98.202 > 224.0.0.6: OSPFv2-ls_upd  76: rtrid
>> 192.168.98.202 backbone auth "secret^@^@" { E S 80000019 age 6 rtr
>> 192.168.98.202 { net 10.10.10.10 mask 255.255.255.255 tos 0 metric 10 }
>> { dr 192.168.98.200 if 192.168.98.202 tos 0 metric 10 } } [tos 0xc0]
>> [ttl 1] (id 32673, len 96)
>> 13:47:01.770449 192.168.98.201 > 192.168.98.202: OSPFv2-ls_req  36:
>> rtrid 192.168.98.201 backbone auth "secret^@^@" { rtr 192.168.98.202 }
>> [tos 0xc0] [ttl 1] (id 8167, len 56)
>> 13:47:01.770476 192.168.98.201 > 192.168.98.202: OSPFv2-ls_upd  64:
>> rtrid 192.168.98.201 backbone auth "secret^@^@" { E S 8000000F age 6 rtr
>> 192.168.98.201 { dr 192.168.98.200 if 192.168.98.201 tos 0 metric 65535
>> } } [tos 0xc0] [ttl 1] (id 4781, len 84)
>> 13:47:01.770490 192.168.98.203 > 224.0.0.6: OSPFv2-ls_upd  64: rtrid
>> 192.168.98.203 backbone auth "secret^@^@" { E S 8000000E age 12 rtr
>> 192.168.98.201 { dr 192.168.98.200 if 192.168.98.201 tos 0 metric 65535
>> } } [tos 0xc0] [ttl 1] (id 42500, len 84)
>> 13:47:01.770518 192.168.98.200 > 224.0.0.5: OSPFv2-ls_upd  76: rtrid
>> 192.168.98.200 backbone auth "secret^@^@" { E S 80000019 age 7 rtr
>> 192.168.98.202 { net 10.10.10.10 mask 255.255.255.255 tos 0 metric 10 }
>> { dr 192.168.98.200 if 192.168.98.202 tos 0 metric 10 } } [tos 0xc0]
>> [ttl 1] (id 15481, len 96)
>> 13:47:01.770628 192.168.98.201 > 192.168.98.203: OSPFv2-ls_upd  100:
>> rtrid 192.168.98.201 backbone auth "secret^@^@" { E S 80000001 age
>> 1:00:00 net dr 192.168.98.201 if 192.168.98.201 mask 255.255.255.0 rtrs
>> 192.168.98.202 192.168.98.203 192.168.98.201 } { E S 8000000F age 6 rtr
>> 192.168.98.201 } [|ospf] [tos 0xc0] [ttl 1] (id 18229, len 120)
>> 13:47:01.770739 192.168.98.201 > 192.168.98.200: OSPFv2-ls_ack  44:
>> rtrid 192.168.98.201 backbone auth "secret^@^@" { E S 80000023 age 12
>> rtr 192.168.98.203 } [tos 0xc0] [ttl 1] (id 23688, len 64)
>> 13:47:01.770839 192.168.98.202 > 192.168.98.201: OSPFv2-ls_upd  76:
>> rtrid 192.168.98.202 backbone auth "secret^@^@" { E S 80000019 age 6 rtr
>> 192.168.98.202 { net 10.10.10.10 mask 255.255.255.255 tos 0 metric 10 }
>> { dr 192.168.98.200 if 192.168.98.202 tos 0 metric 10 } } [tos 0xc0]
>> [ttl 1] (id 4824, len 96)
>> 13:47:01.771012 192.168.98.201 > 192.168.98.202: OSPFv2-ls_ack  44:
>> rtrid 192.168.98.201 backbone auth "secret^@^@" { E S 80000019 age 6 rtr
>> 192.168.98.202 } [tos 0xc0] [ttl 1] (id 48592, len 64)
>> 13:47:01.771070 192.168.98.203 > 192.168.98.201: OSPFv2-ls_ack  44:
>> rtrid 192.168.98.203 backbone auth "secret^@^@" { E S 8000000F age 6 rtr
>> 192.168.98.201 } [tos 0xc0] [ttl 1] (id 50511, len 64)
>> 13:47:03.778476 192.168.98.203 > 224.0.0.6: OSPFv2-ls_ack  104: rtrid
>> 192.168.98.203 backbone auth "secret^@^@" { E S 80000001 age 1:00:00 net
>> dr 192.168.98.201 if 192.168.98.201 } { E S 8000000F age 7 rtr
>> 192.168.98.201 } { E S 80000001 age 1:00:00 net dr 192.168.98.201 if
>> 192.168.98.201 } [tos 0xc0] [ttl 1] (id 63751, len 124)
>> 13:47:03.778985 192.168.98.202 > 224.0.0.6: OSPFv2-ls_ack  44: rtrid
>> 192.168.98.202 backbone auth "secret^@^@" { E S 8000000F age 6 rtr
>> 192.168.98.201 } [tos 0xc0] [ttl 1] (id 34324, len 64)
>> 13:47:06.759348 192.168.98.200 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.200 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 100 dead 40 dr 192.168.98.200 bdr 192.168.98.201 nbrs 192.168.98.203
>> 192.168.98.201 192.168.98.202 [tos 0xc0] [ttl 1] (id 28952, len 76)
>> 13:47:06.759349 192.168.98.202 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.202 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 0 dead 40 dr 192.168.98.200 bdr 192.168.98.201 nbrs 192.168.98.201
>> 192.168.98.200 192.168.98.203 [tos 0xc0] [ttl 1] (id 25646, len 76)
>> 13:47:06.759524 192.168.98.203 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.203 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 0 dead 40 dr 192.168.98.200 bdr 192.168.98.201 nbrs 192.168.98.201
>> 192.168.98.200 192.168.98.202 [tos 0xc0] [ttl 1] (id 3310, len 76)
>> 13:47:06.759532 192.168.98.201 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 10 dead 40 dr 192.168.98.200 bdr 192.168.98.201 nbrs 192.168.98.200
>> 192.168.98.202 192.168.98.203 [tos 0xc0] [ttl 1] (id 23021, len 76)
>> 13:47:06.788050 192.168.98.203 > 224.0.0.6: OSPFv2-ls_upd  112: rtrid
>> 192.168.98.203 backbone auth "secret^@^@" { E S 8000000F age 13 rtr
>> 192.168.98.201 { dr 192.168.98.200 if 192.168.98.201 tos 0 metric 65535
>> } } { E S 80000019 age 13 rtr 192.168.98.202 } [|ospf] [tos 0xc0] [ttl
>> 1] (id 12815, len 132)
>> 13:47:06.788051 192.168.98.200 > 192.168.98.201: OSPFv2-ls_upd  76:
>> rtrid 192.168.98.200 backbone auth "secret^@^@" { E S 80000019 age 12
>> rtr 192.168.98.202 { net 10.10.10.10 mask 255.255.255.255 tos 0 metric
>> 10 } { dr 192.168.98.200 if 192.168.98.202 tos 0 metric 10 } } [tos
>> 0xc0] [ttl 1] (id 31226, len 96)
>> 13:47:06.788317 192.168.98.201 > 192.168.98.203: OSPFv2-ls_ack  44:
>> rtrid 192.168.98.201 backbone auth "secret^@^@" { E S 8000000F age 13
>> rtr 192.168.98.201 } [tos 0xc0] [ttl 1] (id 26313, len 64)
>> 13:47:06.788367 192.168.98.201 > 192.168.98.203: OSPFv2-ls_ack  44:
>> rtrid 192.168.98.201 backbone auth "secret^@^@" { E S 80000019 age 13
>> rtr 192.168.98.202 } [tos 0xc0] [ttl 1] (id 15304, len 64)
>> 13:47:06.788414 192.168.98.201 > 192.168.98.200: OSPFv2-ls_ack  44:
>> rtrid 192.168.98.201 backbone auth "secret^@^@" { E S 80000019 age 12
>> rtr 192.168.98.202 } [tos 0xc0] [ttl 1] (id 22491, len 64)
>> 13:47:06.789275 192.168.98.202 > 224.0.0.6: OSPFv2-ls_upd  112: rtrid
>> 192.168.98.202 backbone auth "secret^@^@" { E S 80000023 age 18 rtr
>> 192.168.98.203 { net 10.10.10.10 mask 255.255.255.255 tos 0 metric 65535
>> } { dr 192.168.98.200 if 192.168.98.203 tos 0 metric 10 } } { E [|ospf]
>> [tos 0xc0] [ttl 1] (id 22696, len 132)
>> 13:47:06.789496 192.168.98.201 > 192.168.98.202: OSPFv2-ls_ack  44:
>> rtrid 192.168.98.201 backbone auth "secret^@^@" { E S 80000023 age 18
>> rtr 192.168.98.203 } [tos 0xc0] [ttl 1] (id 777, len 64)
>> 13:47:06.789497 192.168.98.201 > 192.168.98.202: OSPFv2-ls_ack  44:
>> rtrid 192.168.98.201 backbone auth "secret^@^@" { E S 80000001 age
>> 1:00:00 net dr 192.168.98.201 if 192.168.98.201 } [tos 0xc0] [ttl 1] (id
>> 26560, len 64)
>> 13:47:16.771753 192.168.98.201 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 10 dead 40 dr 192.168.98.200 bdr 192.168.98.201 nbrs 192.168.98.200
>> 192.168.98.202 192.168.98.203 [tos 0xc0] [ttl 1] (id 16260, len 76)
>> 13:47:16.772049 192.168.98.200 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.200 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 100 dead 40 dr 192.168.98.200 bdr 192.168.98.201 nbrs 192.168.98.203
>> 192.168.98.201 192.168.98.202 [tos 0xc0] [ttl 1] (id 9947, len 76)
>> 13:47:16.772050 192.168.98.202 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.202 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 0 dead 40 dr 192.168.98.200 bdr 192.168.98.201 nbrs 192.168.98.201
>> 192.168.98.200 192.168.98.203 [tos 0xc0] [ttl 1] (id 54548, len 76)
>> 13:47:16.772050 192.168.98.203 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.203 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 0 dead 40 dr 192.168.98.200 bdr 192.168.98.201 nbrs 192.168.98.201
>> 192.168.98.200 192.168.98.202 [tos 0xc0] [ttl 1] (id 21814, len 76)
>> 13:47:26.774278 192.168.98.203 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.203 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 0 dead 40 dr 192.168.98.200 bdr 192.168.98.201 nbrs 192.168.98.201
>> 192.168.98.200 192.168.98.202 [tos 0xc0] [ttl 1] (id 50490, len 76)
>> 13:47:26.774423 192.168.98.201 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 10 dead 40 dr 192.168.98.200 bdr 192.168.98.201 nbrs 192.168.98.200
>> 192.168.98.202 192.168.98.203 [tos 0xc0] [ttl 1] (id 17263, len 76)
>> 13:47:26.774518 192.168.98.200 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.200 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 100 dead 40 dr 192.168.98.200 bdr 192.168.98.201 nbrs 192.168.98.203
>> 192.168.98.201 192.168.98.202 [tos 0xc0] [ttl 1] (id 24212, len 76)
>> 13:47:26.774518 192.168.98.202 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.202 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 0 dead 40 dr 192.168.98.200 bdr 192.168.98.201 nbrs 192.168.98.201
>> 192.168.98.200 192.168.98.203 [tos 0xc0] [ttl 1] (id 49902, len 76)
>> 13:47:36.778146 192.168.98.201 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.201 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 10 dead 40 dr 192.168.98.200 bdr 192.168.98.201 nbrs 192.168.98.200
>> 192.168.98.202 192.168.98.203 [tos 0xc0] [ttl 1] (id 27885, len 76)
>> 13:47:36.778382 192.168.98.200 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.200 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 100 dead 40 dr 192.168.98.200 bdr 192.168.98.201 nbrs 192.168.98.203
>> 192.168.98.201 192.168.98.202 [tos 0xc0] [ttl 1] (id 9857, len 76)
>> 13:47:36.778618 192.168.98.202 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.202 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 0 dead 40 dr 192.168.98.200 bdr 192.168.98.201 nbrs 192.168.98.201
>> 192.168.98.200 192.168.98.203 [tos 0xc0] [ttl 1] (id 57404, len 76)
>> 13:47:36.778618 192.168.98.203 > 224.0.0.5: OSPFv2-hello  56: rtrid
>> 192.168.98.203 backbone auth "secret^@^@" E mask 255.255.255.0 int 10
>> pri 0 dead 40 dr 192.168.98.200 bdr 192.168.98.201 nbrs 192.168.98.201
>> 192.168.98.200 192.168.98.202 [tos 0xc0] [ttl 1] (id 23172, len 76)
>> ^C
>> 3693 packets received by filter
>> 0 packets dropped by kernel
>> fw2#
>>
>>
>>
>> This post is very extensive already, let me know in case you need any
>> specific info.
>>
>> I'll keep lab running.
>>
>> Thank you.
>>

Reply via email to