gvisor.dev/gvisor@v0.0.0-20240520182842-f9d4d51c7e0f/pkg/abi/linux/tcp.go (about) 1 // Copyright 2018 The gVisor Authors. 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 package linux 16 17 // Socket options from uapi/linux/tcp.h. 18 const ( 19 TCP_NODELAY = 1 20 TCP_MAXSEG = 2 21 TCP_CORK = 3 22 TCP_KEEPIDLE = 4 23 TCP_KEEPINTVL = 5 24 TCP_KEEPCNT = 6 25 TCP_SYNCNT = 7 26 TCP_LINGER2 = 8 27 TCP_DEFER_ACCEPT = 9 28 TCP_WINDOW_CLAMP = 10 29 TCP_INFO = 11 30 TCP_QUICKACK = 12 31 TCP_CONGESTION = 13 32 TCP_MD5SIG = 14 33 TCP_THIN_LINEAR_TIMEOUTS = 16 34 TCP_THIN_DUPACK = 17 35 TCP_USER_TIMEOUT = 18 36 TCP_REPAIR = 19 37 TCP_REPAIR_QUEUE = 20 38 TCP_QUEUE_SEQ = 21 39 TCP_REPAIR_OPTIONS = 22 40 TCP_FASTOPEN = 23 41 TCP_TIMESTAMP = 24 42 TCP_NOTSENT_LOWAT = 25 43 TCP_CC_INFO = 26 44 TCP_SAVE_SYN = 27 45 TCP_SAVED_SYN = 28 46 TCP_REPAIR_WINDOW = 29 47 TCP_FASTOPEN_CONNECT = 30 48 TCP_ULP = 31 49 TCP_MD5SIG_EXT = 32 50 TCP_FASTOPEN_KEY = 33 51 TCP_FASTOPEN_NO_COOKIE = 34 52 TCP_ZEROCOPY_RECEIVE = 35 53 TCP_INQ = 36 54 ) 55 56 // Socket constants from include/net/tcp.h. 57 const ( 58 MAX_TCP_KEEPIDLE = 32767 59 MAX_TCP_KEEPINTVL = 32767 60 MAX_TCP_KEEPCNT = 127 61 ) 62 63 // Congestion control states from include/uapi/linux/tcp.h. 64 const ( 65 TCP_CA_Open = 0 66 TCP_CA_Disorder = 1 67 TCP_CA_CWR = 2 68 TCP_CA_Recovery = 3 69 TCP_CA_Loss = 4 70 )