#include "hmap.h"
#include "in-band.h"
#include "mac-learning.h"
+#include "multipath.h"
#include "netdev.h"
#include "netflow.h"
#include "netlink.h"
const struct nx_action_resubmit *nar;
const struct nx_action_set_tunnel *nast;
const struct nx_action_set_queue *nasq;
+ const struct nx_action_multipath *nam;
enum nx_action_subtype subtype = ntohs(nah->subtype);
ovs_be64 tun_id;
ctx->flow.tun_id = tun_id;
break;
+ case NXAST_MULTIPATH:
+ nam = (const struct nx_action_multipath *) nah;
+ multipath_execute(nam, &ctx->flow);
+ break;
+
/* If you add a new action here that modifies flow data, don't forget to
* update the flow key in ctx->flow at the same time. */
struct ofp_flow_removed *ofr;
struct ofpbuf *buf;
- ofr = make_openflow(sizeof *ofr, OFPT_FLOW_REMOVED, &buf);
+ ofr = make_openflow_xid(sizeof *ofr, OFPT_FLOW_REMOVED, htonl(0), &buf);
ofputil_cls_rule_to_match(&rule->cr, ofconn->flow_format, &ofr->match,
rule->flow_cookie, &ofr->cookie);
ofr->priority = htons(rule->cr.priority);
struct ofpbuf *buf;
int match_len;
- make_nxmsg(sizeof *nfr, NXT_FLOW_REMOVED, &buf);
-
+ make_nxmsg_xid(sizeof *nfr, NXT_FLOW_REMOVED, htonl(0), &buf);
match_len = nx_put_match(buf, &rule->cr);
+
nfr = buf->data;
nfr->cookie = rule->flow_cookie;
nfr->priority = htons(rule->cr.priority);