summarylogtreecommitdiffstats
path: root/0001-batman-adv-Fix-speedy-join-in-gateway-client-mode.patch
diff options
context:
space:
mode:
authorRubenKelevra2016-06-22 11:33:28 +0200
committerRubenKelevra2016-06-22 11:33:28 +0200
commiteb5dff024b88557cd9c537c42b18415cd2b7def9 (patch)
treecc3d01ebca02d447cd309acdc0adfe1b5709f1d3 /0001-batman-adv-Fix-speedy-join-in-gateway-client-mode.patch
parentbf28ebf6f8a139d43ff6f590eb74f3490ae1d86c (diff)
downloadaur-eb5dff024b88557cd9c537c42b18415cd2b7def9.tar.gz
update to batman-adv 2016.2, add speedy join patch
Diffstat (limited to '0001-batman-adv-Fix-speedy-join-in-gateway-client-mode.patch')
-rw-r--r--0001-batman-adv-Fix-speedy-join-in-gateway-client-mode.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/0001-batman-adv-Fix-speedy-join-in-gateway-client-mode.patch b/0001-batman-adv-Fix-speedy-join-in-gateway-client-mode.patch
new file mode 100644
index 000000000000..e63b782f4f82
--- /dev/null
+++ b/0001-batman-adv-Fix-speedy-join-in-gateway-client-mode.patch
@@ -0,0 +1,35 @@
+From: Sven Eckelmann <sven@narfation.org>
+Date: Sun, 12 Jun 2016 10:43:19 +0200
+Subject: [PATCH] batman-adv: Fix speedy join in gateway client mode
+
+Speedy join only works when the received packet is either broadcast or an
+4addr unicast packet. Thus packets converted from broadcast to unicast via
+the gateway handling code have to be converted to 4addr packets to allow
+the receiving gateway server to add the sender address as temporary entry
+to the translation table.
+
+Not doing it will make the batman-adv gateway server drop the DHCP response
+in many situations because it doesn't yet have the TT entry for the
+destination of the DHCP response.
+
+Fixes: 9cbc67d9da47 ("batman-adv: change interface_rx to get orig node")
+Signed-off-by: Sven Eckelmann <sven@narfation.org>
+---
+ net/batman-adv/send.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/net/batman-adv/send.c b/net/batman-adv/send.c
+index f2f1256..0103976 100644
+--- a/net/batman-adv/send.c
++++ b/net/batman-adv/send.c
+@@ -424,8 +424,8 @@ int batadv_send_skb_via_gw(struct batadv_priv *bat_priv, struct sk_buff *skb,
+ struct batadv_orig_node *orig_node;
+
+ orig_node = batadv_gw_get_selected_orig(bat_priv);
+- return batadv_send_skb_unicast(bat_priv, skb, BATADV_UNICAST, 0,
+- orig_node, vid);
++ return batadv_send_skb_unicast(bat_priv, skb, BATADV_UNICAST_4ADDR,
++ BATADV_P_DATA, orig_node, vid);
+ }
+
+ void batadv_schedule_bat_ogm(struct batadv_hard_iface *hard_iface)