projects
/
openvswitch
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
OXM: Allow masking of IPv6 Flow Label
[openvswitch]
/
lib
/
nx-match.c
diff --git
a/lib/nx-match.c
b/lib/nx-match.c
index 4bc497383166bad1e867267538277d8b889c8769..3d017c6a36bc95a81d6357d13bf9248290c7f124 100644
(file)
--- a/
lib/nx-match.c
+++ b/
lib/nx-match.c
@@
-493,7
+493,7
@@
nx_put_match(struct ofpbuf *b, bool oxm, const struct cls_rule *cr,
int match_len;
int i;
int match_len;
int i;
- BUILD_ASSERT_DECL(FLOW_WC_SEQ == 1
2
);
+ BUILD_ASSERT_DECL(FLOW_WC_SEQ == 1
3
);
/* Metadata. */
if (!(wc & FWW_IN_PORT)) {
/* Metadata. */
if (!(wc & FWW_IN_PORT)) {
@@
-540,10
+540,8
@@
nx_put_match(struct ofpbuf *b, bool oxm, const struct cls_rule *cr,
oxm ? OXM_OF_ICMPV6_TYPE : NXM_NX_ICMPV6_TYPE,
oxm ? OXM_OF_ICMPV6_CODE : NXM_NX_ICMPV6_CODE, oxm);
oxm ? OXM_OF_ICMPV6_TYPE : NXM_NX_ICMPV6_TYPE,
oxm ? OXM_OF_ICMPV6_CODE : NXM_NX_ICMPV6_CODE, oxm);
- if (!(wc & FWW_IPV6_LABEL)) {
- nxm_put_32(b, oxm ? OXM_OF_IPV6_FLABEL : NXM_NX_IPV6_LABEL,
- flow->ipv6_label);
- }
+ nxm_put_32m(b, oxm ? OXM_OF_IPV6_FLABEL : NXM_NX_IPV6_LABEL,
+ flow->ipv6_label, cr->wc.ipv6_label_mask);
if (flow->nw_proto == IPPROTO_ICMPV6
&& (flow->tp_src == htons(ND_NEIGHBOR_SOLICIT) ||
if (flow->nw_proto == IPPROTO_ICMPV6
&& (flow->tp_src == htons(ND_NEIGHBOR_SOLICIT) ||