public inbox for b.a.t.m.a.n@lists.open-mesh.org
 help / color / mirror / Atom feed
* [B.A.T.M.A.N.] [PATCH] batman-adv: use check_unicast_packet() in recv_roam_adv()
@ 2012-07-29 22:50 Antonio Quartulli
  2012-07-30  7:56 ` Marek Lindner
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Antonio Quartulli @ 2012-07-29 22:50 UTC (permalink / raw)
  To: b.a.t.m.a.n

To avoid code duplication and simplify later changes, check_unicast_packet() is
now used into recv_roam_adv() instead of letting it perform all the checks by
itself

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
---
 routing.c |   16 ++--------------
 1 file changed, 2 insertions(+), 14 deletions(-)

diff --git a/routing.c b/routing.c
index 939fc01..7ebd922 100644
--- a/routing.c
+++ b/routing.c
@@ -687,21 +687,9 @@ int batadv_recv_roam_adv(struct sk_buff *skb, struct batadv_hard_iface *recv_if)
 	struct batadv_priv *bat_priv = netdev_priv(recv_if->soft_iface);
 	struct batadv_roam_adv_packet *roam_adv_packet;
 	struct batadv_orig_node *orig_node;
-	struct ethhdr *ethhdr;
-
-	/* drop packet if it has not necessary minimum size */
-	if (unlikely(!pskb_may_pull(skb,
-				    sizeof(struct batadv_roam_adv_packet))))
-		goto out;
+	int hdr_size = sizeof(struct batadv_roam_adv_packet);
 
-	ethhdr = (struct ethhdr *)skb_mac_header(skb);
-
-	/* packet with unicast indication but broadcast recipient */
-	if (is_broadcast_ether_addr(ethhdr->h_dest))
-		goto out;
-
-	/* packet with broadcast sender address */
-	if (is_broadcast_ether_addr(ethhdr->h_source))
+	if (batadv_check_unicast_packet(skb, hdr_size) < 0)
 		goto out;
 
 	batadv_inc_counter(bat_priv, BATADV_CNT_TT_ROAM_ADV_RX);
-- 
1.7.9.4


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-08-21 23:36 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-29 22:50 [B.A.T.M.A.N.] [PATCH] batman-adv: use check_unicast_packet() in recv_roam_adv() Antonio Quartulli
2012-07-30  7:56 ` Marek Lindner
2012-07-30  9:20   ` Antonio Quartulli
2012-07-31 12:12 ` [B.A.T.M.A.N.] [PATCHv2] " Antonio Quartulli
2012-07-31 15:19 ` [B.A.T.M.A.N.] [PATCHv3] " Antonio Quartulli
2012-08-21 23:36   ` Marek Lindner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox