You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
batman-adv: remove old bridge loop avoidance code
The functionality is to be replaced by an improved implementation, so first clean up. Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de> Signed-off-by: Antonio Quartulli <ordex@autistici.org>
This commit is contained in:
committed by
Antonio Quartulli
parent
8681a1c4dd
commit
a7f6ee9493
@@ -238,12 +238,6 @@ static int gateways_open(struct inode *inode, struct file *file)
|
||||
return single_open(file, gw_client_seq_print_text, net_dev);
|
||||
}
|
||||
|
||||
static int softif_neigh_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
struct net_device *net_dev = (struct net_device *)inode->i_private;
|
||||
return single_open(file, softif_neigh_seq_print_text, net_dev);
|
||||
}
|
||||
|
||||
static int transtable_global_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
struct net_device *net_dev = (struct net_device *)inode->i_private;
|
||||
@@ -282,7 +276,6 @@ struct bat_debuginfo bat_debuginfo_##_name = { \
|
||||
static BAT_DEBUGINFO(routing_algos, S_IRUGO, bat_algorithms_open);
|
||||
static BAT_DEBUGINFO(originators, S_IRUGO, originators_open);
|
||||
static BAT_DEBUGINFO(gateways, S_IRUGO, gateways_open);
|
||||
static BAT_DEBUGINFO(softif_neigh, S_IRUGO, softif_neigh_open);
|
||||
static BAT_DEBUGINFO(transtable_global, S_IRUGO, transtable_global_open);
|
||||
static BAT_DEBUGINFO(transtable_local, S_IRUGO, transtable_local_open);
|
||||
static BAT_DEBUGINFO(vis_data, S_IRUGO, vis_data_open);
|
||||
@@ -290,7 +283,6 @@ static BAT_DEBUGINFO(vis_data, S_IRUGO, vis_data_open);
|
||||
static struct bat_debuginfo *mesh_debuginfos[] = {
|
||||
&bat_debuginfo_originators,
|
||||
&bat_debuginfo_gateways,
|
||||
&bat_debuginfo_softif_neigh,
|
||||
&bat_debuginfo_transtable_global,
|
||||
&bat_debuginfo_transtable_local,
|
||||
&bat_debuginfo_vis_data,
|
||||
|
||||
@@ -96,13 +96,10 @@ int mesh_init(struct net_device *soft_iface)
|
||||
spin_lock_init(&bat_priv->gw_list_lock);
|
||||
spin_lock_init(&bat_priv->vis_hash_lock);
|
||||
spin_lock_init(&bat_priv->vis_list_lock);
|
||||
spin_lock_init(&bat_priv->softif_neigh_lock);
|
||||
spin_lock_init(&bat_priv->softif_neigh_vid_lock);
|
||||
|
||||
INIT_HLIST_HEAD(&bat_priv->forw_bat_list);
|
||||
INIT_HLIST_HEAD(&bat_priv->forw_bcast_list);
|
||||
INIT_HLIST_HEAD(&bat_priv->gw_list);
|
||||
INIT_HLIST_HEAD(&bat_priv->softif_neigh_vids);
|
||||
INIT_LIST_HEAD(&bat_priv->tt_changes_list);
|
||||
INIT_LIST_HEAD(&bat_priv->tt_req_list);
|
||||
INIT_LIST_HEAD(&bat_priv->tt_roam_list);
|
||||
@@ -145,8 +142,6 @@ void mesh_free(struct net_device *soft_iface)
|
||||
|
||||
tt_free(bat_priv);
|
||||
|
||||
softif_neigh_purge(bat_priv);
|
||||
|
||||
atomic_set(&bat_priv->mesh_state, MESH_INACTIVE);
|
||||
}
|
||||
|
||||
|
||||
@@ -80,8 +80,6 @@
|
||||
#define MAX_AGGREGATION_BYTES 512
|
||||
#define MAX_AGGREGATION_MS 100
|
||||
|
||||
#define SOFTIF_NEIGH_TIMEOUT 180000 /* 3 minutes */
|
||||
|
||||
/* don't reset again within 30 seconds */
|
||||
#define RESET_PROTECTION_MS 30000
|
||||
#define EXPECTED_SEQNO_RANGE 65536
|
||||
|
||||
@@ -375,8 +375,6 @@ static void _purge_orig(struct bat_priv *bat_priv)
|
||||
|
||||
gw_node_purge(bat_priv);
|
||||
gw_election(bat_priv);
|
||||
|
||||
softif_neigh_purge(bat_priv);
|
||||
}
|
||||
|
||||
static void purge_orig(struct work_struct *work)
|
||||
|
||||
@@ -30,6 +30,9 @@
|
||||
#include "vis.h"
|
||||
#include "unicast.h"
|
||||
|
||||
static int route_unicast_packet(struct sk_buff *skb,
|
||||
struct hard_iface *recv_if);
|
||||
|
||||
void slide_own_bcast_window(struct hard_iface *hard_iface)
|
||||
{
|
||||
struct bat_priv *bat_priv = netdev_priv(hard_iface->soft_iface);
|
||||
@@ -798,7 +801,7 @@ static int check_unicast_packet(struct sk_buff *skb, int hdr_size)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int route_unicast_packet(struct sk_buff *skb, struct hard_iface *recv_if)
|
||||
static int route_unicast_packet(struct sk_buff *skb, struct hard_iface *recv_if)
|
||||
{
|
||||
struct bat_priv *bat_priv = netdev_priv(recv_if->soft_iface);
|
||||
struct orig_node *orig_node = NULL;
|
||||
|
||||
@@ -25,7 +25,6 @@
|
||||
void slide_own_bcast_window(struct hard_iface *hard_iface);
|
||||
void update_route(struct bat_priv *bat_priv, struct orig_node *orig_node,
|
||||
struct neigh_node *neigh_node);
|
||||
int route_unicast_packet(struct sk_buff *skb, struct hard_iface *recv_if);
|
||||
int recv_icmp_packet(struct sk_buff *skb, struct hard_iface *recv_if);
|
||||
int recv_unicast_packet(struct sk_buff *skb, struct hard_iface *recv_if);
|
||||
int recv_ucast_frag_packet(struct sk_buff *skb, struct hard_iface *recv_if);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -23,8 +23,6 @@
|
||||
#define _NET_BATMAN_ADV_SOFT_INTERFACE_H_
|
||||
|
||||
int my_skb_head_push(struct sk_buff *skb, unsigned int len);
|
||||
int softif_neigh_seq_print_text(struct seq_file *seq, void *offset);
|
||||
void softif_neigh_purge(struct bat_priv *bat_priv);
|
||||
void interface_rx(struct net_device *soft_iface,
|
||||
struct sk_buff *skb, struct hard_iface *recv_if,
|
||||
int hdr_size);
|
||||
|
||||
@@ -174,7 +174,6 @@ struct bat_priv {
|
||||
struct hlist_head forw_bat_list;
|
||||
struct hlist_head forw_bcast_list;
|
||||
struct hlist_head gw_list;
|
||||
struct hlist_head softif_neigh_vids;
|
||||
struct list_head tt_changes_list; /* tracks changes in a OGM int */
|
||||
struct list_head vis_send_list;
|
||||
struct hashtable_t *orig_hash;
|
||||
@@ -191,8 +190,6 @@ struct bat_priv {
|
||||
spinlock_t gw_list_lock; /* protects gw_list and curr_gw */
|
||||
spinlock_t vis_hash_lock; /* protects vis_hash */
|
||||
spinlock_t vis_list_lock; /* protects vis_info::recv_list */
|
||||
spinlock_t softif_neigh_lock; /* protects soft-interface neigh list */
|
||||
spinlock_t softif_neigh_vid_lock; /* protects soft-interface vid list */
|
||||
atomic_t num_local_tt;
|
||||
/* Checksum of the local table, recomputed before sending a new OGM */
|
||||
atomic_t tt_crc;
|
||||
@@ -327,24 +324,6 @@ struct recvlist_node {
|
||||
uint8_t mac[ETH_ALEN];
|
||||
};
|
||||
|
||||
struct softif_neigh_vid {
|
||||
struct hlist_node list;
|
||||
struct bat_priv *bat_priv;
|
||||
short vid;
|
||||
atomic_t refcount;
|
||||
struct softif_neigh __rcu *softif_neigh;
|
||||
struct rcu_head rcu;
|
||||
struct hlist_head softif_neigh_list;
|
||||
};
|
||||
|
||||
struct softif_neigh {
|
||||
struct hlist_node list;
|
||||
uint8_t addr[ETH_ALEN];
|
||||
unsigned long last_seen;
|
||||
atomic_t refcount;
|
||||
struct rcu_head rcu;
|
||||
};
|
||||
|
||||
struct bat_algo_ops {
|
||||
struct hlist_node list;
|
||||
char *name;
|
||||
|
||||
Reference in New Issue
Block a user