1use errno::Errno;
2use mnl::{Attr, AttrTbl, MsgVec, Result};
3
4#[repr(u16)]
5#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, NlaType)]
6#[tbname = "DevconfTbl"]
7pub enum Devconf {
8 #[nla_type(i32, forwarding)]
9 Forwarding = 0,
10
11 #[nla_type(i32, hop_limit)]
12 Hoplimit,
13
14 #[nla_type(i32, mtu6)]
15 Mtu6,
16
17 #[nla_type(i32, accept_ra)]
18 AcceptRa,
19
20 #[nla_type(i32, accept_redirects)]
21 AcceptRedirects,
22
23 #[nla_type(i32, autoconf)]
24 Autoconf,
25
26 #[nla_type(i32, dad_transmits)]
27 DadTransmits,
28
29 #[nla_type(i32, rtr_solicits)]
30 RtrSolicits,
31
32 #[nla_type(i32, rtr_solicit_interval)]
33 RtrSolicitInterval,
34
35 #[nla_type(i32, rtr_solicit_delay)]
36 RtrSolicitDelay,
37
38 #[nla_type(i32, use_tempaddr)]
39 UseTempaddr,
40
41 #[nla_type(i32, temp_valid_lft)]
42 TempValidLft,
43
44 #[nla_type(i32, temp_prefered_lft)]
45 TempPreferedLft,
46
47 #[nla_type(i32, regen_max_retry)]
48 RegenMaxRetry,
49
50 #[nla_type(i32, max_desync_factor)]
51 MaxDesyncFactor,
52
53 #[nla_type(i32, max_addresses)]
54 MaxAddresses,
55
56 #[nla_type(i32, force_mld_version)]
57 ForceMldVersion,
58
59 #[nla_type(i32, accept_ra_defrtr)]
60 AcceptRaDefrtr,
61
62 #[nla_type(i32, accept_ra_pinfo)]
63 AcceptRaPinfo,
64
65 #[nla_type(i32, accept_ra_rtr_pref)]
66 AcceptRaRtrPref,
67
68 #[nla_type(i32, rtr_probe_interval)]
69 RtrProbeInterval,
70
71 #[nla_type(i32, accept_ra_rt_info_max_plen)]
72 AcceptRaRtInfoMaxPlen,
73
74 #[nla_type(i32, proxy_ndp)]
75 ProxyNdp,
76
77 #[nla_type(i32, optimistic_dad)]
78 OptimisticDad,
79
80 #[nla_type(i32, accept_source_route)]
81 AcceptSourceRoute,
82
83 #[nla_type(i32, mc_forwarding)]
84 McForwarding,
85
86 #[nla_type(i32, disable_ipv6)]
87 DisableIpv6,
88
89 #[nla_type(i32, accept_dad)]
90 AcceptDad,
91
92 #[nla_type(i32, force_tllao)]
93 ForceTllao,
94
95 #[nla_type(i32, ndisc_notify)]
96 NdiscNotify,
97
98 #[nla_type(i32, mldv1_unsolicited_report_interval)]
99 Mldv1UnsolicitedReportInterval,
100
101 #[nla_type(i32, mldv2_unsolicited_report_interval)]
102 Mldv2UnsolicitedReportInterval,
103
104 #[nla_type(i32, suppress_frag_ndisc)]
105 SupressFragNdisc,
106
107 #[nla_type(i32, accept_ra_from_local)]
108 AcceptRaFromLocal,
109
110 #[nla_type(i32, use_optimistic)]
111 UseOptimistic,
112
113 #[nla_type(i32, accept_ra_mtu)]
114 AcceptRaMtu,
115
116 StableSecret,
118
119 #[nla_type(i32, use_oif_addrs_only)]
120 UseOifAddrsOnly,
121
122 #[nla_type(i32, accept_ra_min_hop_limit)]
123 AcceptRaMinHopLimit,
124
125 #[nla_type(i32, ignore_routes_with_linkdown)]
126 IgnoreRoutesWithLinkdown,
127
128 #[nla_type(i32, drop_unicast_in_l2_multicast)]
129 DropUnicastInL2Multicast,
130
131 #[nla_type(i32, drop_unsolicited_na)]
132 DropUnsolicitedNa,
133
134 #[nla_type(i32, keep_addr_on_down)]
135 KeepAddrOnDown,
136
137 #[nla_type(i32, rtr_solicit_max_interval)]
138 RtrSolicitMaxInterval,
139
140 #[nla_type(i32, seg6_enabled)]
141 Seg6Enabled,
142
143 #[nla_type(i32, seg6_require_hmac)]
144 Seg6RequireHmac,
145
146 #[nla_type(i32, enhanced_dad)]
147 EnhancedDad,
148
149 #[nla_type(i32, addr_gen_mode)]
150 AddrGenMode,
151
152 #[nla_type(i32, disable_policy)]
153 DisablePolicy,
154
155 #[nla_type(i32, accept_ra_rt_info_min_plen)]
156 AcceptRaRtInfoMinPlen,
157
158 #[nla_type(i32, ndisc_tclass)]
159 NdiscTclass,
160
161 #[nla_type(i32, rpl_seg_enabled)]
162 RplSegEnabled,
163
164 _MAX,
165}