Repository : ssh://git@open-mesh.org/batman-adv
On branch : next
commit 87907ac0ab83e0d91f0436298af9f87c59dbc62c Author: Antonio Quartulli ordex@autistici.org Date: Mon Nov 26 00:38:50 2012 +0100
batman-adv: use ETH_P_BATMAN
The ETH_P_BATMAN ethertype is now defined kernel-wide. Use it instead of the private BATADV_ETH_P_BATMAN define.
Signed-off-by: Antonio Quartulli ordex@autistici.org Signed-off-by: Marek Lindner lindner_marek@yahoo.de
87907ac0ab83e0d91f0436298af9f87c59dbc62c compat.h | 2 ++ hard-interface.c | 3 ++- packet.h | 2 -- send.c | 6 ++++-- soft-interface.c | 9 +++++---- 5 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/compat.h b/compat.h index be685aa..e4ebee0 100644 --- a/compat.h +++ b/compat.h @@ -166,6 +166,8 @@ static inline void eth_hw_addr_random(struct net_device *dev)
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
+#define ETH_P_BATMAN 0x4305 + /* hack for not correctly set mac_len. This may happen for some special * configurations like batman-adv on VLANs. * diff --git a/hard-interface.c b/hard-interface.c index 365ed74..f1d37cd 100644 --- a/hard-interface.c +++ b/hard-interface.c @@ -30,6 +30,7 @@ #include "bridge_loop_avoidance.h"
#include <linux/if_arp.h> +#include <linux/if_ether.h>
void batadv_hardif_free_rcu(struct rcu_head *rcu) { @@ -311,7 +312,7 @@ int batadv_hardif_enable_interface(struct batadv_hard_iface *hard_iface, { struct batadv_priv *bat_priv; struct net_device *soft_iface; - __be16 ethertype = __constant_htons(BATADV_ETH_P_BATMAN); + __be16 ethertype = __constant_htons(ETH_P_BATMAN); int ret;
if (hard_iface->if_status != BATADV_IF_NOT_IN_USE) diff --git a/packet.h b/packet.h index 1c5454d..cb6405b 100644 --- a/packet.h +++ b/packet.h @@ -20,8 +20,6 @@ #ifndef _NET_BATMAN_ADV_PACKET_H_ #define _NET_BATMAN_ADV_PACKET_H_
-#define BATADV_ETH_P_BATMAN 0x4305 /* unofficial/not registered Ethertype */ - enum batadv_packettype { BATADV_IV_OGM = 0x01, BATADV_ICMP = 0x02, diff --git a/send.c b/send.c index c7f7023..4425af9 100644 --- a/send.c +++ b/send.c @@ -28,6 +28,8 @@ #include "gateway_common.h" #include "originator.h"
+#include <linux/if_ether.h> + static void batadv_send_outstanding_bcast_packet(struct work_struct *work);
/* send out an already prepared packet to the given address via the @@ -60,11 +62,11 @@ int batadv_send_skb_packet(struct sk_buff *skb, ethhdr = (struct ethhdr *)skb_mac_header(skb); memcpy(ethhdr->h_source, hard_iface->net_dev->dev_addr, ETH_ALEN); memcpy(ethhdr->h_dest, dst_addr, ETH_ALEN); - ethhdr->h_proto = __constant_htons(BATADV_ETH_P_BATMAN); + ethhdr->h_proto = __constant_htons(ETH_P_BATMAN);
skb_set_network_header(skb, ETH_HLEN); skb->priority = TC_PRIO_CONTROL; - skb->protocol = __constant_htons(BATADV_ETH_P_BATMAN); + skb->protocol = __constant_htons(ETH_P_BATMAN);
skb->dev = hard_iface->net_dev;
diff --git a/soft-interface.c b/soft-interface.c index 54800c7..6b548fd 100644 --- a/soft-interface.c +++ b/soft-interface.c @@ -34,6 +34,7 @@ #include <linux/ethtool.h> #include <linux/etherdevice.h> #include <linux/if_vlan.h> +#include <linux/if_ether.h> #include "unicast.h" #include "bridge_loop_avoidance.h"
@@ -146,7 +147,7 @@ static int batadv_interface_tx(struct sk_buff *skb, struct batadv_hard_iface *primary_if = NULL; struct batadv_bcast_packet *bcast_packet; struct vlan_ethhdr *vhdr; - __be16 ethertype = __constant_htons(BATADV_ETH_P_BATMAN); + __be16 ethertype = __constant_htons(ETH_P_BATMAN); static const uint8_t stp_addr[ETH_ALEN] = {0x01, 0x80, 0xC2, 0x00, 0x00, 0x00}; static const uint8_t ectp_addr[ETH_ALEN] = {0xCF, 0x00, 0x00, 0x00, @@ -172,7 +173,7 @@ static int batadv_interface_tx(struct sk_buff *skb, break;
/* fall through */ - case BATADV_ETH_P_BATMAN: + case ETH_P_BATMAN: goto dropped; }
@@ -302,7 +303,7 @@ void batadv_interface_rx(struct net_device *soft_iface, struct vlan_ethhdr *vhdr; struct batadv_header *batadv_header = (struct batadv_header *)skb->data; short vid __maybe_unused = -1; - __be16 ethertype = __constant_htons(BATADV_ETH_P_BATMAN); + __be16 ethertype = __constant_htons(ETH_P_BATMAN); bool is_bcast;
is_bcast = (batadv_header->packet_type == BATADV_BCAST); @@ -325,7 +326,7 @@ void batadv_interface_rx(struct net_device *soft_iface, break;
/* fall through */ - case BATADV_ETH_P_BATMAN: + case ETH_P_BATMAN: goto dropped; }