29 lines
1.2 KiB
Diff
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;
|
|
}
|
|
}
|
|
}
|