2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-31 06:15:47 +00:00

ofp-util: Add OFPUTIL_P_OF12 and NXFF_OPENFLOW12

Add OFPUTIL_P_OF12 and NXFF_OPENFLOW12 for Open Flow 1.2

OFPUTIL_P_OF12_TID and in turn OFPUTIL_P_OF12_ANY is not provided as
OFPUTIL_P_OF12 supports the use of table ids in modify flow messages.

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Ben Pfaff <blp@nicira.com>
This commit is contained in:
Simon Horman
2012-07-22 21:14:41 -07:00
committed by Ben Pfaff
parent 2d83b363e6
commit 44d3732d5e
3 changed files with 30 additions and 3 deletions

View File

@@ -1180,12 +1180,13 @@ ofputil_protocol_from_ofp_version(int version)
{
switch (version) {
case OFP10_VERSION: return OFPUTIL_P_OF10;
case OFP12_VERSION: return OFPUTIL_P_OF12;
default: return 0;
}
}
/* Returns the OpenFlow protocol version number (e.g. OFP10_VERSION or
* OFP11_VERSION) that corresponds to 'protocol'. */
/* Returns the OpenFlow protocol version number (e.g. OFP10_VERSION,
* OFP11_VERSION or OFP12_VERSION) that corresponds to 'protocol'. */
uint8_t
ofputil_protocol_to_ofp_version(enum ofputil_protocol protocol)
{
@@ -1195,6 +1196,8 @@ ofputil_protocol_to_ofp_version(enum ofputil_protocol protocol)
case OFPUTIL_P_NXM:
case OFPUTIL_P_NXM_TID:
return OFP10_VERSION;
case OFPUTIL_P_OF12:
return OFP12_VERSION;
}
NOT_REACHED();
@@ -1230,6 +1233,9 @@ ofputil_protocol_set_tid(enum ofputil_protocol protocol, bool enable)
case OFPUTIL_P_NXM_TID:
return enable ? OFPUTIL_P_NXM_TID : OFPUTIL_P_NXM;
case OFPUTIL_P_OF12:
return OFPUTIL_P_OF12;
default:
NOT_REACHED();
}
@@ -1261,6 +1267,9 @@ ofputil_protocol_set_base(enum ofputil_protocol cur,
case OFPUTIL_P_NXM_TID:
return ofputil_protocol_set_tid(OFPUTIL_P_NXM, tid);
case OFPUTIL_P_OF12:
return ofputil_protocol_set_tid(OFPUTIL_P_OF12, tid);
default:
NOT_REACHED();
}
@@ -1288,6 +1297,9 @@ ofputil_protocol_to_string(enum ofputil_protocol protocol)
case OFPUTIL_P_OF10_TID:
return "OpenFlow10+table_id";
case OFPUTIL_P_OF12:
return NULL;
}
/* Check abbreviations. */
@@ -1564,6 +1576,9 @@ ofputil_encode_set_protocol(enum ofputil_protocol current,
case OFPUTIL_P_OF10:
return ofputil_encode_nx_set_flow_format(NXFF_OPENFLOW10);
case OFPUTIL_P_OF12:
return ofputil_encode_nx_set_flow_format(NXFF_OPENFLOW12);
case OFPUTIL_P_OF10_TID:
case OFPUTIL_P_NXM_TID:
NOT_REACHED();
@@ -1611,6 +1626,9 @@ ofputil_nx_flow_format_to_protocol(enum nx_flow_format flow_format)
case NXFF_NXM:
return OFPUTIL_P_NXM;
case NXFF_OPENFLOW12:
return OFPUTIL_P_OF12;
default:
return 0;
}
@@ -1633,6 +1651,8 @@ ofputil_nx_flow_format_to_string(enum nx_flow_format flow_format)
return "openflow10";
case NXFF_NXM:
return "nxm";
case NXFF_OPENFLOW12:
return "openflow12";
default:
NOT_REACHED();
}
@@ -1822,6 +1842,7 @@ ofputil_encode_flow_mod(const struct ofputil_flow_mod *fm,
nfm->match_len = htons(match_len);
break;
case OFPUTIL_P_OF12:
default:
NOT_REACHED();
}
@@ -1984,6 +2005,7 @@ ofputil_encode_flow_stats_request(const struct ofputil_flow_stats_request *fsr,
break;
}
case OFPUTIL_P_OF12:
default:
NOT_REACHED();
}
@@ -2357,6 +2379,7 @@ ofputil_encode_flow_removed(const struct ofputil_flow_removed *fr,
break;
}
case OFPUTIL_P_OF12:
default:
NOT_REACHED();
}