1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
# Copyright 2024 syzkaller project authors. All rights reserved.
# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
# This file contains definitions that can no longer be generated from latest Linux revisions.
meta noextract
# TODO: remove the filters that were removed from the kernel
# once they are removed from relevant LTS kernels:
#
# 265b4da82dbf5 net/sched: Retire rsvp classifier
# 8c710f75256bb net/sched: Retire tcindex classifier
# bbe77c14ee618 net/sched: Retire dsmark qdisc
# fb38306ceb9e7 net/sched: Retire ATM qdisc
# 051d442098421 net/sched: Retire CBQ qdisc
# ba24ea1291263 net/sched: Retire ipt action
sendmsg$nl_route_sched_retired(fd sock_nl_route, msg ptr[in, msghdr_netlink[netlink_msg_route_sched_retired]], f flags[send_flags])
netlink_msg_route_sched_retired [
newqdisc netlink_msg[RTM_NEWQDISC, tcmsg[AF_UNSPEC], rtm_tca_policy_retired]
delqdisc netlink_msg[RTM_DELQDISC, tcmsg[AF_UNSPEC], rtm_tca_policy_retired]
newtfilter netlink_msg[RTM_NEWTFILTER, tcmsg[AF_UNSPEC], filter_policy_retired]
deltfilter netlink_msg[RTM_DELTFILTER, tcmsg[AF_UNSPEC], filter_policy_retired]
newchain netlink_msg[RTM_NEWCHAIN, tcmsg[AF_UNSPEC], filter_policy_retired]
delchain netlink_msg[RTM_DELCHAIN, tcmsg[AF_UNSPEC], filter_policy_retired]
newtaction netlink_msg[RTM_NEWACTION, tcamsg[AF_UNSPEC], nlattr[TCA_ACT_TAB, array[tca_actions_retired]]]
newtclass netlink_msg[RTM_NEWTCLASS, tcmsg[AF_UNSPEC], rtm_tca_policy$tclass_retired]
deltclass netlink_msg[RTM_DELTCLASS, tcmsg[AF_UNSPEC], rtm_tca_policy$tclass_retired]
] [varlen]
rtm_tca_policy$tclass_retired [
c_atm tca_kind_options_t["atm", array[atm_policy]]
c_cbq tca_kind_options_t["cbq", array[cbq_policy]]
c_dsmark tca_kind_options_t["dsmark", dsmark_policy$class]
] [varlen]
filter_policy_retired [
f_rsvp tca_kind_options_t["rsvp", array[rsvp_policy]]
f_rsvp6 tca_kind_options_t["rsvp6", array[rsvp_policy$ipv6]]
f_tcindex tca_kind_options_t["tcindex", array[tcindex_policy]]
] [varlen]
tca_actions_retired [
m_ipt nlattr_tca_actions[tcf_action_policy["ipt", ipt_policy]]
] [varlen]
rtm_tca_policy_retired [
q_dsmark tca_kind_options_t["dsmark", array[dsmark_policy]]
] [varlen]
## atm
atm_policy [
TCA_ATM_FD nlattr[TCA_ATM_FD, sock]
TCA_ATM_HDR nlattr[TCA_ATM_HDR, array[int8, 0:64]]
TCA_ATM_EXCESS nlattr[TCA_ATM_EXCESS, tcm_handle]
] [varlen]
## CBQ
cbq_policy [
TCA_CBQ_LSSOPT nlattr[TCA_CBQ_LSSOPT, tc_cbq_lssopt]
TCA_CBQ_WRROPT nlattr[TCA_CBQ_WRROPT, tc_cbq_wrropt]
TCA_CBQ_FOPT nlattr[TCA_CBQ_FOPT, tc_cbq_fopt]
TCA_CBQ_RATE nlattr[TCA_CBQ_RATE, tc_ratespec]
TCA_CBQ_RTAB nlattr[TCA_CBQ_RTAB, array[int32, 256]]
] [varlen]
tc_cbq_lssopt {
change int8[0:64]
flags int8[0:3]
ewma_log int8[0:32]
level int8
maxidle int32
minidle int32
offtime int32
avpkt int32
}
tc_cbq_wrropt {
flags int8
priority int8[0:TC_CBQ_MAXPRIO]
cpriority int8
__reserved int8
allot int32
weight int32
}
tc_cbq_fopt {
split tcm_handle
defmap int32
defchange int32
}
## dsmark
dsmark_policy$class [
TCA_DSMARK_MASK nlattr[TCA_DSMARK_MASK, int8]
TCA_DSMARK_VALUE nlattr[TCA_DSMARK_VALUE, int8]
] [varlen]
dsmark_policy [
TCA_DSMARK_INDICES nlattr[TCA_DSMARK_INDICES, flags[tca_dsmark_ind, int16]]
TCA_DSMARK_DEFAULT_INDEX nlattr[TCA_DSMARK_DEFAULT_INDEX, int16]
TCA_DSMARK_SET_TC_INDEX nlattr[TCA_DSMARK_SET_TC_INDEX, void]
] [varlen]
## rsvp
rsvp_policy [
TCA_RSVP_CLASSID nlattr[TCA_RSVP_CLASSID, tcm_handle]
TCA_RSVP_DST nlattr[TCA_RSVP_DST, ipv4_addr]
TCA_RSVP_SRC nlattr[TCA_RSVP_SRC, ipv4_addr]
TCA_RSVP_PINFO nlattr[TCA_RSVP_PINFO, tc_rsvp_pinfo]
TCA_RSVP_POLICE nlattr[TCA_RSVP_POLICE, array[police_policy]]
TCA_RSVP_ACT nlattr[TCA_RSVP_ACT, array[tca_actions]]
] [varlen]
rsvp_policy$ipv6 [
TCA_RSVP_CLASSID nlattr[TCA_RSVP_CLASSID, tcm_handle]
TCA_RSVP_DST nlattr[TCA_RSVP_DST, ipv6_addr]
TCA_RSVP_SRC nlattr[TCA_RSVP_SRC, ipv6_addr]
TCA_RSVP_PINFO nlattr[TCA_RSVP_PINFO, tc_rsvp_pinfo]
TCA_RSVP_POLICE nlattr[TCA_RSVP_POLICE, array[police_policy]]
TCA_RSVP_ACT nlattr[TCA_RSVP_ACT, array[tca_actions]]
] [varlen]
## tcindex
tcindex_policy [
TCA_TCINDEX_HASH nlattr[TCA_TCINDEX_HASH, int32[0:0x10000]]
TCA_TCINDEX_MASK nlattr[TCA_TCINDEX_MASK, int16]
TCA_TCINDEX_SHIFT nlattr[TCA_TCINDEX_SHIFT, int32]
TCA_TCINDEX_FALL_THROUGH nlattr[TCA_TCINDEX_FALL_THROUGH, int32[0:1]]
TCA_TCINDEX_CLASSID nlattr[TCA_TCINDEX_CLASSID, tcm_handle]
TCA_TCINDEX_POLICE nlattr[TCA_TCINDEX_POLICE, array[police_policy]]
TCA_TCINDEX_ACT nlattr[TCA_TCINDEX_ACT, array[tca_actions]]
] [varlen]
## ipt
ipt_policy [
TCA_IPT_TABLE nlattr[TCA_IPT_TABLE, string[ipt_tables, XT_TABLE_MAXNAMELEN]]
TCA_IPT_HOOK nlattr[TCA_IPT_HOOK, flags[nf_inet_hooks, int32]]
TCA_IPT_INDEX nlattr[TCA_IPT_INDEX, int32]
TCA_IPT_TARG nlattr[TCA_IPT_TARG, xt_entry_target]
] [varlen]
|