rsmnl_linux/
ipv6.rs

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    // we omit DEVCONF_STABLE_SECRET for now - net/ipv6/addrconf.c
117    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}