/
usr
/
src
/
linux-headers-5.15.0-181
/
include
/
net
/
/usr/src/linux-headers-5.15.0-181/include/net
mkdir
upload
Name
Size
Mode
Actions
9p/
-
0755
rm
bluetooth/
-
0755
rm
caif/
-
0755
rm
iucv/
-
0755
rm
netfilter/
-
0755
rm
netns/
-
0755
rm
nfc/
-
0755
rm
phonet/
-
0755
rm
sctp/
-
0755
rm
tc_act/
-
0755
rm
6lowpan.h
10270
0644
edit
dl
rm
act_api.h
8647
0644
edit
dl
rm
addrconf.h
14594
0644
edit
dl
rm
af_ieee802154.h
1220
0644
edit
dl
rm
af_rxrpc.h
2798
0644
edit
dl
rm
af_unix.h
3375
0644
edit
dl
rm
af_vsock.h
7592
0644
edit
dl
rm
ah.h
382
0644
edit
dl
rm
arp.h
2141
0644
edit
dl
rm
atmclip.h
1515
0644
edit
dl
rm
ax25.h
15443
0644
edit
dl
rm
ax88796.h
1440
0644
edit
dl
rm
bareudp.h
572
0644
edit
dl
rm
bonding.h
20263
0644
edit
dl
rm
bond_3ad.h
9706
0644
edit
dl
rm
bond_alb.h
6251
0644
edit
dl
rm
bond_options.h
3876
0644
edit
dl
rm
bpf_sk_storage.h
1780
0644
edit
dl
rm
busy_poll.h
3959
0644
edit
dl
rm
calipso.h
1590
0644
edit
dl
rm
cfg80211-wext.h
1854
0644
edit
dl
rm
cfg80211.h
301317
0644
edit
dl
rm
cfg802154.h
10779
0644
edit
dl
rm
checksum.h
4869
0644
edit
dl
rm
cipso_ipv4.h
7548
0644
edit
dl
rm
cls_cgroup.h
2086
0644
edit
dl
rm
codel.h
5782
0644
edit
dl
rm
codel_impl.h
8167
0644
edit
dl
rm
codel_qdisc.h
2973
0644
edit
dl
rm
compat.h
2586
0644
edit
dl
rm
datalink.h
619
0644
edit
dl
rm
dcbevent.h
742
0644
edit
dl
rm
dcbnl.h
4317
0644
edit
dl
rm
devlink.h
63593
0644
edit
dl
rm
dsa.h
36231
0644
edit
dl
rm
dsfield.h
1147
0644
edit
dl
rm
dst.h
15153
0644
edit
dl
rm
dst_cache.h
3031
0644
edit
dl
rm
dst_metadata.h
5521
0644
edit
dl
rm
dst_ops.h
2125
0644
edit
dl
rm
erspan.h
9180
0644
edit
dl
rm
esp.h
1190
0644
edit
dl
rm
espintcp.h
966
0644
edit
dl
rm
ethoc.h
391
0644
edit
dl
rm
failover.h
1178
0644
edit
dl
rm
fib_notifier.h
1384
0644
edit
dl
rm
fib_rules.h
6450
0644
edit
dl
rm
firewire.h
636
0644
edit
dl
rm
flow.h
5119
0644
edit
dl
rm
flow_dissector.h
10517
0644
edit
dl
rm
flow_offload.h
15938
0644
edit
dl
rm
fou.h
549
0644
edit
dl
rm
fq.h
2528
0644
edit
dl
rm
fq_impl.h
8076
0644
edit
dl
rm
garp.h
2678
0644
edit
dl
rm
genetlink.h
13854
0644
edit
dl
rm
geneve.h
1898
0644
edit
dl
rm
gen_stats.h
2889
0644
edit
dl
rm
gre.h
3369
0644
edit
dl
rm
gro.h
783
0644
edit
dl
rm
gro_cells.h
443
0644
edit
dl
rm
gtp.h
633
0644
edit
dl
rm
gue.h
3313
0644
edit
dl
rm
hwbm.h
969
0644
edit
dl
rm
icmp.h
1918
0644
edit
dl
rm
ieee80211_radiotap.h
13518
0644
edit
dl
rm
ieee802154_netdev.h
10095
0644
edit
dl
rm
ife.h
1057
0644
edit
dl
rm
if_inet6.h
6692
0644
edit
dl
rm
ila.h
291
0644
edit
dl
rm
inet6_connection_sock.h
765
0644
edit
dl
rm
inet6_hashtables.h
4259
0644
edit
dl
rm
inetpeer.h
3372
0644
edit
dl
rm
inet_common.h
2614
0644
edit
dl
rm
inet_connection_sock.h
11519
0644
edit
dl
rm
inet_ecn.h
7625
0644
edit
dl
rm
inet_frag.h
5046
0644
edit
dl
rm
inet_hashtables.h
12532
0644
edit
dl
rm
inet_sock.h
9994
0644
edit
dl
rm
inet_timewait_sock.h
3735
0644
edit
dl
rm
ioam6.h
1199
0644
edit
dl
rm
ip.h
22759
0644
edit
dl
rm
ip6_checksum.h
2770
0644
edit
dl
rm
ip6_fib.h
16280
0644
edit
dl
rm
ip6_route.h
10230
0644
edit
dl
rm
ip6_tunnel.h
5096
0644
edit
dl
rm
ipcomp.h
659
0644
edit
dl
rm
ipconfig.h
811
0644
edit
dl
rm
ipv6.h
36182
0644
edit
dl
rm
ipv6_frag.h
3361
0644
edit
dl
rm
ipv6_stubs.h
3482
0644
edit
dl
rm
ip_fib.h
16346
0644
edit
dl
rm
ip_tunnels.h
15949
0644
edit
dl
rm
ip_vs.h
50588
0644
edit
dl
rm
iw_handler.h
21413
0644
edit
dl
rm
kcm.h
4961
0644
edit
dl
rm
l3mdev.h
7202
0644
edit
dl
rm
lag.h
409
0644
edit
dl
rm
lapb.h
4938
0644
edit
dl
rm
lib80211.h
4017
0644
edit
dl
rm
llc.h
4514
0644
edit
dl
rm
llc_conn.h
4155
0644
edit
dl
rm
llc_c_ac.h
9537
0644
edit
dl
rm
llc_c_ev.h
10940
0644
edit
dl
rm
llc_c_st.h
1762
0644
edit
dl
rm
llc_if.h
2210
0644
edit
dl
rm
llc_pdu.h
14697
0644
edit
dl
rm
llc_sap.h
1108
0644
edit
dl
rm
llc_s_ac.h
1591
0644
edit
dl
rm
llc_s_ev.h
2255
0644
edit
dl
rm
llc_s_st.h
947
0644
edit
dl
rm
lwtunnel.h
6806
0644
edit
dl
rm
mac80211.h
273972
0644
edit
dl
rm
mac802154.h
15235
0644
edit
dl
rm
macsec.h
7084
0644
edit
dl
rm
mctp.h
6155
0644
edit
dl
rm
mctpdevice.h
841
0644
edit
dl
rm
mip6.h
1016
0644
edit
dl
rm
mld.h
2918
0644
edit
dl
rm
mpls.h
943
0644
edit
dl
rm
mpls_iptunnel.h
429
0644
edit
dl
rm
mptcp.h
6776
0644
edit
dl
rm
mrp.h
3119
0644
edit
dl
rm
ncsi.h
1964
0644
edit
dl
rm
ndisc.h
15150
0644
edit
dl
rm
neighbour.h
16099
0644
edit
dl
rm
netevent.h
1044
0644
edit
dl
rm
netlabel.h
20676
0644
edit
dl
rm
netlink.h
61656
0644
edit
dl
rm
netprio_cgroup.h
1047
0644
edit
dl
rm
netrom.h
7895
0644
edit
dl
rm
net_failover.h
1023
0644
edit
dl
rm
net_namespace.h
12795
0644
edit
dl
rm
net_ratelimit.h
220
0644
edit
dl
rm
nexthop.h
12565
0644
edit
dl
rm
nl802154.h
12384
0644
edit
dl
rm
nsh.h
12602
0644
edit
dl
rm
p8022.h
447
0644
edit
dl
rm
page_pool.h
8646
0644
edit
dl
rm
pie.h
3684
0644
edit
dl
rm
ping.h
2970
0644
edit
dl
rm
pkt_cls.h
24431
0644
edit
dl
rm
pkt_sched.h
6042
0644
edit
dl
rm
pptp.h
557
0644
edit
dl
rm
protocol.h
3900
0644
edit
dl
rm
psample.h
1083
0644
edit
dl
rm
psnap.h
351
0644
edit
dl
rm
raw.h
2136
0644
edit
dl
rm
rawv6.h
854
0644
edit
dl
rm
red.h
11654
0644
edit
dl
rm
regulatory.h
10901
0644
edit
dl
rm
request_sock.h
6660
0644
edit
dl
rm
rose.h
7802
0644
edit
dl
rm
route.h
11582
0644
edit
dl
rm
rpl.h
839
0644
edit
dl
rm
rsi_91x.h
1710
0644
edit
dl
rm
rtnetlink.h
7638
0644
edit
dl
rm
rtnh.h
859
0644
edit
dl
rm
sch_generic.h
34720
0644
edit
dl
rm
scm.h
3877
0644
edit
dl
rm
secure_seq.h
855
0644
edit
dl
rm
seg6.h
2237
0644
edit
dl
rm
seg6_hmac.h
1473
0644
edit
dl
rm
seg6_local.h
644
0644
edit
dl
rm
selftests.h
582
0644
edit
dl
rm
slhc_vj.h
6831
0644
edit
dl
rm
smc.h
2513
0644
edit
dl
rm
snmp.h
5268
0644
edit
dl
rm
sock.h
86351
0644
edit
dl
rm
sock_reuseport.h
1873
0644
edit
dl
rm
Space.h
737
0644
edit
dl
rm
stp.h
383
0644
edit
dl
rm
strparser.h
4250
0644
edit
dl
rm
switchdev.h
14614
0644
edit
dl
rm
tcp.h
75246
0644
edit
dl
rm
tcp_states.h
1225
0644
edit
dl
rm
timewait_sock.h
925
0644
edit
dl
rm
tipc.h
2405
0644
edit
dl
rm
tls.h
21465
0644
edit
dl
rm
tls_toe.h
3006
0644
edit
dl
rm
transp_v6.h
1996
0644
edit
dl
rm
tso.h
566
0644
edit
dl
rm
tun_proto.h
988
0644
edit
dl
rm
udp.h
17035
0644
edit
dl
rm
udplite.h
3762
0644
edit
dl
rm
udp_tunnel.h
12201
0644
edit
dl
rm
vsock_addr.h
662
0644
edit
dl
rm
vxlan.h
14424
0644
edit
dl
rm
wext.h
1510
0644
edit
dl
rm
x25.h
9718
0644
edit
dl
rm
x25device.h
387
0644
edit
dl
rm
xdp.h
8829
0644
edit
dl
rm
xdp_priv.h
446
0644
edit
dl
rm
xdp_sock.h
2094
0644
edit
dl
rm
xdp_sock_drv.h
5607
0644
edit
dl
rm
xfrm.h
56304
0644
edit
dl
rm
xsk_buff_pool.h
5138
0644
edit
dl
rm
Edit:
/usr/src/linux-headers-5.15.0-181/include/net/rtnetlink.h
(7638B)
/* SPDX-License-Identifier: GPL-2.0 */ #ifndef __NET_RTNETLINK_H #define __NET_RTNETLINK_H #include <linux/rtnetlink.h> #include <net/netlink.h> typedef int (*rtnl_doit_func)(struct sk_buff *, struct nlmsghdr *, struct netlink_ext_ack *); typedef int (*rtnl_dumpit_func)(struct sk_buff *, struct netlink_callback *); enum rtnl_link_flags { RTNL_FLAG_DOIT_UNLOCKED = BIT(0), RTNL_FLAG_BULK_DEL_SUPPORTED = BIT(1), }; enum rtnl_kinds { RTNL_KIND_NEW, RTNL_KIND_DEL, RTNL_KIND_GET, RTNL_KIND_SET }; #define RTNL_KIND_MASK 0x3 static inline enum rtnl_kinds rtnl_msgtype_kind(int msgtype) { return msgtype & RTNL_KIND_MASK; } struct rtnl_msg_handler { struct module *owner; int protocol; int msgtype; rtnl_doit_func doit; rtnl_dumpit_func dumpit; int flags; }; void rtnl_register(int protocol, int msgtype, rtnl_doit_func, rtnl_dumpit_func, unsigned int flags); int rtnl_register_module(struct module *owner, int protocol, int msgtype, rtnl_doit_func, rtnl_dumpit_func, unsigned int flags); int rtnl_unregister(int protocol, int msgtype); void rtnl_unregister_all(int protocol); int __rtnl_register_many(const struct rtnl_msg_handler *handlers, int n); void __rtnl_unregister_many(const struct rtnl_msg_handler *handlers, int n); #define rtnl_register_many(handlers) \ __rtnl_register_many(handlers, ARRAY_SIZE(handlers)) #define rtnl_unregister_many(handlers) \ __rtnl_unregister_many(handlers, ARRAY_SIZE(handlers)) static inline int rtnl_msg_family(const struct nlmsghdr *nlh) { if (nlmsg_len(nlh) >= sizeof(struct rtgenmsg)) return ((struct rtgenmsg *) nlmsg_data(nlh))->rtgen_family; else return AF_UNSPEC; } /** * struct rtnl_link_ops - rtnetlink link operations * * @list: Used internally * @kind: Identifier * @netns_refund: Physical device, move to init_net on netns exit * @maxtype: Highest device specific netlink attribute number * @policy: Netlink policy for device specific attribute validation * @validate: Optional validation function for netlink/changelink parameters * @alloc: netdev allocation function, can be %NULL and is then used * in place of alloc_netdev_mqs(), in this case @priv_size * and @setup are unused. Returns a netdev or ERR_PTR(). * @priv_size: sizeof net_device private space * @setup: net_device setup function * @newlink: Function for configuring and registering a new device * @changelink: Function for changing parameters of an existing device * @dellink: Function to remove a device * @get_size: Function to calculate required room for dumping device * specific netlink attributes * @fill_info: Function to dump device specific netlink attributes * @get_xstats_size: Function to calculate required room for dumping device * specific statistics * @fill_xstats: Function to dump device specific statistics * @get_num_tx_queues: Function to determine number of transmit queues * to create when creating a new device. * @get_num_rx_queues: Function to determine number of receive queues * to create when creating a new device. * @get_link_net: Function to get the i/o netns of the device * @get_linkxstats_size: Function to calculate the required room for * dumping device-specific extended link stats * @fill_linkxstats: Function to dump device-specific extended link stats */ struct rtnl_link_ops { struct list_head list; const char *kind; size_t priv_size; struct net_device *(*alloc)(struct nlattr *tb[], const char *ifname, unsigned char name_assign_type, unsigned int num_tx_queues, unsigned int num_rx_queues); void (*setup)(struct net_device *dev); bool netns_refund; unsigned int maxtype; const struct nla_policy *policy; int (*validate)(struct nlattr *tb[], struct nlattr *data[], struct netlink_ext_ack *extack); int (*newlink)(struct net *src_net, struct net_device *dev, struct nlattr *tb[], struct nlattr *data[], struct netlink_ext_ack *extack); int (*changelink)(struct net_device *dev, struct nlattr *tb[], struct nlattr *data[], struct netlink_ext_ack *extack); void (*dellink)(struct net_device *dev, struct list_head *head); size_t (*get_size)(const struct net_device *dev); int (*fill_info)(struct sk_buff *skb, const struct net_device *dev); size_t (*get_xstats_size)(const struct net_device *dev); int (*fill_xstats)(struct sk_buff *skb, const struct net_device *dev); unsigned int (*get_num_tx_queues)(void); unsigned int (*get_num_rx_queues)(void); unsigned int slave_maxtype; const struct nla_policy *slave_policy; int (*slave_changelink)(struct net_device *dev, struct net_device *slave_dev, struct nlattr *tb[], struct nlattr *data[], struct netlink_ext_ack *extack); size_t (*get_slave_size)(const struct net_device *dev, const struct net_device *slave_dev); int (*fill_slave_info)(struct sk_buff *skb, const struct net_device *dev, const struct net_device *slave_dev); struct net *(*get_link_net)(const struct net_device *dev); size_t (*get_linkxstats_size)(const struct net_device *dev, int attr); int (*fill_linkxstats)(struct sk_buff *skb, const struct net_device *dev, int *prividx, int attr); }; int __rtnl_link_register(struct rtnl_link_ops *ops); void __rtnl_link_unregister(struct rtnl_link_ops *ops); int rtnl_link_register(struct rtnl_link_ops *ops); void rtnl_link_unregister(struct rtnl_link_ops *ops); /** * struct rtnl_af_ops - rtnetlink address family operations * * @list: Used internally * @family: Address family * @fill_link_af: Function to fill IFLA_AF_SPEC with address family * specific netlink attributes. * @get_link_af_size: Function to calculate size of address family specific * netlink attributes. * @validate_link_af: Validate a IFLA_AF_SPEC attribute, must check attr * for invalid configuration settings. * @set_link_af: Function to parse a IFLA_AF_SPEC attribute and modify * net_device accordingly. */ struct rtnl_af_ops { struct list_head list; int family; int (*fill_link_af)(struct sk_buff *skb, const struct net_device *dev, u32 ext_filter_mask); size_t (*get_link_af_size)(const struct net_device *dev, u32 ext_filter_mask); int (*validate_link_af)(const struct net_device *dev, const struct nlattr *attr, struct netlink_ext_ack *extack); int (*set_link_af)(struct net_device *dev, const struct nlattr *attr, struct netlink_ext_ack *extack); int (*fill_stats_af)(struct sk_buff *skb, const struct net_device *dev); size_t (*get_stats_af_size)(const struct net_device *dev); }; void rtnl_af_register(struct rtnl_af_ops *ops); void rtnl_af_unregister(struct rtnl_af_ops *ops); struct net *rtnl_link_get_net(struct net *src_net, struct nlattr *tb[]); struct net_device *rtnl_create_link(struct net *net, const char *ifname, unsigned char name_assign_type, const struct rtnl_link_ops *ops, struct nlattr *tb[], struct netlink_ext_ack *extack); int rtnl_delete_link(struct net_device *dev); int rtnl_configure_link(struct net_device *dev, const struct ifinfomsg *ifm); int rtnl_nla_parse_ifinfomsg(struct nlattr **tb, const struct nlattr *nla_peer, struct netlink_ext_ack *exterr); struct net *rtnl_get_net_ns_capable(struct sock *sk, int netnsid); #define MODULE_ALIAS_RTNL_LINK(kind) MODULE_ALIAS("rtnl-link-" kind) #endif
Save
cmd:
run