summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLorenzo Bianconi <lorenzo.bianconi@redhat.com>2018-04-04 17:06:36 +0200
committerBen Pfaff <blp@ovn.org>2018-04-04 10:08:02 -0700
commit22b65e4d3da7f812b7c1dbc3abcaedb8f05dfb96 (patch)
treeb77c6b40adc9132c82cf12bb72def664780181e9 /include
parent0056086d7554d892d573d1033b0d9c52a1e2d520 (diff)
downloadopenvswitch-22b65e4d3da7f812b7c1dbc3abcaedb8f05dfb96.tar.gz
OVN: add tcp_reset{} action support
tcp_reset action transforms the current TCP segment according to the following pseudocode: if (tcp.ack) { tcp.seq = tcp.ack; } else { tcp.ack = tcp.seq + length(tcp.payload); tcp.seq = 0; } tcp.flags = RST; Then, the action drops all TCP options and payload data, and updates the TCP checksum. IP ttl is set to 255. Prerequisite: tcp Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
Diffstat (limited to 'include')
-rw-r--r--include/ovn/actions.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/ovn/actions.h b/include/ovn/actions.h
index b1988d6aa..086ab19e0 100644
--- a/include/ovn/actions.h
+++ b/include/ovn/actions.h
@@ -65,6 +65,7 @@ struct ovn_extend_table;
OVNACT(CLONE, ovnact_nest) \
OVNACT(ARP, ovnact_nest) \
OVNACT(ICMP4, ovnact_nest) \
+ OVNACT(TCP_RESET, ovnact_nest) \
OVNACT(ND_NA, ovnact_nest) \
OVNACT(GET_ARP, ovnact_get_mac_bind) \
OVNACT(PUT_ARP, ovnact_put_mac_bind) \
@@ -436,6 +437,12 @@ enum action_opcode {
* The actions, in OpenFlow 1.3 format, follow the action_header.
*/
ACTION_OPCODE_ICMP4,
+
+ /* "tcp_reset { ...actions... }".
+ *
+ * The actions, in OpenFlow 1.3 format, follow the action_header.
+ */
+ ACTION_OPCODE_TCP_RESET,
};
/* Header. */