[Olsr-dev] [RFC] problems with multiple interfaces on the same medium + proposed solution
Ferry Huberts
(spam-protected)
Fri Jan 13 09:08:29 CET 2017
I have just put our patch on the mailing list.
All interested parties please take a look and please provide feedback.
F
On 06/01/17 11:23, Ferry Huberts wrote:
> Below we describe a problem we encountered with olsrd and we explicitly
> ask any interested party to read this and provide feedback. Especially so
> because we will also propose a solution which will make changes to the
> way HELLO messages are generated and sent.
>
> Ok, now into it...
>
> A while ago we noticed that neighbours of nodes with multiple interfaces
> on the same medium report infinite costs on their links to those nodes.
>
> Below is the setup in which we noticed the problem, which is 100%
> reproducible.
>
> wlan0 wlan0
> 172.31.175.97/16 172.31.175.61/16
> (((*))) ------------------------------------------------- (((*)))
> | |
> | |
> | |
> ____|___ 172.29.175.97/15 ________ 172.29.175.61/15 ____|____
> | |-eth1.2580---------| |--------eth1.2580-| |
> | Node 97 | | Switch | | Node 61 |
> |_________|-eth2.2580---------|________| |_________|
> 172.28.175.97/15
>
>
> In this setup node 97 will report normal link costs for its (wired) links
> to node 61 (see the first table below), while node 61 will report infinite
> link costs for both its (wired) links to node 97 (see the second table
> below).
>
> Table: Links (node 97)
> Local IP Remote IP Hyst. LQ NLQ Cost
> 172.29.175.97 172.29.175.61 0.000 1.000 1.000 0.100
> 172.28.175.97 172.29.175.61 0.000 1.000 1.000 0.100
> 172.31.175.97 172.31.175.61 0.000 1.000 1.000 1.000
>
> Table: Links (node 61)
> Local IP Remote IP Hyst. LQ NLQ Cost
> 172.29.175.61 172.29.175.97 0.000 1.000 0.000 INFINITE
> 172.29.175.61 172.28.175.97 0.000 1.000 0.000 INFINITE
> 172.31.175.61 172.31.175.97 0.000 1.000 1.000 1.000
>
>
> Checking the HELLO messages on node 61 that are received from node 97
> we see the following:
>
> [node 61] # tcpdump -vni eth1.2580 udp port 698
> tcpdump: listening on eth1.2580, link-type EN10MB (Ethernet), capture
> size 262144 bytes
> 06:21:23.528204 IP (tos 0xc0, ttl 1, id 42455, offset 0, flags [DF],
> proto UDP (17), length 80)
> 172.28.175.97.698 > 255.255.255.255.698: OLSRv4, seq 0xf7c0,
> length 52
> Hello-LQ Message (0xc9), originator 172.31.175.97, ttl 1, hop 0
> vtime 3.000s, msg-seq 0x533d, length 48
> hello-time 1.000s, MPR willingness 3
> link-type Symmetric, neighbor-type Symmetric, len 12
> neighbor 172.29.175.61, link-quality 0.00%,
> neighbor-link-quality 0.00%
> link-type Unspecified, neighbor-type Symmetric, len 20
> neighbor 172.31.175.61, link-quality 0.00%,
> neighbor-link-quality 0.00%
> neighbor 172.29.175.61, link-quality 0.00%,
> neighbor-link-quality 0.00%
>
>
> Node 61 receives HELLO messages from node 97 that report (among others):
> 1- a SYMMETRIC link-type to node 61 (172.29.175.61)
> 2- an UNSPECIFIED link-type to node 61 (172.29.175.61)
>
> Clearly, this is 'confusing' and the root cause of why node 61 reports
> infinite costs for the links, as show above.
>
> We pose that in a HELLO message the same neighbour should NEVER be reported
> with conflicting information.
>
>
> Proposed solution:
>
> 1- NEVER report a neighbour more than once in a HELLO message
> 2- Use the 'best' values for a neighbour that is reported in a HELLO
> message
>
>
> 1- Requires that we de-duplicate neighbours when constructing a HELLO
> message.
>
> 2- Requires - when a neighbour is already present in the HELLO message
> that is under construction - that we determine the 'best' values and
> overwrite those in the neighbour that is already present if those
> are worse.
>
>
> We have a quick-and-dirty patch implementing this proposed solution and it
> works well. We are currently cleaning up that patch.
>
>
> We're explicitly soliciting feedback on this approach.
>
>
>
> Greetings,
>
> Iwan, Teco and Ferry
>
--
Ferry Huberts
More information about the Olsr-dev
mailing list