cregit-Linux how code gets into the kernel

Release 4.11 net/batman-adv/bridge_loop_avoidance.h

Directory: net/batman-adv
/* Copyright (C) 2011-2017  B.A.T.M.A.N. contributors:
 *
 * 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
 * along with this program; if not, see <http://www.gnu.org/licenses/>.
 */

#ifndef _NET_BATMAN_ADV_BLA_H_

#define _NET_BATMAN_ADV_BLA_H_

#include "main.h"

#include <linux/compiler.h>
#include <linux/stddef.h>
#include <linux/types.h>

struct net_device;
struct netlink_callback;
struct seq_file;
struct sk_buff;

/**
 * batadv_bla_is_loopdetect_mac - check if the mac address is from a loop detect
 *  frame sent by bridge loop avoidance
 * @mac: mac address to check
 *
 * Return: true if the it looks like a loop detect frame
 * (mac starts with BA:BE), false otherwise
 */

static inline bool batadv_bla_is_loopdetect_mac(const uint8_t *mac) { if (mac[0] == 0xba && mac[1] == 0xbe) return true; return false; }

Contributors

PersonTokensPropCommitsCommitProp
Simon Wunderlich34100.00%1100.00%
Total34100.00%1100.00%

#ifdef CONFIG_BATMAN_ADV_BLA 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); int batadv_bla_claim_table_seq_print_text(struct seq_file *seq, void *offset); int batadv_bla_claim_dump(struct sk_buff *msg, struct netlink_callback *cb); int batadv_bla_backbone_table_seq_print_text(struct seq_file *seq, void *offset); int batadv_bla_backbone_dump(struct sk_buff *msg, struct netlink_callback *cb); bool batadv_bla_is_backbone_gw_orig(struct batadv_priv *bat_priv, u8 *orig, unsigned short vid); bool batadv_bla_check_bcast_duplist(struct batadv_priv *bat_priv, struct sk_buff *skb); void batadv_bla_update_orig_address(struct batadv_priv *bat_priv, struct batadv_hard_iface *primary_if, struct batadv_hard_iface *oldif); void batadv_bla_status_update(struct net_device *net_dev); int batadv_bla_init(struct batadv_priv *bat_priv); void batadv_bla_free(struct batadv_priv *bat_priv); int batadv_bla_claim_dump(struct sk_buff *msg, struct netlink_callback *cb); #define BATADV_BLA_CRC_INIT 0 #else /* ifdef CONFIG_BATMAN_ADV_BLA */
static inline bool batadv_bla_rx(struct batadv_priv *bat_priv, struct sk_buff *skb, unsigned short vid, bool is_bcast) { return false; }

Contributors

PersonTokensPropCommitsCommitProp
Simon Wunderlich2281.48%233.33%
Sven Eckelmann414.81%350.00%
Antonio Quartulli13.70%116.67%
Total27100.00%6100.00%


static inline bool batadv_bla_tx(struct batadv_priv *bat_priv, struct sk_buff *skb, unsigned short vid) { return false; }

Contributors

PersonTokensPropCommitsCommitProp
Simon Wunderlich1979.17%120.00%
Sven Eckelmann416.67%360.00%
Antonio Quartulli14.17%120.00%
Total24100.00%5100.00%


static inline bool batadv_bla_is_backbone_gw(struct sk_buff *skb, struct batadv_orig_node *orig_node, int hdr_size) { return false; }

Contributors

PersonTokensPropCommitsCommitProp
Simon Wunderlich1982.61%125.00%
Sven Eckelmann417.39%375.00%
Total23100.00%4100.00%


static inline int batadv_bla_claim_table_seq_print_text(struct seq_file *seq, void *offset) { return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Simon Wunderlich1894.74%266.67%
Sven Eckelmann15.26%133.33%
Total19100.00%3100.00%


static inline int batadv_bla_backbone_table_seq_print_text(struct seq_file *seq, void *offset) { return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Simon Wunderlich19100.00%2100.00%
Total19100.00%2100.00%


static inline bool batadv_bla_is_backbone_gw_orig(struct batadv_priv *bat_priv, u8 *orig, unsigned short vid) { return false; }

Contributors

PersonTokensPropCommitsCommitProp
Simon Wunderlich1460.87%120.00%
Antonio Quartulli626.09%120.00%
Sven Eckelmann313.04%360.00%
Total23100.00%5100.00%


static inline bool batadv_bla_check_bcast_duplist(struct batadv_priv *bat_priv, struct sk_buff *skb) { return false; }

Contributors

PersonTokensPropCommitsCommitProp
Simon Wunderlich1680.00%240.00%
Sven Eckelmann420.00%360.00%
Total20100.00%5100.00%


static inline void batadv_bla_update_orig_address(struct batadv_priv *bat_priv, struct batadv_hard_iface *primary_if, struct batadv_hard_iface *oldif) { }

Contributors

PersonTokensPropCommitsCommitProp
Simon Wunderlich1780.95%133.33%
Sven Eckelmann419.05%266.67%
Total21100.00%3100.00%


static inline int batadv_bla_init(struct batadv_priv *bat_priv) { return 1; }

Contributors

PersonTokensPropCommitsCommitProp
Simon Wunderlich1386.67%133.33%
Sven Eckelmann213.33%266.67%
Total15100.00%3100.00%


static inline void batadv_bla_free(struct batadv_priv *bat_priv) { }

Contributors

PersonTokensPropCommitsCommitProp
Simon Wunderlich981.82%133.33%
Sven Eckelmann218.18%266.67%
Total11100.00%3100.00%


static inline int batadv_bla_claim_dump(struct sk_buff *msg, struct netlink_callback *cb) { return -EOPNOTSUPP; }

Contributors

PersonTokensPropCommitsCommitProp
Andrew Lunn21100.00%1100.00%
Total21100.00%1100.00%


static inline int batadv_bla_backbone_dump(struct sk_buff *msg, struct netlink_callback *cb) { return -EOPNOTSUPP; }

Contributors

PersonTokensPropCommitsCommitProp
Simon Wunderlich21100.00%1100.00%
Total21100.00%1100.00%

#endif /* ifdef CONFIG_BATMAN_ADV_BLA */ #endif /* ifndef _NET_BATMAN_ADV_BLA_H_ */

Overall Contributors

PersonTokensPropCommitsCommitProp
Simon Wunderlich39474.76%1152.38%
Sven Eckelmann6612.52%733.33%
Andrew Lunn529.87%14.76%
Antonio Quartulli152.85%29.52%
Total527100.00%21100.00%
Directory: net/batman-adv
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.