[Olsr-dev] OLSRv2 packetbb parser
Henning Rogge
(spam-protected)
Thu Sep 4 21:44:23 CEST 2008
Hi,
I'm working on the concept of the packetbb parser for the next
generation of Olsrd at the moment and would like to hear your oppinion
if I missed something important.
PacketBB is a new standardized format that combines binary storage (no
xml/ect.), address compression (great for IPv6 !) and easy
extensibility.
For a description of packetbb see this drafts:
http://tools.ietf.org/wg/manet/draft-ietf-manet-packetbb/
http://tools.ietf.org/html/draft-ietf-manet-timetlv-06
Similar to OLSR packetbb contains a packetheader (with optional data
fields, called TLVs) and a list of messages (each with optional TLVs
and address fields, which can contain TLVs for each address too). Each
message and each data field is identified by a 1 byte id and an
optional 1 byte "extension-id" (complete-id = id*256 + extension-id).
(TLV = time-length-value)
The new parser will work similar to a SAX xml parser, instead of
writing the content of a packetbb message/packet into an intermediate
format, it will use callbacks to allow the interpreter reading the
data directly.
Functions in the parser for reading messages/packets:
1) register a callback for a packet TLV id
(callback should be allowed to modifiy the rest of the package
binary to allow encryption of a packet)
2) register a callback for a message id
3) register a callback for a TLV id in a certain message
(callback should be allowed to modify the rest of a message binary
to allow encryption of a message)
4) register a callback for addresses in a message id
5) register a callback for a TLV id used in an address of a certain message
Functions in the parser to write messages/packets:
6) register a callback for an outgoing package
(useful for adding TLVs to an outgoing message)
7) register a callback for a packet postprocessor
(for encrypting packets ?)
8) create a new message
9) register a callback for an outgoing message id
(useful for adding TLVs to messages of other Olsrd parts)
7) add a TLV to a message
8) register a callback for a message postprocessor
(for message encryption ?)
9) add an address to a message
10) register a callback for an outgoing address in a message
(useful for adding TLVs to an address in a message of other Olsrd parts)
11) add a TLV to an address
Thoughts ? Comments ? Ideas ?
Henning
--
"Wo kämen wir hin, wenn alle sagten, wo kämem wir hin, und niemand
ginge, um einmal zu schauen, wohin man käme, wenn man ginge." (Kurt
Marti)
More information about the Olsr-dev
mailing list