Skip to content

Commit c91e440

Browse files
committed
API break: link: Changing InfoIpTunnel::CollectMetadata(bool) to CollectMetadata
The `IFLA_IPTUN_COLLECT_METADATA` is zero length flag attribute, existence means true. Hence the old code `CollectMetadata(false)` will never take effect. Signed-off-by: Gris Ge <cnfourt@gmail.com>
1 parent 7c7c6a9 commit c91e440

1 file changed

Lines changed: 7 additions & 12 deletions

File tree

src/link/link_info/iptunnel.rs

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ pub enum InfoIpTunnel {
5454
EncapFlags(TunnelEncapFlags),
5555
EncapSPort(u16),
5656
EncapDPort(u16),
57-
CollectMetadata(bool),
57+
CollectMetadata,
5858
FwMark(u32),
5959
Other(DefaultNla),
6060
}
@@ -78,8 +78,8 @@ impl Nla for InfoIpTunnel {
7878
| EncapDPort(_)
7979
| Ipv6RdPrefixLen(_)
8080
| Ipv6RdRelayPrefixLen(_) => 2,
81-
Ttl(_) | Tos(_) | Protocol(_) | PMtuDisc(_)
82-
| CollectMetadata(_) | EncapLimit(_) => 1,
81+
Ttl(_) | Tos(_) | Protocol(_) | PMtuDisc(_) | EncapLimit(_) => 1,
82+
CollectMetadata => 0,
8383
Other(nla) => nla.value_len(),
8484
}
8585
}
@@ -110,9 +110,8 @@ impl Nla for InfoIpTunnel {
110110
}
111111
Protocol(value) => buffer[0] = u8::from(*value),
112112
Ttl(value) | Tos(value) | EncapLimit(value) => buffer[0] = *value,
113-
PMtuDisc(value) | CollectMetadata(value) => {
114-
buffer[0] = if *value { 1 } else { 0 }
115-
}
113+
PMtuDisc(value) => buffer[0] = if *value { 1 } else { 0 },
114+
CollectMetadata => { /* zero-length flag attribute */ }
116115
Other(nla) => nla.emit_value(buffer),
117116
}
118117
}
@@ -138,7 +137,7 @@ impl Nla for InfoIpTunnel {
138137
EncapFlags(_) => IFLA_IPTUN_ENCAP_FLAGS,
139138
EncapSPort(_) => IFLA_IPTUN_ENCAP_SPORT,
140139
EncapDPort(_) => IFLA_IPTUN_ENCAP_DPORT,
141-
CollectMetadata(_) => IFLA_IPTUN_COLLECT_METADATA,
140+
CollectMetadata => IFLA_IPTUN_COLLECT_METADATA,
142141
FwMark(_) => IFLA_IPTUN_FWMARK,
143142
Other(nla) => nla.kind(),
144143
}
@@ -264,11 +263,7 @@ impl<'a, T: AsRef<[u8]> + ?Sized>
264263
parse_u16_be(payload)
265264
.context("invalid IFLA_IPTUN_ENCAP_DPORT value")?,
266265
),
267-
IFLA_IPTUN_COLLECT_METADATA => CollectMetadata(
268-
parse_u8(payload)
269-
.context("invalid IFLA_IPTUN_COLLECT_METADATA value")?
270-
> 0,
271-
),
266+
IFLA_IPTUN_COLLECT_METADATA => CollectMetadata,
272267
IFLA_IPTUN_FWMARK => FwMark(
273268
parse_u32(payload)
274269
.context("invalid IFLA_IPTUN_FWMARK value")?,

0 commit comments

Comments
 (0)