From 22b65e4d3da7f812b7c1dbc3abcaedb8f05dfb96 Mon Sep 17 00:00:00 2001 From: Lorenzo Bianconi Date: Wed, 4 Apr 2018 17:06:36 +0200 Subject: 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 Signed-off-by: Ben Pfaff --- include/ovn/actions.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'include') 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. */ -- cgit v1.2.1