Subject: Re: [manet] I-D Action:draft-ietf-manet-packetbb-16.txt

From: Henning Rogge <[email-masked]>
Date: Fri, 14 Nov 2008 09:31:07 +0100

Hello,

I talked with Thomas Clausen about my last proposal for packetbb-16 at the 
OLSR Interop 2008 in Ottawa, so I'm resending a cleaned up version of the 
proposal:

I would suggest two other address families:

- an address-family for MAC addresses (6 octets)
- an address family for specifying an additional 1 octet header field that 
contains the address length. This will allow the use of packetbb with any 
kind of network address without the need for proprietary address families.

The last option allows the creation of generic packetbb parser/tools (For 
example plugin for wireshark) which can parse a message with any kind of 
address type. Otherwise this tools cannot understand the _whole message_ 
because of an unknown address length.
I have already implemented a prototype of a wireshark dissector for packetbb 
and plan to send it to the wireshark team soon.

proposal for new message-header structure (section 5.2)
-------------------------------------------------------

       <msg-header> := <msg-type>
                       <msg-flags>
                       <msg-addr-family>
                       <msg-size>
                       <msg-addr-size>?
                       <msg-orig-addr>?
                       <msg-hop-limit>?
                       <msg-hop-count>?
                       <msg-seq-num>?

   where:

   <tlv-block>  is as defined in Section 5.4.

   <addr-block>  is as defined in Section 5.3.

   <msg-type>  is an 8 bit unsigned integer field, specifying the type
      of the message.

   <msg-flags>  is a 5 bit field, specifying the interpretation of the
      remainder of the message header:

      bit 0 (mhasorig):  If cleared ('0'), then <msg-orig-addr> is not
         included in the <msg-header>.  If set ('1'), then <msg-orig-
         addr> is included in the <msg-header>.

      bit 1 (mhashoplimit):  If cleared ('0'), then <msg-hop-limit> is
         not included in the <msg-header>.  If set ('1'), then <msg-hop-
         limit> is included in the <msg-header>.

      bit 2 (mhashopcount):  If cleared ('0'), then <msg-hop-count> is
         not included in the <msg-header>.  If set ('1'), then <msg-hop-
         count> is included in the <msg-header>.

      bit 3 (mhasseqnum):  If cleared ('0'), then <msg-seq-num> is not
         included in the <msg-header>.  If set ('1'), then <msg-seq-num>
         is included in the <msg-header>.

      bit 4 (mnouniord):  If cleared ('0'), then the message TLV block
         and all address TLV blocks in the message MUST conform to the
         constraints in Section 5.4.2.  If set ('1'), then the message
         TLV block and all address TLV blocks in the message are not
         subject to the constraints in Section 5.4.2.  Additional
         constraints MAY be imposed by a protocol using this
         specification.

   <msg-addr-family>  is a 3 bit unsigned integer field,
         specifying the address family (and hence, the address size)
         of all addresses included in this message. The value of this
         field MUST be interpreted according to table X.

   +---------------+------------------+--------------------------------+
   | msgaddrfamily | <address-length> |         address-length         |
   +---------------+------------------+--------------------------------+
   |    0  -  6    |   not included   | size defined according to the  |
   |               |                  |  IANA registry in Section 6.2. |
   |       7       |     included     |        <address-length>        |
   +---------------+------------------+--------------------------------+

   Table X: Interpretation of of msgaddrfamily

   <address-length> if present is a 8 bit unsigned integer field, which
      contains the number of octets of all addresses included in this
      message

   address-length  is a variable whose value is the length  in octets of
      all addresses in this message, i.e. of the <msg-orig-addr> as well
      as of addresses included in address blocks as defined in Section 5.3.
      It's value is specified according to table X. For example,
      address-length is 4 if the address family is IPv4, or 16 if the
      address family is IPv6.

....

proposal for standard IANA registry (section 6.2):
--------------------------------------------------

    +--------+-----------------------------------+-------------------+
    | Family | Description                       | Allocation Policy |
    +--------+-----------------------------------+-------------------+
    |    0   | 4 octet IPv4 addresses [RFC791]   |                   |
    |    1   | 16 octet IPv6 addresses [RFC2460] |                   |
    |    2   | 6 octet IEEE 802 addresses        |                   |
    |   3-6  | Unassigned                        | Expert Review     |
    |    7   | Implicit specified address length |                   |
    +--------+-----------------------------------+-------------------+

Henning Rogge

*************************************************
Diplom Informatiker Henning Rogge
Forschungsgesellschaft für
Angewandte Naturwissenschaften e. V. (FGAN) 
Neuenahrer Str. 20, 53343 Wachtberg, Germany
Tel.: 0049 (0)228 9435-961
Fax: 0049 (0)228 9435-685
E-Mail: [email-masked]
Web: www.fgan.de
************************************************
Sitz der Gesellschaft: Bonn
Registergericht: Amtsgericht Bonn VR 2530
Vorstand: Dr. rer. nat. Ralf Dornhaus (Vors.), Prof. Dr. Joachim Ender 
(Stellv.)

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