Commit | Line | Data |
---|---|---|
7db7d9f3 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
68e039f9 | 2 | /* Copyright (C) 2007-2020 B.A.T.M.A.N. contributors: |
c6c8fea2 | 3 | * |
35c133a0 | 4 | * Marek Lindner, Simon Wunderlich, Antonio Quartulli |
c6c8fea2 SE |
5 | */ |
6 | ||
7 | #ifndef _NET_BATMAN_ADV_TRANSLATION_TABLE_H_ | |
8 | #define _NET_BATMAN_ADV_TRANSLATION_TABLE_H_ | |
9 | ||
1e2c2a4f SE |
10 | #include "main.h" |
11 | ||
68a600de SE |
12 | #include <linux/netdevice.h> |
13 | #include <linux/netlink.h> | |
68a600de | 14 | #include <linux/skbuff.h> |
1e2c2a4f SE |
15 | #include <linux/types.h> |
16 | ||
56303d34 | 17 | int batadv_tt_init(struct batadv_priv *bat_priv); |
6b5e971a SE |
18 | bool batadv_tt_local_add(struct net_device *soft_iface, const u8 *addr, |
19 | unsigned short vid, int ifindex, u32 mark); | |
20 | u16 batadv_tt_local_remove(struct batadv_priv *bat_priv, | |
21 | const u8 *addr, unsigned short vid, | |
22 | const char *message, bool roaming); | |
d34f0550 MS |
23 | int batadv_tt_local_dump(struct sk_buff *msg, struct netlink_callback *cb); |
24 | int batadv_tt_global_dump(struct sk_buff *msg, struct netlink_callback *cb); | |
56303d34 SE |
25 | void batadv_tt_global_del_orig(struct batadv_priv *bat_priv, |
26 | struct batadv_orig_node *orig_node, | |
6b5e971a | 27 | s32 match_vid, const char *message); |
32e72744 LL |
28 | struct batadv_tt_global_entry * |
29 | batadv_tt_global_hash_find(struct batadv_priv *bat_priv, const u8 *addr, | |
30 | unsigned short vid); | |
31 | void batadv_tt_global_entry_put(struct batadv_tt_global_entry *tt_global_entry); | |
1d8ab8d3 | 32 | int batadv_tt_global_hash_count(struct batadv_priv *bat_priv, |
6b5e971a | 33 | const u8 *addr, unsigned short vid); |
56303d34 | 34 | struct batadv_orig_node *batadv_transtable_search(struct batadv_priv *bat_priv, |
6b5e971a | 35 | const u8 *src, const u8 *addr, |
c018ad3d | 36 | unsigned short vid); |
56303d34 | 37 | void batadv_tt_free(struct batadv_priv *bat_priv); |
6b5e971a | 38 | bool batadv_is_my_client(struct batadv_priv *bat_priv, const u8 *addr, |
c018ad3d | 39 | unsigned short vid); |
6b5e971a SE |
40 | bool batadv_is_ap_isolated(struct batadv_priv *bat_priv, u8 *src, u8 *dst, |
41 | unsigned short vid); | |
e1bf0c14 | 42 | void batadv_tt_local_commit_changes(struct batadv_priv *bat_priv); |
56303d34 | 43 | bool batadv_tt_global_client_is_roaming(struct batadv_priv *bat_priv, |
6b5e971a | 44 | u8 *addr, unsigned short vid); |
7c1fd91d | 45 | bool batadv_tt_local_client_is_roaming(struct batadv_priv *bat_priv, |
6b5e971a | 46 | u8 *addr, unsigned short vid); |
a19d3d85 | 47 | void batadv_tt_local_resize_to_mtu(struct net_device *soft_iface); |
30cfd02b AQ |
48 | bool batadv_tt_add_temporary_global_entry(struct batadv_priv *bat_priv, |
49 | struct batadv_orig_node *orig_node, | |
c018ad3d AQ |
50 | const unsigned char *addr, |
51 | unsigned short vid); | |
42cb0bef | 52 | bool batadv_tt_global_is_isolated(struct batadv_priv *bat_priv, |
6b5e971a | 53 | const u8 *addr, unsigned short vid); |
c6c8fea2 | 54 | |
86452f81 SE |
55 | int batadv_tt_cache_init(void); |
56 | void batadv_tt_cache_destroy(void); | |
57 | ||
c6c8fea2 | 58 | #endif /* _NET_BATMAN_ADV_TRANSLATION_TABLE_H_ */ |