Subject: [manet] OLSR packet format implementation

From: manet user <[email-masked]>
Date: Thu, 18 Mar 2004 13:54:09 -0800 (PST)

Hi,
 
I am trying to implement OLSR and have couple of questions regarding OLSR packet format. OLSR packet contain "Packet Length" and "Packet Seq Num" and after that there can be multiple messages (for e.g. 1 Hello, 1 TC).
 
1) Since Hello and TC messages are periodically sent, each having its own timer expiry. When will a condition happen that OLSR packet contains more than one message type ? Also, if an OLSR packet has 1 hello and 1 TC,  where TC needs to be forwarded, will receiving node create a new TC extracting information from the received packet ?
 
2) When a node receives an OLSR packet, it will loop through each message type and process it accordingly. It will keep on adding "Message Size" from each message processed till it becomes equal to the "Packet Length". Can this be one of the right ways of processing an OLSR packet?
 
Your comments will be a great help. Thanks in advance.
 
-MU

Do you Yahoo!?
Yahoo! Mail - More reliable, more storage, less spam

---

From: Andreas Tønnesen <[email-masked]>
Date: Fri, 19 Mar 2004 08:08:37 -0900

Hi,

My comments are inline - based on my experiences from OLSR 
implementation and testing.

manet user wrote:
> Hi,
>  
> I am trying to implement OLSR and have couple of questions regarding 
> OLSR packet format. OLSR packet contain "Packet Length" and "Packet Seq 
> Num" and after that there can be multiple messages (for e.g. 1 Hello, 1 TC).
>  
> 1) Since Hello and TC messages are periodically sent, each having its 
> own timer expiry. When will a condition happen that OLSR packet contains 
> more than one message type ?

Forwarded messages are to be cached in nodes for a certain time 
interval(jitter) to avoid syncronization. Because of this several 
packets will very often be stacked in the same OLSR package.

You could probably stack generated messages as well - but I have not 
implemented this...

> Also, if an OLSR packet has 1 hello and 1 
> TC,  where TC needs to be forwarded, will receiving node create a new TC 
> extracting information from the received packet ?
>

The hopcount and TTL fields must be altered before forwarding the 
message - but if one is to "rebuild" the TC or not is more of a 
implementation choise.

> 2) When a node receives an OLSR packet, it will loop through each 
> message type and process it accordingly. It will keep on adding "Message 
> Size" from each message processed till it becomes equal to the "Packet 
> Length". Can this be one of the right ways of processing an OLSR packet?

Yes. First you should probably check if the size of the received data 
matches the OLSR packet size. If so, you can loop trough messages until 
your sum of processed data size equals the OLSR packet size.

- Andreas T

-- 
Andreas Tønnesen([email-masked])
UniK University Graduation Center
University of Oslo
http://www.olsr.org

_______________________________________________
manet mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/manet