[j-nsp] OSPFv3 interoperability with another vendor

Jeff Tantsura jeff.nsp at gmail.com
Wed Dec 5 06:46:06 EST 2007


Hi Paul,

After some more investigation following has been found:

Mastership mismatch is not the cause of the JNPR sending MS bit on. It is
done to signal the master to reset the state machine to ExStart. JNPR does
this because state machine went to BadLSReq and restarted negotiation.

Dec  4 01:59:28.631862 OSPF neighbor fe80::209:b4ff:fe30:114c (ge-1/3/0.0)
state changed from Exchange to ExStart due to BadLSReq (event reason: no LSA
corresponded to the link-state request) (nbr helped: 0) Dec  4
01:59:28.631895 OSPF neighbor fe80::209:b4ff:fe30:114c (ge-1/3/0.0) state
changed by event BadLSReq (event reason: no LSA corresponded to the
link-state request)

The reason for this is the bad LS type, as interpreted by the JNPR;

Dec  4 01:59:28.631674   type Unknown (-1062723575), id 0.0.0.1, adv rtr
192.168.1.4
Dec  4 01:59:28.631692   type Unknown (-2147475455), id 0.0.0.0, adv rtr
192.168.1.4

I suspect bad typecasting of the LSA's type field in either the JNPR or the
another vender router

As you (may) know this field is 16bit in OSPFv3 and 8 in OSPFv2

Please comment on this

Thanks in advance,
Jeff


> -----Original Message-----
> From: Paul Goyette [mailto:pgoyette at juniper.net]
> Sent: dinsdag 4 december 2007 18:19
> To: Stefan Fouant; Jeff Tantsura
> Cc: juniper-nsp at puck.nether.net
> Subject: RE: [j-nsp] OSPFv3 interoperability with another vendor
> 
> > Hmmmm... it appears from the trace output that both routers
> > are indicating
> > that they are the master.  Can you provide the config for the
> > neighboring
> > router?
> 
> This is the normal start of the DB Exchange process.  One of the
> two routers, however, is supposed to "back down" and act as the
> slave.  IIRC, the router with the numerically-higher Router-ID
> should win and remain master.
> 
> Based on the message decodes, it looks like you have
> 
> 		Local router                Neighbor
> 	ID	192.168.1.4                 192.168.1.8
> 	IPv6	fe80::219:e2ff:fe5e:78db    fe80::209:b4ff:fe30:114c
> 
> Based on that, the local (Juniper) router should win.  Perhaps
> the Juniper router is comparing IPv6 addresses rather than the
> Router-ID when making this decision?  It should be easy to
> verify - just change the router IDs so that both the ID and
> IPv6 addresses sort the same and see if they get past the DB-
> Exchange state.
> 
> >
> > Stefan Fouant
> >
> > On 12/4/07, Jeff Tantsura <jeff.nsp at gmail.com> wrote:
> > >
> > > Hi,
> > >
> > > I'm testing OSPFv3 with another vendor and unable to get it UP, the
> > > session
> > > is stuck in ExStart. (no MTU mismatch)
> > >
> > > On another vendor router I see following error :
> > >
> > > %OSPF3-7-NBR: OSPF3-1: 192.168.1.4 EVENT:
> > > Sequence Mismatch STATE:*
> > > >
> > > %OSPF3-7-PKT_ERRORS: OSPF3-1
> > > STATE: Exchange NBR fe80::219:e2ff:fe5e:78db bad DD flags: MS,M,I*
> > >
> > >
> > > Config on Juniper:
> > >
> > > jun at AR1-2# show protocols ospf3
> > > traceoptions {
> > >    file ospf3-debug;
> > >    flag all detail;
> > > }
> > > area 0.0.0.0 {
> > >    interface ge-1/3/0.0;
> > >    interface lo0.0;
> > > }
> > >
> > > [edit]
> > > jun at AR1-2#
> > > [edit]
> > > jun at AR1-2#
> > >
> > >
> > >
> > > jun at AR1-2# run show ospf3 neighbor extensive
> > > ID               Interface              State     Pri   Dead
> > > 192.168.1.8      ge-1/3/0.0             ExStart     1     30
> > > Neighbor-address fe80::209:b4ff:fe30:114c
> > > Area 0.0.0.0, opt 0x13, OSPF3-Intf-Index 7
> > > DR-ID 192.168.1.4, BDR-ID 192.168.1.8
> > > Up 00:51:49
> > >    master, Seq 0xc0ac446c, rexmit DBD in 2 sec
> > >    rexmit LSREQ in 0 sec
> > >
> > >
> > >
> > >
> > >
> > > *** ospf3-debug ***
> > > Dec  4 01:59:27.806421 task_timer_dispatch: calling
> > OSPFv3_DBD rexmit,
> > > late
> > > by 0.015
> > > Dec  4 01:59:27.806499 OSPF resend last DBD to
> > fe80::209:b4ff:fe30:114c
> > > Dec  4 01:59:27.806539 task_timer_uset: timer OSPFv3_Global
> > xmit timer
> > > <Touched> set to interval 0.040000 jitter 10 at 1:59:27
> > > Dec  4 01:59:27.806561 task_timer_expire_immediately: timer
> > OSPFv3_Global
> > > xmit timer set to expire now
> > > Dec  4 01:59:27.806579 OSPF retransmitting DBD to
> > fe80::209:b4ff:fe30:114c
> > > Dec  4 01:59:27.806600 task_timer_dispatch: returned from OSPFv3_DBD
> > > rexmit,
> > > rescheduled in 0
> > > Dec  4 01:59:27.806620 task_timer_dispatch: calling
> > OSPFv3_Global xmit
> > > timer, late by 0.000
> > > Dec  4 01:59:27.806654 OSPF sent DbD fe80::219:e2ff:fe5e:78db ->
> > > fe80::209:b4ff:fe30:114c (ge-1/3/0.0, IFL 0x47)
> > > Dec  4 01:59:27.806676   Version 3, length 28, ID 192.168.1.4, area
> > > 0.0.0.0
> > > Dec  4 01:59:27.806692   checksum 0x0, instance-id 0
> > > Dec  4 01:59:27.806711   options 0x13, i 1, m 1, ms 1, seq
> > 0xc0a8b818, mtu
> > > 1500
> > > Dec  4 01:59:27.806747 task_timer_uset: timer OSPFv3 IDec
> > 4 01:59:18
> > > trace_on: Tracing to "/var/log/ospf3-debug" started
> > > Dec  4 01:59:18.502965 task_job_delete: delete background
> > job OSPF process
> > > rcvd dbd packets for task OSPFv3
> > > Dec  4 01:59:18.526181 background dispatch completed job
> > OSPF process rcvd
> > > dbd packets for task OSPFv3
> > > Dec  4 01:59:18.546337 task_timer_dispatch: calling
> > OSPFv3_Global xmit
> > > timer, late by 0.009
> > > Dec  4 01:59:18.546442 OSPF sent DbD fe80::219:e2ff:fe5e:78db ->
> > > fe80::209:b4ff:fe30:114c (ge-1/3/0.0, IFL 0x47)
> > > Dec  4 01:59:18.546465   Version 3, length 28, ID 192.168.1.4, area
> > > 0.0.0.0
> > > Dec  4 01:59:18.546480   checksum 0x0, instance-id 0
> > > Dec  4 01:59:18.546500   options 0x13, i 1, m 1, ms 1, seq
> > 0xc0a70ec2, mtu
> > > 1500
> > > Dec  4 01:59:18.546571 task_timer_uset: timer OSPFv3
> > > I/O./var/run/ppmd_control_PPM Keepalive <Touched> set to
> > offset 15 at
> > > 1:59:33
> > > Dec  4 01:59:18.546909 task_timer_ucreate: created timer
> > OSPFv3_DBD rexmit
> > > flags <>
> > > Dec  4 01:59:18.546958 task_timer_reset: reset OSPFv3_DBD rexmit
> > > Dec  4 01:59:18.546988
> > > task_timer_set_oneshot_late/O./var/run/ppmd_control_PPM Keepalive
> > > <Touched>
> > > set to offset 15 at 1:59:42
> > > Dec  4 01:59:27.806986 task_timer_reset: reset OSPFv3_DBD rexmit
> > > Dec  4 01:59:27.807022 task_timer_set_oneshot_latest: timer
> > OSPFv3_DBD
> > > rexmit interval set to 4.868805
> > > Dec  4 01:59:27.807048 task_timer_dispatch: returned from
> > OSPFv3_Global
> > > xmit
> > > timer, rescheduled in 0.038
> > > Dec  4 01:59:27.856412 task_timer_dispatch: calling
> > OSPFv3_Global xmit
> > > timer, late by 0.010
> > > Dec  4 01:59:27.856443 task_timer_reset: reset
> > OSPFv3_Global xmit timer
> > > Dec  4 01:59:27.856463 task_timer_dispatch: returned from
> > OSPFv3_Global
> > > xmit
> > > timer, rescheduled in 0
> > > Dec  4 01:59:28.286434 task_timer_dispatch: calling
> > OSPFv3_Adj limit, late
> > > by 0.017
> > > Dec  4 01:59:28.286519 task_timer_dispatch: returned from OSPFv3_Adj
> > > limit,
> > > rescheduled in 4.982
> > > Dec  4 01:59:28.286596 task_timer_dispatch: calling
> > OSPFv3_Packet sample
> > > timer, late by 0.017
> > > Dec  4 01:59:28.286623 task_timer_dispatch: returned from
> > OSPFv3_Packet
> > > sample timer, rescheduled in 4.982
> > > Dec  4 01:59:28.576673 taskst: timer OSPFv3_DBD rexmit
> > interval set to
> > > 4.452851
> > > Dec  4 01:59:18.547022 task_timer_dispatch: returned from
> > OSPFv3_Global
> > > xmit
> > > timer, rescheduled in 0.039
> > > Dec  4 01:59:18.549244 task_process_events: recv ready for OSPFv3
> > > I/O./var/run/ppmd_control
> > > Dec  4 01:59:18.549302 task_process_events: recv ready for OSPFv3
> > > I/O./var/run/ppmd_control
> > > Dec  4 01:59:18.549344 task_timer_uset: timer OSPFv3
> > > I/O./var/run/ppmd_control_PPM Hold <Touched> set to offset
> > 45 at 2:00:03
> > > Dec  4 01:59:18.549388 OSPF rcvd DbD fe80::209:b4ff:fe30:114c ->
> > > fe80::219:e2ff:fe5e:78db (ge-1/3/0.0, IFL 0x47)
> > > Dec  4 01:59:18.549409   Version 3, length 28, ID 192.168.1.8, area
> > > 0.0.0.0
> > > Dec  4 01:59:18.549424   checksum 0x0, instance-id 0
> > > Dec  4 01:59:18.549443   options 0x13, i 1, m 1, ms 1, seq
> > 0xe47, mtu 1500
> > > Dec  4 01:59:18.549479 task_job_create_background: create
> > prio 1 job OSPF
> > > process rcvd dbd packets for task OSPFv3
> > > Dec  4 01:59:18.549517 background dispatch running job OSPF
> > process rcvd
> > > dbd
> > > packets for task OSPFv3
> > > Dec  4 01:59:18.549538 _process_events: recv ready for OSPFv3
> > > I/O./var/run/ppmd_control
> > > Dec  4 01:59:28.576760 task_process_events: recv ready for OSPFv3
> > > I/O./var/run/ppmd_control
> > > Dec  4 01:59:28.576807 task_timer_uset: timer OSPFv3
> > > I/O./var/run/ppmd_control_PPM Hold <Touched> set to offset
> > 45 at 2:00:13
> > > Dec  4 01:59:28.576829 OSPF periodic xmit from
> > fe80::219:e2ff:fe5e:78db to
> > > ff02::5 (IFL 71)
> > > Dec  4 01:59:28.628366 task_process_events: recv ready for OSPFv3
> > > I/O./var/run/ppmd_control
> > > Dec  4 01:59:28.628423 task_process_events: recv ready for OSPFv3
> > > I/O./var/run/ppmd_control
> > > Dec  4 01:59:28.628460 task_timer_uset: timer OSPFv3
> > > I/O./var/run/ppmd_control_PPM Hold <Touched> set to offset
> > 45 at 2:00:13
> > > Dec  4 01:59:28.628498 OSPF rcvd DbD fe80::209:b4ff:fe30:114c ->
> > > fe80::219:e2ff:fe5e:78db (ge-1/3/0.0, IFL 0x47)
> > > Dec  4 01:59:28.628520   Version 3, length 28, ID 192.168.1.8, area
> > > 0.0.0.0
> > >
> > >
> > > Many thanks,
> > > Jeff
> > >
> > > _______________________________________________
> > > juniper-nsp mailing list juniper-nsp at puck.nether.net
> > > https://puck.nether.net/mailman/listinfo/juniper-nsp
> > >
> > _______________________________________________
> > juniper-nsp mailing list juniper-nsp at puck.nether.net
> > https://puck.nether.net/mailman/listinfo/juniper-nsp
> >



More information about the juniper-nsp mailing list