diff --git a/src/runtime-rs/crates/resource/src/network/network_info/network_info_from_link.rs b/src/runtime-rs/crates/resource/src/network/network_info/network_info_from_link.rs index d46628ec6..f1a17cc24 100644 --- a/src/runtime-rs/crates/resource/src/network/network_info/network_info_from_link.rs +++ b/src/runtime-rs/crates/resource/src/network/network_info/network_info_from_link.rs @@ -170,7 +170,7 @@ fn generate_route(name: &str, route_msg: &RouteMessage) -> Result> let mut flags: u32 = 0; for flag in &route_msg.header.flags { - flags += u32::from(*flag); + flags |= u32::from(*flag); } let mut route = Route { diff --git a/src/runtime-rs/crates/resource/src/network/utils/address.rs b/src/runtime-rs/crates/resource/src/network/utils/address.rs index 18ea30c46..9d623743c 100644 --- a/src/runtime-rs/crates/resource/src/network/utils/address.rs +++ b/src/runtime-rs/crates/resource/src/network/utils/address.rs @@ -60,7 +60,7 @@ impl TryFrom for Address { //thus here just implemeted a simple transformer. let mut d: u32 = 0; for flag in &f { - d += u32::from(*flag); + d |= u32::from(*flag); } addr.flags = d; } diff --git a/src/runtime-rs/crates/resource/src/network/utils/link/manager.rs b/src/runtime-rs/crates/resource/src/network/utils/link/manager.rs index e2c41c69a..5bd57635f 100644 --- a/src/runtime-rs/crates/resource/src/network/utils/link/manager.rs +++ b/src/runtime-rs/crates/resource/src/network/utils/link/manager.rs @@ -16,7 +16,7 @@ impl From<&VecLinkFlag> for u32 { fn from(v: &VecLinkFlag) -> u32 { let mut d: u32 = 0; for flag in &v.0 { - d += u32::from(*flag); + d |= u32::from(*flag); } d }