linux/include/linux/if_team.h

/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * include/linux/if_team.h - Network team device driver header
 * Copyright (c) 2011 Jiri Pirko <[email protected]>
 */
#ifndef _LINUX_IF_TEAM_H_
#define _LINUX_IF_TEAM_H_

#include <linux/netpoll.h>
#include <net/sch_generic.h>
#include <linux/types.h>
#include <uapi/linux/if_team.h>

struct team_pcpu_stats {};

struct team;

struct team_port {};

static inline struct team_port *team_port_get_rcu(const struct net_device *dev)
{}

static inline bool team_port_enabled(struct team_port *port)
{}

static inline bool team_port_txable(struct team_port *port)
{}

static inline bool team_port_dev_txable(const struct net_device *port_dev)
{}

#ifdef CONFIG_NET_POLL_CONTROLLER
static inline void team_netpoll_send_skb(struct team_port *port,
					 struct sk_buff *skb)
{}
#else
static inline void team_netpoll_send_skb(struct team_port *port,
					 struct sk_buff *skb)
{
}
#endif

struct team_mode_ops {};

extern int team_modeop_port_enter(struct team *team, struct team_port *port);
extern void team_modeop_port_change_dev_addr(struct team *team,
					     struct team_port *port);

enum team_option_type {};

struct team_option_inst_info {};

struct team_gsetter_ctx {};

struct team_option {};

extern void team_option_inst_set_change(struct team_option_inst_info *opt_inst_info);
extern void team_options_change_check(struct team *team);

struct team_mode {};

#define TEAM_PORT_HASHBITS
#define TEAM_PORT_HASHENTRIES

#define TEAM_MODE_PRIV_LONGS
#define TEAM_MODE_PRIV_SIZE

struct team {};

static inline int team_dev_queue_xmit(struct team *team, struct team_port *port,
				      struct sk_buff *skb)
{}

static inline struct hlist_head *team_port_index_hash(struct team *team,
						      int port_index)
{}

static inline struct team_port *team_get_port_by_index(struct team *team,
						       int port_index)
{}

static inline int team_num_to_port_index(struct team *team, unsigned int num)
{}

static inline struct team_port *team_get_port_by_index_rcu(struct team *team,
							   int port_index)
{}

static inline struct team_port *
team_get_first_port_txable_rcu(struct team *team, struct team_port *port)
{}

extern int team_options_register(struct team *team,
				 const struct team_option *option,
				 size_t option_count);
extern void team_options_unregister(struct team *team,
				    const struct team_option *option,
				    size_t option_count);
extern int team_mode_register(const struct team_mode *mode);
extern void team_mode_unregister(const struct team_mode *mode);

#define TEAM_DEFAULT_NUM_TX_QUEUES
#define TEAM_DEFAULT_NUM_RX_QUEUES

#define MODULE_ALIAS_TEAM_MODE(kind)

#endif /* _LINUX_IF_TEAM_H_ */