11573Srgrimes/* SPDX-License-Identifier: GPL-2.0 */ 21573Srgrimes/* Copyright (c) 2023 Meta Platforms, Inc. and affiliates. */ 31573Srgrimes 41573Srgrimes/* Define states of a socket to tracking messages sending to and from the 51573Srgrimes * socket. 61573Srgrimes * 71573Srgrimes * These states are based on rfc9293 with some modifications to support 81573Srgrimes * tracking of messages sent out from a socket. For example, when a SYN is 91573Srgrimes * received, a new socket is transiting to the SYN_RECV state defined in 101573Srgrimes * rfc9293. But, we put it in SYN_RECV_SENDING_SYN_ACK state and when 111573Srgrimes * SYN-ACK is sent out, it moves to SYN_RECV state. With this modification, 121573Srgrimes * we can track the message sent out from a socket. 131573Srgrimes */ 141573Srgrimes 151573Srgrimes#ifndef __CGROUP_TCP_SKB_H__ 161573Srgrimes#define __CGROUP_TCP_SKB_H__ 171573Srgrimes 181573Srgrimesenum { 191573Srgrimes INIT, 201573Srgrimes CLOSED, 211573Srgrimes SYN_SENT, 221573Srgrimes SYN_RECV_SENDING_SYN_ACK, 231573Srgrimes SYN_RECV, 241573Srgrimes ESTABLISHED, 251573Srgrimes FIN_WAIT1, 261573Srgrimes FIN_WAIT2, 271573Srgrimes CLOSE_WAIT_SENDING_ACK, 281573Srgrimes CLOSE_WAIT, 291573Srgrimes CLOSING, 301573Srgrimes LAST_ACK, 311573Srgrimes TIME_WAIT_SENDING_ACK, 321573Srgrimes TIME_WAIT, 331573Srgrimes}; 341573Srgrimes 351573Srgrimes#endif /* __CGROUP_TCP_SKB_H__ */ 361573Srgrimes