Merge branch 'opp/linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm
[linux-block.git] / net / batman-adv / soft-interface.h
CommitLineData
7db7d9f3 1/* SPDX-License-Identifier: GPL-2.0 */
68e039f9 2/* Copyright (C) 2007-2020 B.A.T.M.A.N. contributors:
c6c8fea2
SE
3 *
4 * Marek Lindner
c6c8fea2
SE
5 */
6
7#ifndef _NET_BATMAN_ADV_SOFT_INTERFACE_H_
8#define _NET_BATMAN_ADV_SOFT_INTERFACE_H_
9
1e2c2a4f
SE
10#include "main.h"
11
68a600de
SE
12#include <linux/netdevice.h>
13#include <linux/skbuff.h>
4b426b10 14#include <linux/types.h>
68a600de 15#include <net/net_namespace.h>
1e2c2a4f
SE
16#include <net/rtnetlink.h>
17
04b482a2 18int batadv_skb_head_push(struct sk_buff *skb, unsigned int len);
37135173 19void batadv_interface_rx(struct net_device *soft_iface,
6535db56
SE
20 struct sk_buff *skb, int hdr_size,
21 struct batadv_orig_node *orig_node);
2cd45a06 22struct net_device *batadv_softif_create(struct net *net, const char *name);
e07932ae 23void batadv_softif_destroy_sysfs(struct net_device *soft_iface);
4b426b10 24bool batadv_softif_is_valid(const struct net_device *net_dev);
a4ac28c0 25extern struct rtnl_link_ops batadv_link_ops;
5d2c05b2 26int batadv_softif_create_vlan(struct batadv_priv *bat_priv, unsigned short vid);
9c3bf081 27void batadv_softif_vlan_put(struct batadv_softif_vlan *softif_vlan);
90f4435d
AQ
28struct batadv_softif_vlan *batadv_softif_vlan_get(struct batadv_priv *bat_priv,
29 unsigned short vid);
c6c8fea2
SE
30
31#endif /* _NET_BATMAN_ADV_SOFT_INTERFACE_H_ */