From patchwork Wed Feb 18 13:55:49 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Lindner X-Patchwork-Id: 4341 Return-Path: Received-SPF: Softfail (domain owner discourages use of this host) identity=mailfrom; client-ip=5.148.176.57; helo=s1.neomailbox.net; envelope-from=mareklindner@neomailbox.ch; receiver=b.a.t.m.a.n@lists.open-mesh.org Received: from s1.neomailbox.net (s1.neomailbox.net [5.148.176.57]) by open-mesh.org (Postfix) with ESMTPS id EDA00600B66 for ; Wed, 18 Feb 2015 14:55:56 +0100 (CET) From: Marek Lindner To: The list for a Better Approach To Mobile Ad-hoc Networking Date: Wed, 18 Feb 2015 21:55:49 +0800 Message-ID: <6979890.dWcEGHjvn6@voltaire> User-Agent: KMail/4.14.2 (Linux/3.16.0-4-amd64; KDE/4.14.2; x86_64; ; ) In-Reply-To: References: <2282256.5kOumjqyC5@voltaire> MIME-Version: 1.0 Subject: Re: [B.A.T.M.A.N.] Antwort: Re: Question concerning batman-adv bug #173 "Mesh packets on bat0" X-BeenThere: b.a.t.m.a.n@lists.open-mesh.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: The list for a Better Approach To Mobile Ad-hoc Networking List-Id: The list for a Better Approach To Mobile Ad-hoc Networking List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Feb 2015 13:55:58 -0000 On Wednesday, February 18, 2015 13:28:27 Andreas Pape wrote: > I adapted your patch to batman-adv-2014.4.0 without success. I got the > additional issue that with the patched version of batman-adv I was not > able to destroy the virtual wireless interface anymore used fot the adhoc > connection over which I try to use batman-adv (error message was: > unregister_netdevice: waiting for ath0 to become free). It is very possible that the supplied patches have side effects. Right now, I am trying to figure out which part of the code introduced with 2013.2.0 causes the malfunction. I prepared some more patches which deactivate more code, most notably rtnl code added with 2013.2.0. Please give it a try and let me know how it goes. > > With the unpatched 2014.4.0 I did the following test on two of my devices: > > 1. created a virtual wireless interface ath0 in adhoc mode > 2. iwconfig ath0 essid TEST > 3. iwconfig ath0 channel 40 > 4. ifconfig ath0 up > 5. batctl if add ath0 > > After this the two devices connected and I could see the repective > neighbor via the batctl o command on both devices. So far so good. At this point the mesh is working to your expectation ? Can you transport payload across the mesh ? If so, this is a deviation from #173 - wouldn't you agree ? > But I can see via batctl td bat0 OGM packets sent with the MAC address of > the wlan interface of the device itself and also from the neigbour this > device is connected to via wlan. Is this OK? Yes, batman-adv continues to use the mac addresses of the interfaces you configure. Cheers, Marek From 05f48d1e40e55097ac960dc2a8a50d594cf967a8 Mon Sep 17 00:00:00 2001 From: Marek Lindner Date: Wed, 18 Feb 2015 21:44:02 +0800 Subject: [PATCH 3/3] remove ndo workarounds --- compat.h | 14 -------------- soft-interface.c | 2 -- 2 files changed, 16 deletions(-) diff --git a/compat.h b/compat.h index 27d8a21..c3796a8 100644 --- a/compat.h +++ b/compat.h @@ -191,20 +191,6 @@ static inline int batadv_param_set_copystring(const char *val, #define kstrtoul strict_strtoul #define kstrtol strict_strtol -/* Hack for removing ndo_add/del_slave at the end of net_device_ops. - * This is somewhat ugly because it requires that ndo_validate_addr - * is at the end of this struct in soft-interface.c. - */ -#define ndo_validate_addr \ - ndo_validate_addr = eth_validate_addr, \ -}; \ -static const struct { \ - void *ndo_validate_addr; \ - void *ndo_add_slave; \ - void *ndo_del_slave; \ -} __attribute__((unused)) __useless_ops1 = { \ - .ndo_validate_addr - #define ndo_del_slave ndo_init #define ndo_init(x, y) ndo_init - master->netdev_ops->ndo_init - EBUSY diff --git a/soft-interface.c b/soft-interface.c index 8748987..a73ebd0 100644 --- a/soft-interface.c +++ b/soft-interface.c @@ -874,8 +874,6 @@ static const struct net_device_ops batadv_netdev_ops = { .ndo_set_rx_mode = batadv_interface_set_rx_mode, .ndo_start_xmit = batadv_interface_tx, .ndo_validate_addr = eth_validate_addr, - .ndo_add_slave = batadv_softif_slave_add, - .ndo_del_slave = batadv_softif_slave_del, }; /** -- 2.1.4