All of lore.kernel.org
 help / color / mirror / Atom feed
From: liu <liudows@aliyun.com>
To: b.a.t.m.a.n@lists.open-mesh.org
Subject: Re: [B.A.T.M.A.N.] how to make IP layer handle the change of network topology
Date: Fri, 08 Aug 2014 19:10:39 +0800	[thread overview]
Message-ID: <53E4B02F.2040506@aliyun.com> (raw)
In-Reply-To: <201408071032.05730.sw@simonwunderlich.de>

[-- Attachment #1: Type: text/plain, Size: 3616 bytes --]

Thanks for reply. I have tried to fix this problem followed by Simon's 
guide.  Unfortunately It stil doesn't work.I draw a pciture named 
'topo.jpg' in the  attachment to describe my situation.

Gateway B and C are wired to router 192.168.1.1 through their 'WAN' 
interface. They are in the same LAN. 'bat0' and 'eth0' are bridged by 
'br-lan' interface, and are assigned a mesh subnet IP address '10.130.1.x'.

Client A connected to B and C by mesh network. 'bat0' and 'wan' is 
bridged by 'br-wan' in Client A. 'br-wan' is assigned a subnet IP 
address by DHCP server in B or C, for example '10.130.1.138'.

Now,  client A choose B as it's gateway, and it's routing table is :
root@dragino2-71e100:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref Use   
Iface
default         10.130.1.20     0.0.0.0         UG       0 0 0     br-wan
10.10.1.0        *              255.255.255.0   U        0 0 0     wlan0-1
10.130.1.0       *              255.255.255.0   U        0 0 0     br-lan
10.130.1.0       *              255.255.255.0   U        0 0 0     br-wan

Now, I can ping to the  router ' 192.168.1.1'  from A.

Then, shuting down the node B. In the routing table of A,  node B is 
still the default gateway. A can't ping to '192.168.1.1' now.

The key of this issue is client A and the internet router are not in the 
same network segment. So, the default gateway of A is B or C, but not 
the router. If B is lost, A can't change it's default gateway to C. In 
another words, it's not a self-healing network in this situation.


Best regards,
liu



在 2014/8/7 16:32, Simon Wunderlich 写道:
> Bah, i hit the wrong button before finishing the mail :)
>
>> Hi liu,
>>
>>> Hello, eveyone, I am learning the batman.adv recently.
>>>
>>> We know that batman.adv works on layer 2. When the network topology
>>> change, batman.adv can know this change and handle it. But the IP layer
>>> doesn't know that. How to make IP layer handle the change of network
>>> topology?
>> The IP layer does not need to know - to the upper layers, a batman-adv
>> network appears to be a network where all nodes are just one hop away -
>> although they might be more far away in practice. So if you insert an IP
>> packet, it will get transported automatically to the right destination
>> (provided batman-adv knows where that is), even over multiple hops.
>>
>>> For example, I have 3 mesh nodes, client node A, gateway node B and
>>> geteway node C. A connects  to internet via B. Then I shutdown B. I
>>> guess A will switch to C as it's gateway node automatically. But it's
>>> not so. A continuously send the ARP request packet to search the MAC
>>> address of B. The default gateway is still B, not C.
>> This will only work if the gateways IP stays the same. This could work like
>> that:
>>   * connect B and C to the same LAN, and enable bridge loop avoidance in
>> batman-adv
>>   * This LAN should have only one router to the internet (e.g. your ADSL
>> modem).
>>   * bridge the batman-interface bat0 and you Ethernet interface eth0 using a
>> linux bridge device
> Please see our quick start guide for more information on the topic:
>
> http://www.open-mesh.org/projects/batman-adv/wiki/Quick-start-guide#Mixing-
> non-BATMAN-systems-with-batman-adv
>
>>> So, how should I do to make the IP layer be aware of that the gateway has
>>> swithed to another one?
> By using bridges, you always send to the same gateway in your LAN, which does
> not change IP or MAC addresses - so your clients don't need to be aware of the
> topology change.
>
> Cheers,
>       Simon
>


[-- Attachment #2: topo.jpg --]
[-- Type: image/jpeg, Size: 105459 bytes --]

  reply	other threads:[~2014-08-08 11:10 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-07  7:49 [B.A.T.M.A.N.] how to make IP layer handle the change of network topology liudows
2014-08-07  8:24 ` Antonio Quartulli
2014-08-07  8:57   ` Antonio Quartulli
2014-08-07  8:29 ` Simon Wunderlich
2014-08-07  8:32   ` Simon Wunderlich
2014-08-08 11:10     ` liu [this message]
2014-08-08 12:20       ` Simon Wunderlich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53E4B02F.2040506@aliyun.com \
    --to=liudows@aliyun.com \
    --cc=b.a.t.m.a.n@lists.open-mesh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.