[Olsr-users] Include all advertised IPs in the routing table
Michele Segata
(spam-protected)
Mon Jan 23 09:04:07 CET 2017
Hi Henning,
thanks for the reply.
On 20/01/17 17:24, Henning Rogge wrote:
> On Fri, Jan 20, 2017 at 4:54 PM, Michele Segata <(spam-protected)> wrote:
>>
>> Hi everyone,
>>
>> I have a question regarding the configuration of OLSRv2 in a simple network. Consider the following network topology:
>>
>> .0.1 .1.1 .1.2 .2.1
>> 0 ------------- 1 ------------- 2
>>
>> The network is "flat", and all addresses belong to the 10.0.0.0/8 network. We are trying some experiments using mininet and OLSRv2 with a very basic OLSR configuration which is the following:
>>
>> [olsrv2]
>> originator -127.0.0.1/8
>> originator -::/0
>> originator default_accept
>> [interface]
>> bindto -127.0.0.1/8
>> bindto -::/0
>> bindto default_accept
>>
>> The configuration is taken from the OLSR wiki to enable only IP4. In addition, each node enables OLSR on all its interfaces (but the loopback) using
>>
>> [interface=<interface name>]
>>
>> By running the mininet emulation, everything works almost as expected. After some seconds, the routing tables are populated. For example, this is the routing table for node 0
>>
>> Kernel IP routing table
>> Destination Gateway Genmask Flags Metric Iface
>> 10.0.0.0 * 255.0.0.0 U 0 h0_0-eth1
>> 10.0.1.1 10.0.1.1 255.255.255.255 UGH 2 h0_0-eth1
>> 10.0.2.1 10.0.1.1 255.255.255.255 UGH 2 h0_0-eth1
>
>
> First advise, use "ip route" when looking at any routing table (and
> "ip addr" to look for the addresses). The old tools like "route" hide
> things from you you want to know about.
Yes I was using ip route as well. I just reported the output of route as
example.
>
>>
>> and this is the routing table for node 2
>>
>> Kernel IP routing table
>> Destination Gateway Genmask Flags Metric Iface
>> 10.0.0.0 * 255.0.0.0 U 0 h2_2-eth1
>> 10.0.0.1 10.0.1.2 255.255.255.255 UGH 2 h2_2-eth1
>> 10.0.1.1 10.0.1.2 255.255.255.255 UGH 2 h2_2-eth1
>>
>> I said that everything is working "almost" as expected because I was expecting the routing tables of nodes 0 and 2 to include the IP address 10.0.1.2/32 as a possible destination, but this does not happen.
>> I checked whether node 1 is including both IPs in its messages, and it does, so it seems like OLSR decides not to include that address in the routing table. The questions are:
>> 1) why does this happen?
>> 2) how can I tell OLSR to include all IPs when populating the routing tables?
>
>
> By default Olsrd2 chooses a single "main IP" (called "originator
> address" in the RFCs) from a random interface to identify the router
> itself and only builds up routes towards this IP for every router.
>
> The "loopback" has a priority in this IP selection, so it is a good
> trick to set a "/32" IP on the loopback and add it to the list of
> interfaces to set your IP independently from interfaces.
>
> If you want a router to announce more IPs you need to tell it.
>
> a) you can do this by hand in the configuration:
>
> [olsrv2]
> lan 10.0.1.0/24
>
>
> b) you can ask the lan_import plugin to export all routes belonging to
> an interface
>
> [lan_import=1]
> interface eth0
>
>
> Still, you should think about what a router exports... it is a BAD
> idea to export the "subnet route" belonging to an interface you also
> run olsrd2 on. Because your neighbors will add this route (with you as
> the "next hop") to their routing table, which might disrupt outgoing
> traffic for the interface.
I agree that exporting the whole subnet route is a bad idea, but I could
avoid this by configuring it like
[olsrv2]
lan 10.0.1.1/32
lan 10.0.1.2/32
Would this be correct?
>
> Henning Rogge
>
Thanks again
--
Michele Segata, PhD
Department of Information Engineering and Computer Science
University of Trento, Italy
https://ans.disi.unitn.it/~segata
More information about the Olsr-users
mailing list