xref: /openbmc/linux/include/net/bareudp.h (revision d43600c01c4c69f9d0ac4626f03599196b845ce1)
1571912c6SMartin Varghese /* SPDX-License-Identifier: GPL-2.0 */
2571912c6SMartin Varghese 
3571912c6SMartin Varghese #ifndef __NET_BAREUDP_H
4571912c6SMartin Varghese #define __NET_BAREUDP_H
5571912c6SMartin Varghese 
6571912c6SMartin Varghese #include <linux/types.h>
7571912c6SMartin Varghese #include <linux/skbuff.h>
8*d43600c0SEli Cohen #include <net/rtnetlink.h>
9571912c6SMartin Varghese 
10571912c6SMartin Varghese struct bareudp_conf {
11571912c6SMartin Varghese 	__be16 ethertype;
12571912c6SMartin Varghese 	__be16 port;
13571912c6SMartin Varghese 	u16 sport_min;
144b5f6723SMartin Varghese 	bool multi_proto_mode;
15571912c6SMartin Varghese };
16571912c6SMartin Varghese 
17571912c6SMartin Varghese struct net_device *bareudp_dev_create(struct net *net, const char *name,
18571912c6SMartin Varghese 				      u8 name_assign_type,
19571912c6SMartin Varghese 				      struct bareudp_conf *info);
20571912c6SMartin Varghese 
21*d43600c0SEli Cohen static inline bool netif_is_bareudp(const struct net_device *dev)
22*d43600c0SEli Cohen {
23*d43600c0SEli Cohen 	return dev->rtnl_link_ops &&
24*d43600c0SEli Cohen 	       !strcmp(dev->rtnl_link_ops->kind, "bareudp");
25*d43600c0SEli Cohen }
26*d43600c0SEli Cohen 
27571912c6SMartin Varghese #endif
28