Skip to content

Commit

Permalink
Staging: batman-adv: best gw DHCP filter 802.1Q support
Browse files Browse the repository at this point in the history
The DHCP filter inspects packets to determine whether or not to send
them via ethernet unicast. This patch adds 802.1Q (vlan) support for
this check.

Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
[sven.eckelmann@gmx.de: Rework on top of current version]
Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Marek Lindner authored and Greg Kroah-Hartman committed Nov 29, 2010
1 parent 6c3a42d commit c9c556b
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions drivers/staging/batman-adv/gateway_client.c
Original file line number Diff line number Diff line change
Expand Up @@ -415,6 +415,14 @@ int gw_is_target(struct bat_priv *bat_priv, struct sk_buff *skb)
ethhdr = (struct ethhdr *)skb->data;
header_len += ETH_HLEN;

/* check for initial vlan header */
if (ntohs(ethhdr->h_proto) == ETH_P_8021Q) {
if (!pskb_may_pull(skb, header_len + VLAN_HLEN))
return 0;
ethhdr = (struct ethhdr *)(skb->data + VLAN_HLEN);
header_len += VLAN_HLEN;
}

/* check for ip header */
if (ntohs(ethhdr->h_proto) != ETH_P_IP)
return 0;
Expand Down

0 comments on commit c9c556b

Please sign in to comment.