diff options
author | Lorenzo Bianconi <lorenzo.bianconi@redhat.com> | 2018-04-04 17:06:36 +0200 |
---|---|---|
committer | Ben Pfaff <blp@ovn.org> | 2018-04-04 10:08:02 -0700 |
commit | 22b65e4d3da7f812b7c1dbc3abcaedb8f05dfb96 (patch) | |
tree | b77c6b40adc9132c82cf12bb72def664780181e9 /include | |
parent | 0056086d7554d892d573d1033b0d9c52a1e2d520 (diff) | |
download | openvswitch-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.h | 7 |
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. */ |