From b885f2b22da9cea4b6df8508f3c161f3ea72cf9f Mon Sep 17 00:00:00 2001 From: Michael Tuexen <tuexen@fh-muenster.de> Date: Sat, 1 Oct 2016 10:54:27 +0200 Subject: [PATCH] Provide symbolic names for the TCP state. Sponsored by: Netflix --- gtests/net/packetdrill/code.c | 28 ++++++++++++++++++++++++++++ gtests/net/packetdrill/tcp.h | 3 +++ 2 files changed, 31 insertions(+) diff --git a/gtests/net/packetdrill/code.c b/gtests/net/packetdrill/code.c index c96d2f05..04f90888 100644 --- a/gtests/net/packetdrill/code.c +++ b/gtests/net/packetdrill/code.c @@ -102,6 +102,34 @@ static void emit_var_end(struct code_state *code) /* Write out a formatted representation of useful symbolic names. */ static void write_symbols(struct code_state *code) { + /* tcpi_state */ +#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) + emit_var(code, "TCPI_CLOSED", TCPS_CLOSED); + emit_var(code, "TCPI_LISTEN", TCPS_LISTEN); + emit_var(code, "TCPI_SYN_SENT", TCPS_SYN_SENT); + emit_var(code, "TCPI_SYN_RECEIVED", TCPS_SYN_RECEIVED); + emit_var(code, "TCPI_ESTABLISHED", TCPS_ESTABLISHED); + emit_var(code, "TCPI_CLOSE_WAIT", TCPS_CLOSE_WAIT); + emit_var(code, "TCPI_FIN_WAIT_1", TCPS_FIN_WAIT_1); + emit_var(code, "TCPI_CLOSING", TCPS_CLOSING); + emit_var(code, "TCPI_LAST_ACK", TCPS_LAST_ACK); + emit_var(code, "TCPI_FIN_WAIT_2", TCPS_FIN_WAIT_2); + emit_var(code, "TCPI_TIME_WAIT", TCPS_TIME_WAIT); +#endif +#ifdef linux + emit_var(code, "TCPI_CLOSED", 7); + emit_var(code, "TCPI_LISTEN", 10); + emit_var(code, "TCPI_SYN_SENT", 2); + emit_var(code, "TCPI_SYN_RECEIVED", 3); + emit_var(code, "TCPI_ESTABLISHED", 1); + emit_var(code, "TCPI_CLOSE_WAIT", 8); + emit_var(code, "TCPI_FIN_WAIT_1", 4); + emit_var(code, "TCPI_CLOSING", 11); + emit_var(code, "TCPI_LAST_ACK", 9); + emit_var(code, "TCPI_FIN_WAIT_2", 5); + emit_var(code, "TCPI_TIME_WAIT", 6); + emit_var(code, "TCPI_NEW_SYN_RECV", 12); +#endif #ifdef linux /* Emit symbolic names for tcpi_ca_state values. */ emit_var(code, "TCP_CA_Open", TCP_CA_Open); diff --git a/gtests/net/packetdrill/tcp.h b/gtests/net/packetdrill/tcp.h index b29bfb67..c07bdb8f 100644 --- a/gtests/net/packetdrill/tcp.h +++ b/gtests/net/packetdrill/tcp.h @@ -34,6 +34,9 @@ #include "types.h" #include <netinet/tcp.h> +#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) +#include <netinet/tcp_fsm.h> +#endif #if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) #define SOL_TCP IPPROTO_TCP -- GitLab