Blame view
net/batman-adv/originator.h
3.24 KB
7db7d9f36 batman-adv: Add S... |
1 |
/* SPDX-License-Identifier: GPL-2.0 */ |
68e039f96 batman-adv: Updat... |
2 |
/* Copyright (C) 2007-2020 B.A.T.M.A.N. contributors: |
c6c8fea29 net: Add batman-a... |
3 4 |
* * Marek Lindner, Simon Wunderlich |
c6c8fea29 net: Add batman-a... |
5 6 7 8 |
*/ #ifndef _NET_BATMAN_ADV_ORIGINATOR_H_ #define _NET_BATMAN_ADV_ORIGINATOR_H_ |
1e2c2a4fe batman-adv: Add r... |
9 |
#include "main.h" |
1e2c2a4fe batman-adv: Add r... |
10 11 12 |
#include <linux/compiler.h> #include <linux/if_ether.h> #include <linux/jhash.h> |
68a600de9 batman-adv: Use i... |
13 14 15 |
#include <linux/netlink.h> #include <linux/seq_file.h> #include <linux/skbuff.h> |
1e2c2a4fe batman-adv: Add r... |
16 |
#include <linux/types.h> |
4b426b108 batman-adv: Use b... |
17 |
bool batadv_compare_orig(const struct hlist_node *node, const void *data2); |
56303d34a batman-adv: Prefi... |
18 19 20 |
int batadv_originator_init(struct batadv_priv *bat_priv); void batadv_originator_free(struct batadv_priv *bat_priv); void batadv_purge_orig_ref(struct batadv_priv *bat_priv); |
5d9673109 batman-adv: Renam... |
21 |
void batadv_orig_node_put(struct batadv_orig_node *orig_node); |
bbad0a5e3 batman-adv: make ... |
22 |
struct batadv_orig_node *batadv_orig_node_new(struct batadv_priv *bat_priv, |
6b5e971a2 batman-adv: Repla... |
23 |
const u8 *addr); |
cef63419f batman-adv: add l... |
24 25 26 27 |
struct batadv_hardif_neigh_node * batadv_hardif_neigh_get(const struct batadv_hard_iface *hard_iface, const u8 *neigh_addr); void |
accadc35a batman-adv: Renam... |
28 |
batadv_hardif_neigh_put(struct batadv_hardif_neigh_node *hardif_neigh); |
56303d34a batman-adv: Prefi... |
29 |
struct batadv_neigh_node * |
6f0a6b5ee batman-adv: refac... |
30 31 32 |
batadv_neigh_node_get_or_create(struct batadv_orig_node *orig_node, struct batadv_hard_iface *hard_iface, const u8 *neigh_addr); |
25bb25099 batman-adv: Renam... |
33 |
void batadv_neigh_node_put(struct batadv_neigh_node *neigh_node); |
56303d34a batman-adv: Prefi... |
34 |
struct batadv_neigh_node * |
7351a4822 batman-adv: split... |
35 36 |
batadv_orig_router_get(struct batadv_orig_node *orig_node, const struct batadv_hard_iface *if_outgoing); |
89652331c batman-adv: split... |
37 38 39 40 41 42 |
struct batadv_neigh_ifinfo * batadv_neigh_ifinfo_new(struct batadv_neigh_node *neigh, struct batadv_hard_iface *if_outgoing); struct batadv_neigh_ifinfo * batadv_neigh_ifinfo_get(struct batadv_neigh_node *neigh, struct batadv_hard_iface *if_outgoing); |
044fa3ae1 batman-adv: Renam... |
43 |
void batadv_neigh_ifinfo_put(struct batadv_neigh_ifinfo *neigh_ifinfo); |
7351a4822 batman-adv: split... |
44 |
|
85cf8c859 batman-adv: netli... |
45 |
int batadv_hardif_neigh_dump(struct sk_buff *msg, struct netlink_callback *cb); |
7587405ab batman-adv: expor... |
46 |
int batadv_hardif_neigh_seq_print_text(struct seq_file *seq, void *offset); |
7351a4822 batman-adv: split... |
47 48 49 50 51 52 |
struct batadv_orig_ifinfo * batadv_orig_ifinfo_get(struct batadv_orig_node *orig_node, struct batadv_hard_iface *if_outgoing); struct batadv_orig_ifinfo * batadv_orig_ifinfo_new(struct batadv_orig_node *orig_node, struct batadv_hard_iface *if_outgoing); |
35f94779c batman-adv: Renam... |
53 |
void batadv_orig_ifinfo_put(struct batadv_orig_ifinfo *orig_ifinfo); |
7351a4822 batman-adv: split... |
54 |
|
7d211efc5 batman-adv: Prefi... |
55 |
int batadv_orig_seq_print_text(struct seq_file *seq, void *offset); |
85cf8c859 batman-adv: netli... |
56 |
int batadv_orig_dump(struct sk_buff *msg, struct netlink_callback *cb); |
cb1c92ec3 batman-adv: add d... |
57 |
int batadv_orig_hardif_seq_print_text(struct seq_file *seq, void *offset); |
7ea7b4a14 batman-adv: make ... |
58 59 60 61 62 63 |
struct batadv_orig_node_vlan * batadv_orig_node_vlan_new(struct batadv_orig_node *orig_node, unsigned short vid); struct batadv_orig_node_vlan * batadv_orig_node_vlan_get(struct batadv_orig_node *orig_node, unsigned short vid); |
21754e250 batman-adv: Renam... |
64 |
void batadv_orig_node_vlan_put(struct batadv_orig_node_vlan *orig_vlan); |
c6c8fea29 net: Add batman-a... |
65 |
|
e57acf8e9 batman-adv: Add k... |
66 67 68 69 70 71 72 |
/** * batadv_choose_orig() - Return the index of the orig entry in the hash table * @data: mac address of the originator node * @size: the size of the hash table * * Return: the hash index where the object represented by @data should be * stored at. |
9cfc7bd60 batman-adv: Refor... |
73 |
*/ |
6b5e971a2 batman-adv: Repla... |
74 |
static inline u32 batadv_choose_orig(const void *data, u32 size) |
c6c8fea29 net: Add batman-a... |
75 |
{ |
6b5e971a2 batman-adv: Repla... |
76 |
u32 hash = 0; |
c6c8fea29 net: Add batman-a... |
77 |
|
36fd61cb8 batman-adv: Use c... |
78 |
hash = jhash(data, ETH_ALEN, hash); |
c6c8fea29 net: Add batman-a... |
79 80 |
return hash % size; } |
3326afe6b batman-adv: Deinl... |
81 82 |
struct batadv_orig_node * batadv_orig_hash_find(struct batadv_priv *bat_priv, const void *data); |
7aadf889e batman-adv: remov... |
83 |
|
c6c8fea29 net: Add batman-a... |
84 |
#endif /* _NET_BATMAN_ADV_ORIGINATOR_H_ */ |