The state of slave interfaces are handled differently depending on whether
the interface is up or not. All active interfaces (IFF_UP) will transmit
OGMs. But for B.A.T.M.A.N. IV, also non-active interfaces are scheduling
(low TTL) OGMs on active interfaces. The code which setups and schedules
the OGMs must therefore already be called when the interfaces gets added as
slave interface and the transmit function must then check whether it has to
send out the OGM or not on the specific slave interface.
But v2016.3 moved the setup code from the enable function to the activate
function. The latter is called either when the added slave was already up
when batadv_hardif_enable_interface processed the new interface or when a
NETDEV_UP event was received for this slave interfac. As result, each
NETDEV_UP would schedule a new OGM worker for the interface and thus OGMs
would be send a lot more than expected.
Fixes: 549909f89d ("batman-adv: upgrade package to latest release 2016.3")
Reported-by: Linus Lüssing <linus.luessing@c0d3.blue>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
* fix uninit-value in batadv_interface_tx()
* Reduce claim hash refcnt only for removed entry
* Reduce tt_local hash refcnt only for removed entry
* Reduce tt_global hash refcnt only for removed entry
Signed-off-by: Sven Eckelmann <sven@narfation.org>
* Fix skbuff rcsum on packet reroute
* update data pointers after skb_cow()
* fix header size check in batadv_dbg_arp()
* Fix multicast packet loss with a single WANT_ALL_IPV4/6 flag
* fix multicast-via-unicast transmission with AP isolation
* fix packet loss for broadcasted DHCP packets to a server
Signed-off-by: Sven Eckelmann <sven@narfation.org>
* fix packet checksum in receive path
* invalidate checksum on fragment reassembly
* Ignore invalid batadv_iv_gw during netlink send
* Ignore invalid batadv_v_gw during netlink send
* Fix netlink dumping of BLA claims
* Fix netlink dumping of BLA backbones
* Fix internal interface indices types
Signed-off-by: Sven Eckelmann <sven@narfation.org>
* Fix lock for ogm cnt access in batadv_iv_ogm_calc_tq
* Fix check of retrieved orig_gw in batadv_v_gw_is_eligible
* Always initialize fragment header priority
* Avoid spurious warnings from bat_v neigh_cmp implementation
* fix TT sync flag inconsistencies
* Accept only filled wifi station info
* Use default throughput value on cfg80211 error
* do not add loop detection mac addresses to global tt
* Fix rx packet/bytes stats on local ARP reply
* handle race condition for claims between gateways
* fix memory leak when dropping packet from other gateway
* drop unicast packets from other backbone gw
* prevent duplication of ARP replies when DAT is used
* prevent multiple ARP replies sent by gateways if dat enabled
* Initialize gw sel_class via batadv_algo
* Keep fragments equally sized
* decrease maximum fragment size
* don't add loop detect macs to TT
* Treat NET_XMIT_CN as transmit successfully
Signed-off-by: Sven Eckelmann <sven@narfation.org>
The upstream project also reverted IGDv2-by-default due to widespread
compatibility problems.
So far all Microsoft operating systems up to Windows 10, Xbox 360, Xbox One
Playstation 3 and Playstation 4 consoles seem to be incompatible to the
new 2.0 standard.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 7ddbedb649)
Add a 'master' miniupnpd service enable flag rather than just relying on
rcS.d script existence. This allows the service to be disabled across
sysupgrade, similar to minidlna.
The service assumes enabled if no 'enabled' config flag is configured
for backwards compatibility.
Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
(cherry picked from commit 33dc373da9)
Make IGDv2 support a build time option (default enabled)
Some devices (xbox one, windows home server) are not happy talking to an
IGDv2 enabled upnp server.
Remove 'portinuse' & 'igdv2' enabling patches backported from freebsd as
these can be configured via build time options in package makefile.
Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
(cherry picked from commit a7ce5a5d60)
Integrate ip rule support for the prelocal routing table lookup in the 464xlat
proto shell handler as netifd does not install anymore an ip rule for the prelocal
routing table.
The prelocal routing table ip rule needs to be installed before the local routing
table ip rule so the 464xlat traffic with as destination the IPv6 anycast address
is routed to the nat46 module otherwise the traffic will be dropped in the IPv6
local table.
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>