just like you ; i would like to have the mesh working even if a gateway
dies.
http://dpaste.com/hold/879202/
cable connected clients on the client routers can access the wan
just not wirelessly connected.
On 01/16/13 12:31, Gui Iribarren wrote:
> You posted only one set of configurations, but it's not clear to me
> whether that belongs to router 1 or 2.
> Could you please repost (maybe in a pastebin.com link)
> /etc/config/network
> /etc/config/dhcp
> /etc/config/wireless
> for router 1
>
> and the same, clearly labeled , for router 2
>
> On Wed, Jan 16, 2013 at 8:21 AM, cmsv<cmsv(a)wirelesspt.net> wrote:
>> # cat /etc/openwrt_release
>> DISTRIB_ID="OpenWrt"
>> DISTRIB_RELEASE="Attitude Adjustment"
>> DISTRIB_REVISION="r35153"
>> DISTRIB_CODENAME="attitude_adjustment"
>> DISTRIB_TARGET="ar71xx/generic"
>> DISTRIB_DESCRIPTION="OpenWrt Attitude Adjustment 12.09-rc1"
>>
>> Batman-adv 2012.3.0
>>
>> Scenario:
>> router 1 is the internet gateway
>> router 2 is a client router of that gateway
>> Both routers in vap mode with 2 diff ssid's
>> one dhcp pool for 'lan'
>>
>> config dnsmasq
>> option domainneeded 1
>> option boguspriv 1
>> option filterwin2k 0 # enable for dial on demand
>> option localise_queries 1
>> option rebind_protection 1 # disable if upstream must serve RFC1918
>> addresses
>> option rebind_localhost 1 # enable for RBL checking and similar services
>> #list rebind_domain example.lan # whitelist RFC1918 responses for domains
>> option local '/lan/'
>> option domain 'wirelesspt.net'
>> option expandhosts 1
>> option nonegcache 0
>> option authoritative 1
>> option readethers 1
>> option leasefile '/tmp/dhcp.leases'
>> option resolvfile '/tmp/resolv.conf.auto'
>> #list server '/mycompany.local/1.2.3.4'
>> #option nonwildcard 1
>> #list interface br-lan
>> #list notinterface lo
>> #list bogusnxdomain '64.94.110.11'
>> #list dns 208.67.222.222
>> #list dns 208.67.220.220
>> #list dns 8.8.8.8
>>
>> config dhcp lan
>> option interface lan
>> option start 50
>> option limit 254
>> option leasetime 24h
>> #option force 1
>>
>> config dhcp wan
>> option interface wan
>> option ignore 1 # 0 for non gw
>>
>>
>> Problem:
>> router 1 clients (people with computers) can connect to it either with cable
>> or wirelessly and ping/access the wan. router 1 works well this way
>>
>> router 1 can ping router 2 either on layer 2 or layer 3
>>
>> router 2 can ping router 1 either on layer 2 or layer 3
>> router
>>
>> clients (connected to router 2 via cable) are able to access and ping the
>> wan.
>> clients connected to router 2 wirelessly are NOT able to access the wan.
>> Seems a routing/dns issue
>>
>> # ping yahoo.com
>> ping: bad address 'yahoo.com
>>
>> both /etc/resolv.com contain 127.0.0.1 as nameserver
>>
>> # cat network
>> config interface 'loopback'
>> option ifname 'lo'
>> option proto 'static'
>> option ipaddr '127.0.0.1'
>> option netmask '255.0.0.0'
>>
>> config interface 'lan'
>> option ifname 'eth0 bat0'
>> option type 'bridge'
>> option proto 'static'
>> option ipaddr '192.168.1.2'
>> option netmask '255.255.255.0'
>>
>> config 'interface' 'mesh'
>> option ifname 'wlan0-1'
>> option 'proto' 'none'
>> option 'mtu' '1528'
>>
>> config interface 'wan'
>> option ifname 'eth1'
>> option proto 'dhcp'
>>
>> config switch
>> option name 'eth0'
>> option reset '1'
>> option enable_vlan '1'
>>
>> config switch_vlan
>> option device 'eth0'
>> option vlan '1'
>> option ports '0 1 2 3 4'
>>
>> # cat batman-adv
>> config 'mesh' 'bat0'
>> option 'interfaces' 'mesh'
>> option 'aggregated_ogms' '1'
>> option 'ap_isolation' '0'
>> option 'bonding' '0'
>> option 'fragmentation' '1'
>> option 'gw_bandwidth' '3mbit/384kbit'
>> option 'gw_mode' 'client'
>> option 'gw_sel_class' '20'
>> option 'orig_interval' '1000'
>> option 'vis_mode' 'client'
>> option 'bridge_loop_avoidance' '1'
>> #option 'log_level'
>>
>>
>> /etc/firewall contains openwrt default settings and i have questioned myself
>> if some rules need to be set there.
>>
>> i tried this:
>> http://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2012-May/007131.html and no
>> success.
>>
>> and read this which is somewhat related tp my issue too.
>> www.mail-archive.com/b.a.t.m.a.n@lists.open-mesh.org/msg07643.html
>>
>> what am i missing ? iptables forward rules ?
>>
>>
>>
>>
>>
>>
>>
>> --
>>
>>
>>
>>
>>
>>
>> Redes wireless
>> http://wirelesspt.net
>
3.5.7.3 -stable review patch. If anyone has any objections, please let me know.
------------------
From: Akinobu Mita <akinobu.mita(a)gmail.com>
commit 143cdd8f33909ff5a153e3f02048738c5964ba26 upstream.
batadv_iv_ogm_emit_send_time() attempts to calculates a random integer
in the range of 'orig_interval +- BATADV_JITTER' by the below lines.
msecs = atomic_read(&bat_priv->orig_interval) - BATADV_JITTER;
msecs += (random32() % 2 * BATADV_JITTER);
But it actually gets 'orig_interval' or 'orig_interval - BATADV_JITTER'
because '%' and '*' have same precedence and associativity is
left-to-right.
This adds the parentheses at the appropriate position so that it matches
original intension.
Signed-off-by: Akinobu Mita <akinobu.mita(a)gmail.com>
Acked-by: Antonio Quartulli <ordex(a)autistici.org>
Cc: Marek Lindner <lindner_marek(a)yahoo.de>
Cc: Simon Wunderlich <siwu(a)hrz.tu-chemnitz.de>
Cc: Antonio Quartulli <ordex(a)autistici.org>
Cc: b.a.t.m.a.n(a)lists.open-mesh.org
Cc: "David S. Miller" <davem(a)davemloft.net>
Cc: netdev(a)vger.kernel.org
Signed-off-by: David S. Miller <davem(a)davemloft.net>
Signed-off-by: Herton Ronaldo Krzesinski <herton.krzesinski(a)canonical.com>
---
net/batman-adv/bat_iv_ogm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/batman-adv/bat_iv_ogm.c b/net/batman-adv/bat_iv_ogm.c
index dc53798..bcf3760 100644
--- a/net/batman-adv/bat_iv_ogm.c
+++ b/net/batman-adv/bat_iv_ogm.c
@@ -117,7 +117,7 @@ static unsigned long bat_iv_ogm_emit_send_time(const struct bat_priv *bat_priv)
{
return jiffies + msecs_to_jiffies(
atomic_read(&bat_priv->orig_interval) -
- JITTER + (random32() % 2*JITTER));
+ JITTER + (random32() % (2*JITTER)));
}
/* when do we schedule a ogm packet to be sent */
--
1.7.9.5
Hello,
I started using batman-adv's gateway mode. Sadly, I ran into some trouble - A client is connected to two gateways via vpn (fastd):
# batctl gw_mode
client (selection class: 1)
# batctl gwl
Gateway (#/255) Nexthop [outgoingIF]: gw_class ... [B.A.T.M.A.N. adv 2012.4.0, MainIF/MAC: wlan0-1/f6:ec:38:e9:72:35 (bat0)]
6a:4b:93:de:00:84 (255) 6a:4b:93:de:00:84 [ mesh-vpn]: 207 - 48MBit/48MBit
=> aa:31:0e:4a:0f:1d (254) aa:31:0e:4a:0f:1d [ mesh-vpn]: 39 - 1024KBit/1024KBit
# batctl o
[B.A.T.M.A.N. adv 2012.4.0, MainIF/MAC: wlan0-1/f6:ec:38:e9:72:35 (bat0)]
Originator last-seen (#/255) Nexthop [outgoingIF]: Potential nexthops ...
aa:31:0e:4a:0f:1d 0.500s (255) aa:31:0e:4a:0f:1d [ mesh-vpn]: aa:31:0e:4a:0f:1d (255)
6a:4b:93:de:00:84 0.940s (255) 6a:4b:93:de:00:84 [ mesh-vpn]: 6a:4b:93:de:00:84 (255)
The client should use 6a:4b:93:de:00:84 as a gatway, since it provides much higher data rates - however, it is stuck at aa:31:0e:4a:0f:1d.
Why is that? How can I make the client choosing 6a:4b:93:de:00:84?
Thanks in advance,
Keep smiling
yanosz
I'm curious as to what's the performance of current real world
batman-adv networks. Throughput, latency, concurrency behavior...
We have been conducting some tests on new hardware we plan to use as
replacement for our current recommended node setup and published the
results in our blog:
http://blog.altermundi.net/article/multiple-hop-mesh-performance-with-multi…
We will publish a follow-up when these nodes are put to work in the real
networks.
Do others have data on their network performance? I'd also like to know
if anyone has some explicitly designed set of performance tests to share.
cheers,
NicoEchániz
On January 13th, the B.A.T.M.A.N. team has released batman-adv 2013.0.0,
bringing many new features, performance improvements and tweaks under the
hood. As the kernel module always depends on the Linux kernel it was compiled
against, it does not make sense to provide binaries on our website. As usual,
you will find the signed tarballs in our download section:
http://downloads.open-mesh.org/batman/releases/batman-adv-2013.0.0/
as well as prepackaged binaries in your distribution.
Thanks
------
Thanks to all people sending in patches:
* Akinobu Mita <akinobu.mita(a)gmail.com>
* Antonio Quartulli <ordex(a)autistici.org>
* Marek Lindner <lindner_marek(a)yahoo.de>
* Martin Hundebøll <martin(a)hundeboll.net>
* Moritz Warning <moritzwarning(a)web.de>
* Simon Wunderlich <siwu(a)hrz.tu-chemnitz.de>
* Sven Eckelmann <sven(a)narfation.org>
batman-adv
----------
In summer 2011, the B.A.T.M.A.N. project participated in Google's Summer of
Code for the first time. One of the two projects was about implementing a
distributed ARP table for batman-adv (short: DAT), enabling a mesh node to
speed up the ARP discovery phase for its non-mesh clients by intelligently
caching & retrieving IPv4 address/MAC address translations. Many obstacles
like clean code, lack of time and kernel maintainer objections had to be taken
before DAT could finally be merged. This release finally brings the long-
awaited distributed ARP table. The wiki features basic DAT documentation as
well as technical insights for those who are interested.
The batman-adv Ethernet type (0x4305) was accepted as "official" Ethernet type
inside the Linux kernel to help avoiding future collisions with other
protocols. Only the IEEE is entitled to raise our Ethernet type to the level
of "standard" recognized beyond the realm of Linux but this step still moves
us forward.
Thanks to a hint from David Miller we began removing the famously known
"__packed" attribute from our packet definitions as it allows the compiler to
generate slightly faster code on some platforms. He also encouraged us to
implement a minor modification in our hash code to squeeze a little more
performance out of it. The translation table was enhanced with the ability to
handle multiple roaming events during a single OGM interval (especially useful
in environments with higher OGM intervals). The bridge loop avoidance drops
ECTP traffic to avoid packets looping around. In addition, various race
conditions during the bridge loop avoidance initialization phase have been
identified & fixed. An unusual speedy join / bridge loop avoidance interaction
bug caught our attention and was addressed soon thereafter.
batctl
------
The batctl utility was enriched with a couple of tools completing the
distributed ARP table support: A switch to enable / disable DAT at runtime, an
ARP cache viewer and a minimal unicast 4addr dissector (unicast 4addr packets
are used to exchange DAT packets). This release also features small but useful
'translation' helpers: Whenever an IP or MAC address needs to be 'translated'
to the originator mac address responsible for the IP or MAC the 'batctl
translate' functionality can be used. It is now also possible to call 'batctl
ping' and 'batctl traceroute' with an IP or MAC address because these tools
will take advantage of the 'translate' functionality internally. Beware: layer
2 ping and traceroute will still only work across batman-adv enabled nodes.
All of batctl's output errors are redirected to stderr instead of stdout. To
save space on embedded devices 'batctl bisect' was turned into a compile-time
option which is disabled by default. The manpage explaining gateway
functionality received some attention as well.
Happy routing,
The B.A.T.M.A.N. team
this is our first changeset intended for net-next/linux-3.9.
In this batch you have mostly code refactoring, style adjustments and output
beautifications.
The only new 'behaviours' are:
- prevent the TT component from learning multicast mac addresses as they are not
really handled (yet)
- initialise own lockdep class for each hash table in order to avoid false
positive from lockdep
Please pull or let me know if there is any problem.
Thanks a lot,
Antonio
The following changes since commit 00494be4546432a11d62ebfeca363256ff9822b5:
networking/cs89x0.txt: delete stale information about hand patching (2013-01-11 16:52:26 -0800)
are available in the git repository at:
git://git.open-mesh.org/linux-merge.git tags/batman-adv-for-davem
for you to fetch changes up to 0c430d0d7b8bafa74959a84156ef0bda1417a3d4:
batman-adv: unbloat batadv_priv if debug is not enabled (2013-01-12 20:58:23 +1000)
----------------------------------------------------------------
Included changes:
- use per_cpu_add when possible
- prevent the TT component to add multicast address as "mesh clients"
- some debug output improvements
- proper lockdeps class initializations
- new style fixes (space before/after brackets)
- other minor fixes and refactoring
----------------------------------------------------------------
Antonio Quartulli (11):
batman-adv: reduce local TT entry timeout to 10 minutes
batman-adv: improve local translation table output
batman-adv: print the CRC together with the translation tables
batman-adv: unify and properly print hex values
batman-adv: remove useless assignment in tt_local_add()
batman-adv: Initialize lockdep class keys for hashes
batman-adv: remove useless blank lines before and after brackets
batman-adv: remove useless NULL check
batman-adv: don't compile the BLA switch if not requested
batman-adv: use the const qualifier in hash functions
batman-adv: fix typo in debug message
Linus Lüssing (1):
batman-adv: Do not add multicast MAC addresses to translation table
Marek Lindner (2):
batman-adv: remove unused variable from orig_node struct
batman-adv: unbloat batadv_priv if debug is not enabled
Shan Wei (1):
batman-adv: use per_cpu_add helper
net/batman-adv/bat_iv_ogm.c | 8 +---
net/batman-adv/bridge_loop_avoidance.c | 24 +++++------
net/batman-adv/debugfs.c | 8 +---
net/batman-adv/hash.h | 2 +-
net/batman-adv/main.h | 6 +--
net/batman-adv/originator.c | 9 +++--
net/batman-adv/routing.c | 4 --
net/batman-adv/send.c | 2 -
net/batman-adv/soft-interface.c | 7 +++-
net/batman-adv/translation-table.c | 73 ++++++++++++++++++++++------------
net/batman-adv/types.h | 7 +++-
net/batman-adv/unicast.c | 2 -
net/batman-adv/vis.c | 6 +++
13 files changed, 88 insertions(+), 70 deletions(-)
This is a note to let you know that I have just added a patch titled
batman-adv: fix random jitter calculation
to the linux-3.5.y-queue branch of the 3.5.y.z extended stable tree
which can be found at:
http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=shortlog;h=refs/heads/lin…
If you, or anyone else, feels it should not be added to this tree, please
reply to this email.
For more information about the 3.5.y.z tree, see
https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable
Thanks.
-Herton
------
>From 12a62234843bc692176f3dc51492cfe84156f1c4 Mon Sep 17 00:00:00 2001
From: Akinobu Mita <akinobu.mita(a)gmail.com>
Date: Wed, 26 Dec 2012 02:32:10 +0000
Subject: [PATCH] batman-adv: fix random jitter calculation
commit 143cdd8f33909ff5a153e3f02048738c5964ba26 upstream.
batadv_iv_ogm_emit_send_time() attempts to calculates a random integer
in the range of 'orig_interval +- BATADV_JITTER' by the below lines.
msecs = atomic_read(&bat_priv->orig_interval) - BATADV_JITTER;
msecs += (random32() % 2 * BATADV_JITTER);
But it actually gets 'orig_interval' or 'orig_interval - BATADV_JITTER'
because '%' and '*' have same precedence and associativity is
left-to-right.
This adds the parentheses at the appropriate position so that it matches
original intension.
Signed-off-by: Akinobu Mita <akinobu.mita(a)gmail.com>
Acked-by: Antonio Quartulli <ordex(a)autistici.org>
Cc: Marek Lindner <lindner_marek(a)yahoo.de>
Cc: Simon Wunderlich <siwu(a)hrz.tu-chemnitz.de>
Cc: Antonio Quartulli <ordex(a)autistici.org>
Cc: b.a.t.m.a.n(a)lists.open-mesh.org
Cc: "David S. Miller" <davem(a)davemloft.net>
Cc: netdev(a)vger.kernel.org
Signed-off-by: David S. Miller <davem(a)davemloft.net>
Signed-off-by: Herton Ronaldo Krzesinski <herton.krzesinski(a)canonical.com>
---
net/batman-adv/bat_iv_ogm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/batman-adv/bat_iv_ogm.c b/net/batman-adv/bat_iv_ogm.c
index dc53798..bcf3760 100644
--- a/net/batman-adv/bat_iv_ogm.c
+++ b/net/batman-adv/bat_iv_ogm.c
@@ -117,7 +117,7 @@ static unsigned long bat_iv_ogm_emit_send_time(const struct bat_priv *bat_priv)
{
return jiffies + msecs_to_jiffies(
atomic_read(&bat_priv->orig_interval) -
- JITTER + (random32() % 2*JITTER));
+ JITTER + (random32() % (2*JITTER)));
}
/* when do we schedule a ogm packet to be sent */
--
1.7.9.5
I have posted this question on irc but since i may not be available on
irc today here it goes again.
I need to build 2012.4 into openwrt attitude adjustment which uses 3.3
kernel. By default this is not available through openwrt feeds which is
providing batman 2012.3.0
Which batman-adv feed should i use if there is one available ?
This
(http://www.open-mesh.org/projects/batman-adv/wiki/Building-with-openwrt)
takes me to git (batman-adv-devel) which i might not want & need. Will
change the revision help ?
If i am not mistaken; unless batman-adv 2012.4.0 is moved by someone
from openwrt trunk to openwrt attitude adjustment i am not able to find
a feed that provides me what i need and build batman-adv 2012.4.0 with
attitude adjustment (kernel 3.3)
What are my options ?