]> Pileus Git - ~andy/linux/blob - net/batman-adv/bridge_loop_avoidance.h
Merge branches 'audit', 'delay', 'fixes', 'misc' and 'sta2x11' into for-linus
[~andy/linux] / net / batman-adv / bridge_loop_avoidance.h
1 /*
2  * Copyright (C) 2011-2012 B.A.T.M.A.N. contributors:
3  *
4  * Simon Wunderlich
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of version 2 of the GNU General Public
8  * License as published by the Free Software Foundation.
9  *
10  * This program is distributed in the hope that it will be useful, but
11  * WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18  * 02110-1301, USA
19  *
20  */
21
22 #ifndef _NET_BATMAN_ADV_BLA_H_
23 #define _NET_BATMAN_ADV_BLA_H_
24
25 #ifdef CONFIG_BATMAN_ADV_BLA
26 int bla_rx(struct bat_priv *bat_priv, struct sk_buff *skb, short vid,
27            bool is_bcast);
28 int bla_tx(struct bat_priv *bat_priv, struct sk_buff *skb, short vid);
29 int bla_is_backbone_gw(struct sk_buff *skb,
30                        struct orig_node *orig_node, int hdr_size);
31 int bla_claim_table_seq_print_text(struct seq_file *seq, void *offset);
32 int bla_is_backbone_gw_orig(struct bat_priv *bat_priv, uint8_t *orig);
33 int bla_check_bcast_duplist(struct bat_priv *bat_priv,
34                             struct bcast_packet *bcast_packet, int hdr_size);
35 void bla_update_orig_address(struct bat_priv *bat_priv,
36                              struct hard_iface *primary_if,
37                              struct hard_iface *oldif);
38 int bla_init(struct bat_priv *bat_priv);
39 void bla_free(struct bat_priv *bat_priv);
40
41 #define BLA_CRC_INIT    0
42 #else /* ifdef CONFIG_BATMAN_ADV_BLA */
43
44 static inline int bla_rx(struct bat_priv *bat_priv, struct sk_buff *skb,
45                          short vid, bool is_bcast)
46 {
47         return 0;
48 }
49
50 static inline int bla_tx(struct bat_priv *bat_priv, struct sk_buff *skb,
51                          short vid)
52 {
53         return 0;
54 }
55
56 static inline int bla_is_backbone_gw(struct sk_buff *skb,
57                                      struct orig_node *orig_node,
58                                      int hdr_size)
59 {
60         return 0;
61 }
62
63 static inline int bla_claim_table_seq_print_text(struct seq_file *seq,
64                                                  void *offset)
65 {
66         return 0;
67 }
68
69 static inline int bla_is_backbone_gw_orig(struct bat_priv *bat_priv,
70                                           uint8_t *orig)
71 {
72         return 0;
73 }
74
75 static inline int bla_check_bcast_duplist(struct bat_priv *bat_priv,
76                                           struct bcast_packet *bcast_packet,
77                                           int hdr_size)
78 {
79         return 0;
80 }
81
82 static inline void bla_update_orig_address(struct bat_priv *bat_priv,
83                                            struct hard_iface *primary_if,
84                                            struct hard_iface *oldif)
85 {
86 }
87
88 static inline int bla_init(struct bat_priv *bat_priv)
89 {
90         return 1;
91 }
92
93 static inline void bla_free(struct bat_priv *bat_priv)
94 {
95 }
96
97 #endif /* ifdef CONFIG_BATMAN_ADV_BLA */
98
99 #endif /* ifndef _NET_BATMAN_ADV_BLA_H_ */