diff options
author | Jarno Rajahalme <jrajahalme@nicira.com> | 2013-10-22 17:20:43 -0700 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2013-10-23 10:05:14 -0700 |
commit | ff14eb7ac9569ae09f7dc6672667cff907b35fc6 (patch) | |
tree | e86ea2656388c2e17aae8942ab9a4847ddc258e5 /lib/ofp-parse.c | |
parent | 04f01c24b522f893b663a34126beb6775176e536 (diff) | |
download | openvswitch-ff14eb7ac9569ae09f7dc6672667cff907b35fc6.tar.gz |
Add OF11 set IPv4 ECN action.
Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'lib/ofp-parse.c')
-rw-r--r-- | lib/ofp-parse.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/ofp-parse.c b/lib/ofp-parse.c index 0e0d2f808..ee56477d1 100644 --- a/lib/ofp-parse.c +++ b/lib/ofp-parse.c @@ -602,7 +602,7 @@ parse_named_action(enum ofputil_action_code code, char *error = NULL; uint16_t ethertype = 0; uint16_t vid = 0; - uint8_t tos = 0; + uint8_t tos = 0, ecn; uint8_t pcp = 0; switch (code) { @@ -700,6 +700,18 @@ parse_named_action(enum ofputil_action_code code, ofpact_put_SET_IP_DSCP(ofpacts)->dscp = tos; break; + case OFPUTIL_OFPAT11_SET_NW_ECN: + error = str_to_u8(arg, "ECN", &ecn); + if (error) { + return error; + } + + if (ecn & ~IP_ECN_MASK) { + return xasprintf("%s: not a valid ECN", arg); + } + ofpact_put_SET_IP_ECN(ofpacts)->ecn = ecn; + break; + case OFPUTIL_OFPAT11_DEC_NW_TTL: NOT_REACHED(); |