cregit-Linux how code gets into the kernel

Release 4.18 net/batman-adv/multicast.h

Directory: net/batman-adv
/* SPDX-License-Identifier: GPL-2.0 */
/* Copyright (C) 2014-2018  B.A.T.M.A.N. contributors:
 *
 * Linus Lüssing
 *
 * 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_MULTICAST_H_

#define _NET_BATMAN_ADV_MULTICAST_H_

#include "main.h"

struct netlink_callback;
struct seq_file;
struct sk_buff;

/**
 * enum batadv_forw_mode - the way a packet should be forwarded as
 */

enum batadv_forw_mode {
	/**
         * @BATADV_FORW_ALL: forward the packet to all nodes (currently via
         *  classic flooding)
         */
	
BATADV_FORW_ALL,

	/**
         * @BATADV_FORW_SINGLE: forward the packet to a single node (currently
         *  via the BATMAN unicast routing protocol)
         */
	
BATADV_FORW_SINGLE,

	/** @BATADV_FORW_NONE: don't forward, drop it */
	
BATADV_FORW_NONE,
};

#ifdef CONFIG_BATMAN_ADV_MCAST

enum batadv_forw_mode
batadv_mcast_forw_mode(struct batadv_priv *bat_priv, struct sk_buff *skb,
		       struct batadv_orig_node **mcast_single_orig);

void batadv_mcast_init(struct batadv_priv *bat_priv);

int batadv_mcast_flags_seq_print_text(struct seq_file *seq, void *offset);

int batadv_mcast_mesh_info_put(struct sk_buff *msg,
			       struct batadv_priv *bat_priv);

int batadv_mcast_flags_dump(struct sk_buff *msg, struct netlink_callback *cb);

void batadv_mcast_free(struct batadv_priv *bat_priv);

void batadv_mcast_purge_orig(struct batadv_orig_node *orig_node);

#else


static inline enum batadv_forw_mode batadv_mcast_forw_mode(struct batadv_priv *bat_priv, struct sk_buff *skb, struct batadv_orig_node **mcast_single_orig) { return BATADV_FORW_ALL; }

Contributors

PersonTokensPropCommitsCommitProp
Linus Lüssing27100.00%1100.00%
Total27100.00%1100.00%


static inline int batadv_mcast_init(struct batadv_priv *bat_priv) { return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Linus Lüssing15100.00%1100.00%
Total15100.00%1100.00%


static inline int batadv_mcast_mesh_info_put(struct sk_buff *msg, struct batadv_priv *bat_priv) { return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Linus Lüssing20100.00%1100.00%
Total20100.00%1100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
Linus Lüssing21100.00%1100.00%
Total21100.00%1100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
Linus Lüssing1090.91%150.00%
Antonio Quartulli19.09%150.00%
Total11100.00%2100.00%


static inline void batadv_mcast_purge_orig(struct batadv_orig_node *orig_node) { }

Contributors

PersonTokensPropCommitsCommitProp
Linus Lüssing1090.91%150.00%
Antonio Quartulli19.09%150.00%
Total11100.00%2100.00%

#endif /* CONFIG_BATMAN_ADV_MCAST */ #endif /* _NET_BATMAN_ADV_MULTICAST_H_ */

Overall Contributors

PersonTokensPropCommitsCommitProp
Linus Lüssing22594.14%550.00%
Sven Eckelmann125.02%440.00%
Antonio Quartulli20.84%110.00%
Total239100.00%10100.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.