Re: [manet] AODVv2 implementation

Anders Nilsson Plymoth <> Tue, 28 November 2023 01:18 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id C6822C151067 for <>; Mon, 27 Nov 2023 17:18:21 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.104
X-Spam-Status: No, score=-2.104 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 0991Tyu9I6Ye for <>; Mon, 27 Nov 2023 17:18:21 -0800 (PST)
Received: from ( [IPv6:2a00:1450:4864:20::52b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by (Postfix) with ESMTPS id E6485C14CF1B for <>; Mon, 27 Nov 2023 17:18:20 -0800 (PST)
Received: by with SMTP id 4fb4d7f45d1cf-54b0e553979so4036762a12.2 for <>; Mon, 27 Nov 2023 17:18:20 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20230601; t=1701134299; x=1701739099;; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=HOc/RGWGVKW6usFdJNK6zuAmcawyFOfwXKL7JuwW8po=; b=OUIYKEo85zUKum/kFAAg2Zi43q/mn+9XRgJdKnO1VcCB1I0+rQaO0ZA4Vqz8SY4EAX mT8tSTPStZFrL4emcK6fTSvc/kv7kF4w/QZE3o0nHhZenH5gnW/NUqOd0emuW1oRHDit MySXTyWMRcrcMS7ZTVTGHyS8aMcZAJAbBvb4uqmr0KNxNTkYtuOWj/0mEfMNtmY3SrPc KZZU/sqM4DyNQLWcrzLLDo9ahXPBMjgmuujCxTUKSTOe4ZcxHBp+J3hBCsyrHvbIzJ0F dG3iodYG09Zt2de7F3FVMpirfgOoto/yDLUYLOvv1mCfYIiOp+IDUDnRMjcqf9eKXVAH JdCA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20230601; t=1701134299; x=1701739099; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=HOc/RGWGVKW6usFdJNK6zuAmcawyFOfwXKL7JuwW8po=; b=jLXSRnl5VTATIUbx18wqskGdDWieusnWUoheVb3pmZXPB5i4jCD6ZRiv19+dpS0XCj Fxa5v6t0BZ8/U04oUS4uA1odiy6JwIsbiAFXM7R7m3vbFdDCTNfT61RaCJsZLEKac8/m gCcqhRhau79XGYqysbrRDLgBfLwbMqgWrhINXHk7UWZShvWKlJOX+dw1B+xpdpeUHWAb MqAbmgpb7Xt817aSIJ6OV8o/UdYfVN+CTs2a0UPfJcThgDuurWKr376riCVhcoGKY/R+ 6mecQg54/ELnpokjxzqTD9tg7MeQ54oItCr5iraF1mEO4PFa/dBrNakmIm9B5SFQGzEe 7Hgg==
X-Gm-Message-State: AOJu0YwBeKqPpYXGAOuSIMGuuvJKpkTb5YDr6i1AivnJsrJPXfrQEWCo pWn+NvLQamxV8lWe11XWpZKO5eFb86HMnfrPQFM=
X-Google-Smtp-Source: AGHT+IF7O1tqqVy+kZrjW06WlQtVa1B5trg76iX58jlf4nqVA+AsoQytg6ybpLdR6B4x9aIFeFmPLe/Uczbu7EMd2Nk=
X-Received: by 2002:a17:907:bc7:b0:9e1:a5eb:8cb4 with SMTP id ez7-20020a1709070bc700b009e1a5eb8cb4mr8280381ejc.58.1701134298592; Mon, 27 Nov 2023 17:18:18 -0800 (PST)
MIME-Version: 1.0
References: <> <> <> <> <> <>
In-Reply-To: <>
From: Anders Nilsson Plymoth <>
Date: Tue, 28 Nov 2023 01:18:07 +0000
Message-ID: <>
To: Henning Rogge <>
Cc: Juliusz Chroboczek <>, "" <>,
Content-Type: multipart/alternative; boundary="000000000000953ba3060b2c3181"
Archived-At: <>
Subject: Re: [manet] AODVv2 implementation
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Mobile Ad-hoc Networks <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 28 Nov 2023 01:18:21 -0000

Hi Henning,

I feel like I need to step into this discussion. First, I agree with you
that I would like to see an implementation of AODVv2. It is needed because
guidance is needed to steer the implementation, with example. Second.
Actually I would like to have access to a working implementation of AODV
(v1), but my team haven't found one (the existing one have degraded into
deprecation and non compilation so we are forced to use OLSRv1/2, (with
AODVv2 would be implementable should someone have the resources, desire and
skills for it.
I worked as an intern in Charlie's group 20+ years ago now at NRC, and at
the time, they had an AODVv6 implementation. That implementation was
promoted by Nokia's effort to drive IPv6 in general, with inputs from Bob
Hinden being part of the team as well. Me, at the time, while working as an
intern, also worked with HUT in Helsinki who in close collaboration with
Nokia and their IPv6 implementation tried to introduce some additional
research features. Some of this early work was adapted by Ryuji Wakikawa
(now Toyota) into NRCs AODVv6 IPv6 and then Nokia and Toyota NEMO work, and
on which me and Ryuji did some collaboration. As part of this work, I
forked AODV-UU into the IPv6 Usagi branch with those mentioned
research extensions. As for ICMPv6 "hacks", Ryuji and Charlie (and team)
worked quite a bit on that, and made some specific modifications and
submitted a couple of drafts to this group about that. It should be in the
archives. In addition, I know the guys at Ericsson in Stockholm (forgot the
names) were interested in this too. For Nokia, this was part of their core
efforts of Nokia breaking into cellular Networking, where IPv6 was a key
part of that strategy, including that AODVv6 implementation albeit somewhat
on the periphery.

 Anyway, fast forward to the future and about a year ago I was in need of
an ad hoc routing implementation in Linux, and for our use case, reactive
routing would make more sense in terms of topology changes. We couldn’t
find any compilable AODV implementations for Linux, with patches, hacks
etc. It was too far gone. We have instead versions of OLSR and OLSRv2
running in our prototypes, with some inadequacies I must say, but doing the
job just fine.  But sadly an AODV implementation is currently not
available, and neither anTo  AODVv2 implementation as per this thread, but
the feasibility should not be in doubt. But again, even pushing a sponsored
draft towards RFCx should have a current implementation. I am sorry to say
this, but even here you need a big car, and my Outback is not that kind of

To get to the point, someone with muscle and money needs to step up.


On Mon, Nov 27, 2023 at 7:11 AM Henning Rogge <> wrote:

> On Sat, Nov 25, 2023 at 3:32 PM Juliusz Chroboczek <> wrote:
> >
> > Hi Charlie,
> >
> > > I do not have an implementation.
> >
> > It is my understanding that Henning has concerns about the
> implementability
> > of AODVv2.  Given Henning's track record, I recommend that we should not
> > dismiss his concerns.
> Hi Juliusz, hi Charlie,
> I would not say that AODV (v1 or v2) is impossible to implement (some
> people have done it), but it's much harder to do on most general
> purpose operation systems than OLSR(v1 or v2) because of its necessary
> interaction with the forwarding plane.
> I think I have seen three AODV (v1) implementations in my life, two of
> them NS-2 emulator patches (I don't trust NS-2 code at all, most
> routing implementations take a lot of liberties that cannot be done on
> real software/hardware)  and one of them Linux... the Linux one was a
> mess, completely with a Linux Kernel module for a kernel 5+ years old
> (which made it in fact unsable).
> It seems no one ever took the time to seem if there is a good way to
> write the "ICMP-trickery/route-status-monitoring" in a clean way,
> which is most likely also the reason why I never heard about an IPv6
> AODV implementation, which would need a different ICMPv6 based hack.
> That's why I would like to see a running implementation of AODVv2...
> it's the only way to validate that you can build interoperable
> implementations from the current draft. It's also the only way to test
> if the metric integration in AODVv2 is working reasonably well,
> because I don't think ANY routing protocol will do us good with
> hop-count metric on any wireless radio that supports multiple data
> rates.
> Henning Rogge
> _______________________________________________
> manet mailing list