xref: /linux/include/net/bareudp.h (revision 93a3545d812ae7cfe4426374e00a7d8f64ac02e0)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 
3 #ifndef __NET_BAREUDP_H
4 #define __NET_BAREUDP_H
5 
6 #include <linux/types.h>
7 #include <linux/skbuff.h>
8 #include <net/rtnetlink.h>
9 
10 struct bareudp_conf {
11 	__be16 ethertype;
12 	__be16 port;
13 	u16 sport_min;
14 	bool multi_proto_mode;
15 	bool rx_collect_metadata;
16 };
17 
18 struct net_device *bareudp_dev_create(struct net *net, const char *name,
19 				      u8 name_assign_type,
20 				      struct bareudp_conf *info);
21 
22 static inline bool netif_is_bareudp(const struct net_device *dev)
23 {
24 	return dev->rtnl_link_ops &&
25 	       !strcmp(dev->rtnl_link_ops->kind, "bareudp");
26 }
27 
28 #endif
29