Subject: [manet] #31 (aodvv2): Suitability for implementation on commodity OS

From: "manet issue tracker" <[email-masked]>
Date: Thu, 03 Apr 2014 21:23:56 -0000

#31: Suitability for implementation on commodity OS

 (Thomas Clausen)

 First, there is the whole "react to failure to deliver an IP datagram due
 to not having an entry in the routing table, and by way of flooding
 control traffic", which is a formidable vector for making every router in
 the network participate in a DDOS attack.

 Second, from section 5.1:

 {{{
                 The route table entry is a conceptual data structure.
                 Implementations may use any internal representation so
 long
                 as it provides access to the information specified below
 }}}
 .
 <snip>

 {{{
                 The route's state determines the operations that can be
                 performed on the route table entry.  During use, an Active
                 route is maintained continuously by AODVv2 and is
 considered
                 to remain active as long as it is used at least once
 during
                 every ACTIVE_INTERVAL.  When a route is no longer Active,
                 it becomes an Idle route.  After an idle route remains
 Idle
                 for MAX_IDLETIME, it becomes an Expired route.
 }}}

         So, part of the data structures, maintained by this protocol, are
 the "route table entry", whose state depends on if a route is "used at
 least once during ..." -- i.e., the routing process must be notified every
 time a data packet is being forwarded? I do not know for sure, but I am
 not sure that that's even possible to do on commodity operating systems -
 but, it does appear to be rather inefficient, increasing per-packet
 processing overhead for a router?

 Section 8.1:

 {{{
                 Before using a route to forward a packet, an AODVv2 router
                 MUST check the status of the route as follows.
 }}}

 Does this imply that the operating system needs to also be modified to
 also consult with data-structures, maintained internally by this protocol?

 The point here is not (necessarily) that it is bad to do so - but, it
 would be required that all such assumptions and requirements be called out
 in the applicability statement: "This protocol requires that the operating
 system permits you to do XXX, YYY, ZZZ".

-- 
-------------------------+-------------------------------------------------
 Reporter:               |      Owner:  draft-ietf-manet-
  [email-masked]  |  [email-masked]
     Type:  defect       |     Status:  new
 Priority:  major        |  Milestone:
Component:  aodvv2       |    Version:
 Severity:  Active WG    |   Keywords:
  Document               |
-------------------------+-------------------------------------------------

Ticket URL: <http://trac.tools.ietf.org/wg/manet/trac/ticket/31>
manet <http://tools.ietf.org/manet/>