mirror of
https://github.com/openvswitch/ovs
synced 2025-08-30 22:05:19 +00:00
packets: Fix eth_addr_equal_except().
It turns out that eth_addr_equal_except() computed the exact opposite of what it purported to. It returned true if the two arguments where *not* equal. This is extremely confusing, so this patch changes it. Signed-off-by: Ethan Jackson <ethan@nicira.com>
This commit is contained in:
@@ -1204,10 +1204,10 @@ flow_equal_except(const struct flow *a, const struct flow *b,
|
||||
&& (wc & FWW_DL_TYPE || a->dl_type == b->dl_type)
|
||||
&& !((a->tp_src ^ b->tp_src) & wildcards->tp_src_mask)
|
||||
&& !((a->tp_dst ^ b->tp_dst) & wildcards->tp_dst_mask)
|
||||
&& !eth_addr_equal_except(a->dl_src, b->dl_src,
|
||||
wildcards->dl_src_mask)
|
||||
&& !eth_addr_equal_except(a->dl_dst, b->dl_dst,
|
||||
wildcards->dl_dst_mask)
|
||||
&& eth_addr_equal_except(a->dl_src, b->dl_src,
|
||||
wildcards->dl_src_mask)
|
||||
&& eth_addr_equal_except(a->dl_dst, b->dl_dst,
|
||||
wildcards->dl_dst_mask)
|
||||
&& (wc & FWW_NW_PROTO || a->nw_proto == b->nw_proto)
|
||||
&& (wc & FWW_NW_TTL || a->nw_ttl == b->nw_ttl)
|
||||
&& (wc & FWW_NW_DSCP || !((a->nw_tos ^ b->nw_tos) & IP_DSCP_MASK))
|
||||
|
Reference in New Issue
Block a user