projects
/
openvswitch
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
bridge: Make bridge_pick_local_hw_addr() easier to reason.
[openvswitch]
/
lib
/
classifier.c
diff --git
a/lib/classifier.c
b/lib/classifier.c
index faaeaf5b6cec552dc55bcfffb4a5bbdc36e32cc6..d1f9d5ddc0336a549786804226bbbe5b97237719 100644
(file)
--- a/
lib/classifier.c
+++ b/
lib/classifier.c
@@
-467,6
+467,8
@@
cls_rule_format(const struct cls_rule *rule, struct ds *s)
int i;
int i;
+ BUILD_ASSERT_DECL(FLOW_WC_SEQ == 1);
+
if (rule->priority != OFP_DEFAULT_PRIORITY) {
ds_put_format(s, "priority=%d,", rule->priority);
}
if (rule->priority != OFP_DEFAULT_PRIORITY) {
ds_put_format(s, "priority=%d,", rule->priority);
}
@@
-630,11
+632,11
@@
cls_rule_format(const struct cls_rule *rule, struct ds *s)
ds_put_char(s, ',');
}
if (!(w & FWW_ARP_SHA)) {
ds_put_char(s, ',');
}
if (!(w & FWW_ARP_SHA)) {
- ds_put_format(s, "nd_sll="ETH_ADDR_FMT",",
+ ds_put_format(s, "nd_sll="ETH_ADDR_FMT",",
ETH_ADDR_ARGS(f->arp_sha));
}
if (!(w & FWW_ARP_THA)) {
ETH_ADDR_ARGS(f->arp_sha));
}
if (!(w & FWW_ARP_THA)) {
- ds_put_format(s, "nd_tll="ETH_ADDR_FMT",",
+ ds_put_format(s, "nd_tll="ETH_ADDR_FMT",",
ETH_ADDR_ARGS(f->arp_tha));
}
} else {
ETH_ADDR_ARGS(f->arp_tha));
}
} else {
@@
-1138,7
+1140,7
@@
flow_equal_except(const struct flow *a, const struct flow *b,
const flow_wildcards_t wc = wildcards->wildcards;
int i;
const flow_wildcards_t wc = wildcards->wildcards;
int i;
- BUILD_ASSERT_DECL(FLOW_
SIG_SIZE == 100 + FLOW_N_REGS * 4
);
+ BUILD_ASSERT_DECL(FLOW_
WC_SEQ == 1
);
for (i = 0; i < FLOW_N_REGS; i++) {
if ((a->regs[i] ^ b->regs[i]) & wildcards->reg_masks[i]) {
for (i = 0; i < FLOW_N_REGS; i++) {
if ((a->regs[i] ^ b->regs[i]) & wildcards->reg_masks[i]) {
@@
-1172,7
+1174,7
@@
flow_equal_except(const struct flow *a, const struct flow *b,
&wildcards->ipv6_src_mask)
&& ipv6_equal_except(&a->ipv6_dst, &b->ipv6_dst,
&wildcards->ipv6_dst_mask)
&wildcards->ipv6_src_mask)
&& ipv6_equal_except(&a->ipv6_dst, &b->ipv6_dst,
&wildcards->ipv6_dst_mask)
- && (wc & FWW_ND_TARGET
+ && (wc & FWW_ND_TARGET
|| ipv6_addr_equals(&a->nd_target, &b->nd_target)));
}
|| ipv6_addr_equals(&a->nd_target, &b->nd_target)));
}
@@
-1182,7
+1184,7
@@
zero_wildcards(struct flow *flow, const struct flow_wildcards *wildcards)
const flow_wildcards_t wc = wildcards->wildcards;
int i;
const flow_wildcards_t wc = wildcards->wildcards;
int i;
- BUILD_ASSERT_DECL(FLOW_
SIG_SIZE == 100 + 4 * FLOW_N_REGS
);
+ BUILD_ASSERT_DECL(FLOW_
WC_SEQ == 1
);
for (i = 0; i < FLOW_N_REGS; i++) {
flow->regs[i] &= wildcards->reg_masks[i];
for (i = 0; i < FLOW_N_REGS; i++) {
flow->regs[i] &= wildcards->reg_masks[i];