git://git.onelab.eu
/
sliver-openvswitch.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'mainstream'
[sliver-openvswitch.git]
/
lib
/
flow.c
diff --git
a/lib/flow.c
b/lib/flow.c
index
e1ea75e
..
6c6978d
100644
(file)
--- a/
lib/flow.c
+++ b/
lib/flow.c
@@
-88,10
+88,11
@@
parse_mpls(struct ofpbuf *b, struct flow *flow)
int idx = 0;
while ((mh = ofpbuf_try_pull(b, sizeof *mh))) {
int idx = 0;
while ((mh = ofpbuf_try_pull(b, sizeof *mh))) {
+ ovs_be32 mpls_lse = get_16aligned_be32(&mh->mpls_lse);
if (idx < FLOW_MAX_MPLS_LABELS) {
if (idx < FLOW_MAX_MPLS_LABELS) {
- flow->mpls_lse[idx++] = m
h->m
pls_lse;
+ flow->mpls_lse[idx++] = mpls_lse;
}
}
- if (m
h->m
pls_lse & htonl(MPLS_BOS_MASK)) {
+ if (mpls_lse & htonl(MPLS_BOS_MASK)) {
break;
}
}
break;
}
}
@@
-369,6
+370,8
@@
flow_extract(struct ofpbuf *packet, const struct pkt_metadata *md,
flow->in_port = md->in_port;
flow->skb_priority = md->skb_priority;
flow->pkt_mark = md->pkt_mark;
flow->in_port = md->in_port;
flow->skb_priority = md->skb_priority;
flow->pkt_mark = md->pkt_mark;
+ flow->recirc_id = md->recirc_id;
+ flow->dp_hash = md->dp_hash;
}
ofpbuf_set_frame(packet, ofpbuf_data(packet));
}
ofpbuf_set_frame(packet, ofpbuf_data(packet));