18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ci#ifndef __NET_BAREUDP_H 48c2ecf20Sopenharmony_ci#define __NET_BAREUDP_H 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci#include <linux/types.h> 78c2ecf20Sopenharmony_ci#include <linux/skbuff.h> 88c2ecf20Sopenharmony_ci#include <net/rtnetlink.h> 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_cistruct bareudp_conf { 118c2ecf20Sopenharmony_ci __be16 ethertype; 128c2ecf20Sopenharmony_ci __be16 port; 138c2ecf20Sopenharmony_ci u16 sport_min; 148c2ecf20Sopenharmony_ci bool multi_proto_mode; 158c2ecf20Sopenharmony_ci}; 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_cistruct net_device *bareudp_dev_create(struct net *net, const char *name, 188c2ecf20Sopenharmony_ci u8 name_assign_type, 198c2ecf20Sopenharmony_ci struct bareudp_conf *info); 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_cistatic inline bool netif_is_bareudp(const struct net_device *dev) 228c2ecf20Sopenharmony_ci{ 238c2ecf20Sopenharmony_ci return dev->rtnl_link_ops && 248c2ecf20Sopenharmony_ci !strcmp(dev->rtnl_link_ops->kind, "bareudp"); 258c2ecf20Sopenharmony_ci} 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ci#endif 28