nispor/SOURCES/fix_vlan_filtering_on_i40e....

29 lines
1.2 KiB
Diff

diff -Nur ./nispor-1.1.1.old/src/lib/ifaces/bridge.rs nispor-1.1.1/src/lib/ifaces/bridge.rs
--- ./nispor-1.1.1.old/src/lib/ifaces/bridge.rs 2021-06-19 01:48:56.000000000 +0800
+++ nispor-1.1.1/src/lib/ifaces/bridge.rs 2022-01-07 12:33:10.492882827 +0800
@@ -363,7 +363,12 @@
data: &[u8],
) -> Result<(), NisporError> {
if let Some(ref mut port_info) = iface_state.bridge_port {
- port_info.vlans = parse_af_spec_bridge_info(data)?;
+ if let Some(cur_vlans) = parse_af_spec_bridge_info(data)? {
+ match port_info.vlans.as_mut() {
+ Some(vlans) => vlans.extend(cur_vlans),
+ None => port_info.vlans = Some(cur_vlans),
+ };
+ }
}
Ok(())
}
diff -Nur ./nispor-1.1.1.old/src/lib/ifaces/iface.rs nispor-1.1.1/src/lib/ifaces/iface.rs
--- ./nispor-1.1.1.old/src/lib/ifaces/iface.rs 2021-06-19 01:48:56.000000000 +0800
+++ nispor-1.1.1/src/lib/ifaces/iface.rs 2022-01-07 12:32:26.818695643 +0800
@@ -417,7 +417,6 @@
for nla in &nl_msg.nlas {
if let Nla::AfSpecBridge(data) = nla {
parse_bridge_vlan_info(&mut iface_state, data)?;
- break;
}
}
}