struct ofp_bundle_entry {
struct ovs_list node;
enum ofptype type; /* OFPTYPE_FLOW_MOD or OFPTYPE_PORT_MOD. */
- long long version; /* Version in which the changes take
- * effect. */
union {
- struct ofputil_flow_mod fm; /* 'fm.ofpacts' must be malloced. */
- struct ofputil_port_mod pm;
+ struct ofproto_flow_mod ofm; /* ofm.fm.ofpacts must be malloced. */
+ struct ofproto_port_mod opm;
};
- /* Used during commit. */
- struct ofport *port; /* Affected port. */
- struct rule_collection old_rules; /* Affected rules. */
- struct rule_collection new_rules; /* Replacement rules. */
-
/* OpenFlow header and some of the message contents for error reporting. */
struct ofp_header ofp_msg[DIV_ROUND_UP(64, sizeof(struct ofp_header))];
};
struct ofp_bundle_entry *entry = xmalloc(sizeof *entry);
entry->type = type;
- entry->version = 0;
/* Max 64 bytes for error reporting. */
memcpy(entry->ofp_msg, oh, MIN(ntohs(oh->length), sizeof entry->ofp_msg));
{
if (entry) {
if (entry->type == OFPTYPE_FLOW_MOD) {
- free(entry->fm.ofpacts);
+ free(entry->ofm.fm.ofpacts);
}
free(entry);
}