[Ospf-manet] Re: Regarding MPR-OSPF

Richard Ogier <rich.ogier@earthlink.net> Mon, 12 March 2007 21:36 UTC

Return-path: <ospf-manet-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1HQsBf-0003BH-QI; Mon, 12 Mar 2007 17:36:11 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HQsBe-0003BA-Gs for ospf-manet@ietf.org; Mon, 12 Mar 2007 17:36:10 -0400
Received: from mailgate-internal1.sri.com ([128.18.84.103]) by ietf-mx.ietf.org with smtp (Exim 4.43) id 1HQsBd-0007Hc-4o for ospf-manet@ietf.org; Mon, 12 Mar 2007 17:36:10 -0400
Received: from localhost (HELO mailgate-internal1.SRI.COM) (127.0.0.1) by mailgate-internal1.sri.com with SMTP; 12 Mar 2007 21:36:05 -0000
Received: from mercury.esd.sri.com ([128.18.26.21]) by mailgate-internal1.SRI.COM (SMSSMTP 4.1.11.41) with SMTP id M2007031214360528193 for <ospf-manet@ietf.org>; Mon, 12 Mar 2007 14:36:05 -0700
Received: from earthlink.net ([128.18.40.95]) by mercury.esd.sri.com (iPlanet Messaging Server 5.2 HotFix 1.25 (built Mar 3 2004)) with ESMTP id <0JET00GTT80IV2@mercury.esd.sri.com> for ospf-manet@ietf.org; Mon, 12 Mar 2007 14:36:19 -0700 (PDT)
Date: Mon, 12 Mar 2007 14:35:58 -0700
From: Richard Ogier <rich.ogier@earthlink.net>
To: ospf-manet@ietf.org
Message-id: <45F5C7BE.6060505@earthlink.net>
MIME-version: 1.0
Content-type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-transfer-encoding: 7bit
X-Accept-Language: en-us, en
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)
X-Spam-Score: 0.0 (/)
X-Scan-Signature: b7b9551d71acde901886cc48bfc088a6
Subject: [Ospf-manet] Re: Regarding MPR-OSPF
X-BeenThere: ospf-manet@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Discussions of OSPFv3 extensions supporting MANET <ospf-manet.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/ospf-manet>, <mailto:ospf-manet-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/ospf-manet>
List-Post: <mailto:ospf-manet@ietf.org>
List-Help: <mailto:ospf-manet-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/ospf-manet>, <mailto:ospf-manet-request@ietf.org?subject=subscribe>
Errors-To: ospf-manet-bounces@ietf.org

Philippe and Emmanuel,

You did not respond to my following comment posted on 2/19/07:

 > I noticed two possible problems with your GTNetS code for MPR-OSPF.
 > The first one regards the following code in need_adjacency():

 > #ifdef OSPF6_MANET_MPR_ADJ_REDUC_OSPF_MPR
 >       if (on->ospf6_if->synchNode)
 >          return 1;
 >
 >        if (ospf6_lookup_relay_selector(on->ospf6_if, on->router_id))
 >          return 1;
 >        else
 >          return 0;
 > #endif //OSPF6_MANET_MPR_ADJ_REDUC_OSPF_MPR

 > The above code code says that the router forms an adjacency with
 > a neighbor only if the router is a synch node or the neighbor
 > is an MPR selector.  This can cause unidirectional adjacencies,
 > as explained below.  (A similar problem with the OSPF-MDR code
 > was discovered and corrected over a year ago.)
 > ...
 > Therefore, it is necessary for the need_adjacency condition to be
 > symmetric. I.e., node i should consider node j adjacent if and only
 > if node j considers node i adjacent. More specifically, need_adjacency()
 > should also return true if the neighbor is a synch node or an MPR.
 > (Notice that the need_adjacency condition is symmetric in RFC 2328.)

However, you *did* quietly modify your draft to incorporate my
suggestion to make the need_adjacency condition symmetric, in
Section 5.3.2 of your updated draft:

 >   the state of this neighbor MUST be changed to (i) 2-WAY if the neighbor
 >   is not in the MPR set or the MPR selector set, or (ii) ExStart if the
 >   neighbor is in the MPR set or the MPR selector set, or if the
 >   neighbor or the router itself is a synch router.

You also added the S bit to TLV type 4 to allow a router to know
whether a neighbor is a synch router.

I guess I should be happy that you incorporated my suggestion.
But I think I saved you significant effort, since it was not easy
to find this bug in OSFP-MDR more than a year ago, so I think
some sort of thanks would be appropriate.
For consistency, you also need to modify the condition
for forming an adjacency in Section 5.3 (to make the
condition symmetric).

Also, I see you modified the rule for selecting synch routers
to be consistent with your code, i.e.,

o  a MANET router decides it is a synch router if and only if the
   router has a higher ID than any other ID received in Hello packets
   or Router-LSAs.

I see two possible problems with the above rule.
First, you are now ignoring Willingness (or Router Priority),
so a router that has very little remaining battery life
might be selected to be the synch router (and thus become
adjacent with all of its neighbors).
I feel sorry for the router with the largest RID.

Second, this does not work if the highest RID node in the area is
a non-MANET router (does not have a MANET interface).
You could select the synch router to be the MANET router with the
largest RID (and indicate by a bit in the LSA whether a router
is a MANET router), but even this does not work since the largest
RID router might not be reachable via MANET links, or the route
might have to use multiple MANET interfaces.
Therefore, unless you have a way to fix this, I think it is necessary
to select synch routers based on local information, possibly by
looking at all 2-hop neighbors.
Another possible solution is to identify the synch router for each
interface in Hello packets, so a router can be sure that there is
a MANET path to the synch router via the same MANET interface.
However, this could take significant time to converge if the
synch router for a given interface leaves the network
or becomes unreachable.

Richard




_______________________________________________
Ospf-manet mailing list
Ospf-manet@ietf.org
https://www1.ietf.org/mailman/listinfo/ospf-manet