Hi Joakim,

On Jul 8, 2012, at 8:30 AM, Joakim Tjernlund wrote:

>> From: Joakim Tjernlund <[email protected]>
>> To: [email protected],
>> Date: 2012/07/08 13:07
>> Subject: [OSPF] OSPF Hello questions
>> Sent by: [email protected]
>> 
>> 
>> In RFC2328, last part of chapter 10.5 it reads:
>> 
>>        o   Each Hello Packet causes the neighbor state machine to be
>>            executed with the event HelloReceived.
>> 
>>        o   Then the list of neighbors contained in the Hello Packet is
>>            examined.  If the router itself appears in this list, the
>>            neighbor state machine should be executed with the event 2-
>>            WayReceived.  Otherwise, the neighbor state machine should
>>            be executed with the event 1-WayReceived, and the processing
>>            of the packet stops.
>> 
>>        o   Next, if a change in the neighbor's Router Priority field
>>            was noted, the receiving interface's state machine is
>>            scheduled with the event NeighborChange.
>> 
>>        o   If the neighbor is both declaring itself to be Designated
>>            Router (Hello Packet's Designated Router field = Neighbor IP
>>            address) and the Backup Designated Router field in the
>>            packet is equal to 0.0.0.0 and the receiving interface is in
>>            state Waiting, the receiving interface's state machine is
>>            scheduled with the event BackupSeen.  Otherwise, if the
>>            neighbor is declaring itself to be Designated Router and it
>>            had not previously, or the neighbor is not declaring itself
>>            Designated Router where it had previously, the receiving
>>            interface's state machine is scheduled with the event
>>            NeighborChange.
>> 
>>        o   If the neighbor is declaring itself to be Backup Designated
>>            Router (Hello Packet's Backup Designated Router field =
>>            Neighbor IP address) and the receiving interface is in state
>>            Waiting, the receiving interface's state machine is
>>            scheduled with the event BackupSeen.  Otherwise, if the
>>            neighbor is declaring itself to be Backup Designated Router
>>            and it had not previously, or the neighbor is not declaring
>>            itself Backup Designated Router where it had previously, the
>>            receiving interface's state machine is scheduled with the
>>            event NeighborChange.
>> 
>> Some questions:
>> 1) Is it important that the above events are generated in this order? Is 
>> moving
>>    HelloReceived futher down allowed?

I don't see any advantage to moving it. HelloReceived is a Neighbor FSM event 
and the other events are Interface FSM events.


>> 
>> 2) Following this list to the letter it seems that one could generate the 
>> same
>>    event several times. There could be 3 NeighborChange and 2 BackupSeen, is 
>> this
>>    the intentions or is it enough to generate each type at most once?

Notice that the events are scheduled and not executed. You only need schedule 
one of each type. 

> 
> Follow up questions:
>   3) At what point should the hello options be saved into the internal 
> neighbor state?
> 
>   4) When should prio, DR and BDR be saved? The text mentions saving these a 
> bit earlier but
>      it is unclear if this should be undone when hello pkg should be stopped( 
> see OneWayRecived for
>      and example).

This is implementation dependent but you must be able to denote differences 
from the previous state. If you want to look at a good open source reference 
implementation, go to:   http://www.ospf.org/

Good Luck, 
Acee 


> 
> 
> _______________________________________________
> OSPF mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/ospf

_______________________________________________
OSPF mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/ospf

Reply via email to