Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit af5d4f77 authored by Antonio Quartulli's avatar Antonio Quartulli
Browse files

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: default avatarAntonio Quartulli <ordex@autistici.org>
Signed-off-by: default avatarMarek Lindner <lindner_marek@yahoo.de>
parent bb728820
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -30,6 +30,7 @@
#include "bridge_loop_avoidance.h"
#include "bridge_loop_avoidance.h"


#include <linux/if_arp.h>
#include <linux/if_arp.h>
#include <linux/if_ether.h>


void batadv_hardif_free_rcu(struct rcu_head *rcu)
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 batadv_priv *bat_priv;
	struct net_device *soft_iface;
	struct net_device *soft_iface;
	__be16 ethertype = __constant_htons(BATADV_ETH_P_BATMAN);
	__be16 ethertype = __constant_htons(ETH_P_BATMAN);
	int ret;
	int ret;


	if (hard_iface->if_status != BATADV_IF_NOT_IN_USE)
	if (hard_iface->if_status != BATADV_IF_NOT_IN_USE)
+0 −2
Original line number Original line Diff line number Diff line
@@ -20,8 +20,6 @@
#ifndef _NET_BATMAN_ADV_PACKET_H_
#ifndef _NET_BATMAN_ADV_PACKET_H_
#define _NET_BATMAN_ADV_PACKET_H_
#define _NET_BATMAN_ADV_PACKET_H_


#define BATADV_ETH_P_BATMAN  0x4305 /* unofficial/not registered Ethertype */

enum batadv_packettype {
enum batadv_packettype {
	BATADV_IV_OGM		= 0x01,
	BATADV_IV_OGM		= 0x01,
	BATADV_ICMP		= 0x02,
	BATADV_ICMP		= 0x02,
+4 −2
Original line number Original line Diff line number Diff line
@@ -28,6 +28,8 @@
#include "gateway_common.h"
#include "gateway_common.h"
#include "originator.h"
#include "originator.h"


#include <linux/if_ether.h>

static void batadv_send_outstanding_bcast_packet(struct work_struct *work);
static void batadv_send_outstanding_bcast_packet(struct work_struct *work);


/* send out an already prepared packet to the given address via the
/* 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);
	ethhdr = (struct ethhdr *)skb_mac_header(skb);
	memcpy(ethhdr->h_source, hard_iface->net_dev->dev_addr, ETH_ALEN);
	memcpy(ethhdr->h_source, hard_iface->net_dev->dev_addr, ETH_ALEN);
	memcpy(ethhdr->h_dest, dst_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_set_network_header(skb, ETH_HLEN);
	skb->priority = TC_PRIO_CONTROL;
	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;
	skb->dev = hard_iface->net_dev;


+5 −4
Original line number Original line Diff line number Diff line
@@ -34,6 +34,7 @@
#include <linux/ethtool.h>
#include <linux/ethtool.h>
#include <linux/etherdevice.h>
#include <linux/etherdevice.h>
#include <linux/if_vlan.h>
#include <linux/if_vlan.h>
#include <linux/if_ether.h>
#include "unicast.h"
#include "unicast.h"
#include "bridge_loop_avoidance.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_hard_iface *primary_if = NULL;
	struct batadv_bcast_packet *bcast_packet;
	struct batadv_bcast_packet *bcast_packet;
	struct vlan_ethhdr *vhdr;
	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,
	static const uint8_t stp_addr[ETH_ALEN] = {0x01, 0x80, 0xC2, 0x00,
						   0x00, 0x00};
						   0x00, 0x00};
	static const uint8_t ectp_addr[ETH_ALEN] = {0xCF, 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;
			break;


		/* fall through */
		/* fall through */
	case BATADV_ETH_P_BATMAN:
	case ETH_P_BATMAN:
		goto dropped;
		goto dropped;
	}
	}


@@ -302,7 +303,7 @@ void batadv_interface_rx(struct net_device *soft_iface,
	struct vlan_ethhdr *vhdr;
	struct vlan_ethhdr *vhdr;
	struct batadv_header *batadv_header = (struct batadv_header *)skb->data;
	struct batadv_header *batadv_header = (struct batadv_header *)skb->data;
	short vid __maybe_unused = -1;
	short vid __maybe_unused = -1;
	__be16 ethertype = __constant_htons(BATADV_ETH_P_BATMAN);
	__be16 ethertype = __constant_htons(ETH_P_BATMAN);
	bool is_bcast;
	bool is_bcast;


	is_bcast = (batadv_header->packet_type == BATADV_BCAST);
	is_bcast = (batadv_header->packet_type == BATADV_BCAST);
@@ -325,7 +326,7 @@ void batadv_interface_rx(struct net_device *soft_iface,
			break;
			break;


		/* fall through */
		/* fall through */
	case BATADV_ETH_P_BATMAN:
	case ETH_P_BATMAN:
		goto dropped;
		goto dropped;
	}
	}