Blame view

net/batman-adv/bridge_loop_avoidance.h 3.71 KB
0046b0402   Sven Eckelmann   batman-adv: updat...
1
  /* Copyright (C) 2011-2016  B.A.T.M.A.N. contributors:
23721387c   Simon Wunderlich   batman-adv: add b...
2
3
4
5
6
7
8
9
10
11
12
13
14
   *
   * Simon Wunderlich
   *
   * This program is free software; you can redistribute it and/or
   * modify it under the terms of version 2 of the GNU General Public
   * License as published by the Free Software Foundation.
   *
   * This program is distributed in the hope that it will be useful, but
   * WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
   * General Public License for more details.
   *
   * You should have received a copy of the GNU General Public License
ebf38fb7a   Antonio Quartulli   batman-adv: remov...
15
   * along with this program; if not, see <http://www.gnu.org/licenses/>.
23721387c   Simon Wunderlich   batman-adv: add b...
16
17
18
19
   */
  
  #ifndef _NET_BATMAN_ADV_BLA_H_
  #define _NET_BATMAN_ADV_BLA_H_
1e2c2a4fe   Sven Eckelmann   batman-adv: Add r...
20
21
22
  #include "main.h"
  
  #include <linux/types.h>
d68081a24   Simon Wunderlich   batman-adv: purge...
23
  struct net_device;
04f3f5bf1   Andrew Lunn   batman-adv: add B...
24
  struct netlink_callback;
1e2c2a4fe   Sven Eckelmann   batman-adv: Add r...
25
26
  struct seq_file;
  struct sk_buff;
7a5cc2427   Simon Wunderlich   batman-adv: add b...
27
  #ifdef CONFIG_BATMAN_ADV_BLA
4b426b108   Sven Eckelmann   batman-adv: Use b...
28
29
30
31
32
33
34
  bool batadv_bla_rx(struct batadv_priv *bat_priv, struct sk_buff *skb,
  		   unsigned short vid, bool is_bcast);
  bool batadv_bla_tx(struct batadv_priv *bat_priv, struct sk_buff *skb,
  		   unsigned short vid);
  bool batadv_bla_is_backbone_gw(struct sk_buff *skb,
  			       struct batadv_orig_node *orig_node,
  			       int hdr_size);
08adf1512   Sven Eckelmann   batman-adv: Prefi...
35
  int batadv_bla_claim_table_seq_print_text(struct seq_file *seq, void *offset);
04f3f5bf1   Andrew Lunn   batman-adv: add B...
36
  int batadv_bla_claim_dump(struct sk_buff *msg, struct netlink_callback *cb);
536a23f11   Simon Wunderlich   batman-adv: Add t...
37
38
  int batadv_bla_backbone_table_seq_print_text(struct seq_file *seq,
  					     void *offset);
ea4152e11   Simon Wunderlich   batman-adv: add b...
39
  int batadv_bla_backbone_dump(struct sk_buff *msg, struct netlink_callback *cb);
6b5e971a2   Sven Eckelmann   batman-adv: Repla...
40
  bool batadv_bla_is_backbone_gw_orig(struct batadv_priv *bat_priv, u8 *orig,
cfd4f7570   Antonio Quartulli   batman-adv: make ...
41
  				    unsigned short vid);
4b426b108   Sven Eckelmann   batman-adv: Use b...
42
43
  bool batadv_bla_check_bcast_duplist(struct batadv_priv *bat_priv,
  				    struct sk_buff *skb);
56303d34a   Sven Eckelmann   batman-adv: Prefi...
44
45
46
  void batadv_bla_update_orig_address(struct batadv_priv *bat_priv,
  				    struct batadv_hard_iface *primary_if,
  				    struct batadv_hard_iface *oldif);
d68081a24   Simon Wunderlich   batman-adv: purge...
47
  void batadv_bla_status_update(struct net_device *net_dev);
56303d34a   Sven Eckelmann   batman-adv: Prefi...
48
49
  int batadv_bla_init(struct batadv_priv *bat_priv);
  void batadv_bla_free(struct batadv_priv *bat_priv);
04f3f5bf1   Andrew Lunn   batman-adv: add B...
50
  int batadv_bla_claim_dump(struct sk_buff *msg, struct netlink_callback *cb);
3964f7285   Sven Eckelmann   batman-adv: Prefi...
51
  #define BATADV_BLA_CRC_INIT	0
7a5cc2427   Simon Wunderlich   batman-adv: add b...
52
  #else /* ifdef CONFIG_BATMAN_ADV_BLA */
4b426b108   Sven Eckelmann   batman-adv: Use b...
53
54
55
  static inline bool batadv_bla_rx(struct batadv_priv *bat_priv,
  				 struct sk_buff *skb, unsigned short vid,
  				 bool is_bcast)
7a5cc2427   Simon Wunderlich   batman-adv: add b...
56
  {
4b426b108   Sven Eckelmann   batman-adv: Use b...
57
  	return false;
7a5cc2427   Simon Wunderlich   batman-adv: add b...
58
  }
4b426b108   Sven Eckelmann   batman-adv: Use b...
59
60
  static inline bool batadv_bla_tx(struct batadv_priv *bat_priv,
  				 struct sk_buff *skb, unsigned short vid)
7a5cc2427   Simon Wunderlich   batman-adv: add b...
61
  {
4b426b108   Sven Eckelmann   batman-adv: Use b...
62
  	return false;
7a5cc2427   Simon Wunderlich   batman-adv: add b...
63
  }
4b426b108   Sven Eckelmann   batman-adv: Use b...
64
65
66
  static inline bool batadv_bla_is_backbone_gw(struct sk_buff *skb,
  					     struct batadv_orig_node *orig_node,
  					     int hdr_size)
7a5cc2427   Simon Wunderlich   batman-adv: add b...
67
  {
4b426b108   Sven Eckelmann   batman-adv: Use b...
68
  	return false;
7a5cc2427   Simon Wunderlich   batman-adv: add b...
69
  }
08adf1512   Sven Eckelmann   batman-adv: Prefi...
70
71
  static inline int batadv_bla_claim_table_seq_print_text(struct seq_file *seq,
  							void *offset)
7a5cc2427   Simon Wunderlich   batman-adv: add b...
72
73
74
  {
  	return 0;
  }
536a23f11   Simon Wunderlich   batman-adv: Add t...
75
76
77
78
79
  static inline int batadv_bla_backbone_table_seq_print_text(struct seq_file *seq,
  							   void *offset)
  {
  	return 0;
  }
cfd4f7570   Antonio Quartulli   batman-adv: make ...
80
  static inline bool batadv_bla_is_backbone_gw_orig(struct batadv_priv *bat_priv,
6b5e971a2   Sven Eckelmann   batman-adv: Repla...
81
  						  u8 *orig, unsigned short vid)
7a5cc2427   Simon Wunderlich   batman-adv: add b...
82
  {
cfd4f7570   Antonio Quartulli   batman-adv: make ...
83
  	return false;
7a5cc2427   Simon Wunderlich   batman-adv: add b...
84
  }
4b426b108   Sven Eckelmann   batman-adv: Use b...
85
  static inline bool
56303d34a   Sven Eckelmann   batman-adv: Prefi...
86
  batadv_bla_check_bcast_duplist(struct batadv_priv *bat_priv,
004e86fc5   Simon Wunderlich   batman-adv: Fix b...
87
  			       struct sk_buff *skb)
7a5cc2427   Simon Wunderlich   batman-adv: add b...
88
  {
4b426b108   Sven Eckelmann   batman-adv: Use b...
89
  	return false;
7a5cc2427   Simon Wunderlich   batman-adv: add b...
90
  }
08adf1512   Sven Eckelmann   batman-adv: Prefi...
91
  static inline void
56303d34a   Sven Eckelmann   batman-adv: Prefi...
92
93
94
  batadv_bla_update_orig_address(struct batadv_priv *bat_priv,
  			       struct batadv_hard_iface *primary_if,
  			       struct batadv_hard_iface *oldif)
7a5cc2427   Simon Wunderlich   batman-adv: add b...
95
96
  {
  }
56303d34a   Sven Eckelmann   batman-adv: Prefi...
97
  static inline int batadv_bla_init(struct batadv_priv *bat_priv)
7a5cc2427   Simon Wunderlich   batman-adv: add b...
98
99
100
  {
  	return 1;
  }
56303d34a   Sven Eckelmann   batman-adv: Prefi...
101
  static inline void batadv_bla_free(struct batadv_priv *bat_priv)
7a5cc2427   Simon Wunderlich   batman-adv: add b...
102
103
  {
  }
04f3f5bf1   Andrew Lunn   batman-adv: add B...
104
105
106
107
108
  static inline int batadv_bla_claim_dump(struct sk_buff *msg,
  					struct netlink_callback *cb)
  {
  	return -EOPNOTSUPP;
  }
ea4152e11   Simon Wunderlich   batman-adv: add b...
109
110
111
112
113
  static inline int batadv_bla_backbone_dump(struct sk_buff *msg,
  					   struct netlink_callback *cb)
  {
  	return -EOPNOTSUPP;
  }
7a5cc2427   Simon Wunderlich   batman-adv: add b...
114
  #endif /* ifdef CONFIG_BATMAN_ADV_BLA */
23721387c   Simon Wunderlich   batman-adv: add b...
115
116
  
  #endif /* ifndef _NET_BATMAN_ADV_BLA_H_ */