Socket Option (proto)
config.core.v3.SocketOption
[config.core.v3.SocketOption proto]
Generic socket option message. This would be used to set socket options that might not exist in upstream kernels or precompiled Envoy binaries.
For example:
{
  "description": "support tcp keep alive",
  "state": 0,
  "level": 1,
  "name": 9,
  "int_value": 1,
}
1 means SOL_SOCKET and 9 means SO_KEEPALIVE on Linux. With the above configuration, TCP Keep-Alives can be enabled in socket with Linux, which can be used in listener’s or admin’s socket_options etc.
It should be noted that the name or level may have different values on different platforms.
{
  "description": ...,
  "level": ...,
  "name": ...,
  "int_value": ...,
  "buf_value": ...,
  "state": ...
}
- description
- (string) An optional name to give this socket option for debugging, etc. Uniqueness is not required and no special meaning is assumed. 
- level
- (int64) Corresponding to the level value passed to setsockopt, such as IPPROTO_TCP 
- name
- (int64) The numeric name as passed to setsockopt 
- int_value
- (int64) Because many sockopts take an int value. 
- state
- (config.core.v3.SocketOption.SocketState) The state in which the option will be applied. When used in BindConfig STATE_PREBIND is currently the only valid value. 
Enum config.core.v3.SocketOption.SocketState
[config.core.v3.SocketOption.SocketState proto]
- STATE_PREBIND
- (DEFAULT) Socket options are applied after socket creation but before binding the socket to a port 
- STATE_BOUND
- Socket options are applied after binding the socket to a port but before calling listen() 
- STATE_LISTENING
- Socket options are applied after calling listen()