diff --git a/agent/src/common/matched_field.rs b/agent/src/common/matched_field.rs index a36ee2f112c..50cdebcdab1 100644 --- a/agent/src/common/matched_field.rs +++ b/agent/src/common/matched_field.rs @@ -223,13 +223,13 @@ impl MatchedFieldN { for b in bits { let b = *b; if b < 8 * N { - self.src_ip[b >> 3] = 1 << (b & 7); + self.src_ip[b >> 3] |= 1 << (b & 7); } else if b < 8 * 2 * N { let b = b - 8 * N; - self.dst_ip[b >> 3] = 1 << (b & 7); + self.dst_ip[b >> 3] |= 1 << (b & 7); } else if b < 8 * (2 * N + 10) { let b = b - 8 * 2 * N; - self.others[b >> 3] = 1 << (b & 7); + self.others[b >> 3] |= 1 << (b & 7); } else { panic!("bits({:?}) out of bounds", bits) }