Learn How to Protocols Manipulation can be done on Kernel and optimize your performance.

Networking Protocols Manipulation

Network Stack

Networking Protocols – Layer 2

  • MAC Address
  • Offloading
  • Checksum

LLC – Logical Link Control

  • Error Control
  • Flow Control

MAC – Medium Access Control

TCP Protocol Manipulation

somaxconn – INTEGER

Limit of socket listen() backlog, known in userspace as SOMAXCONN.

Defaults to 128.

See also tcp_max_syn_backlog for additional tuning for TCP sockets.

tcp_abort_on_overflow – BOOLEAN

If listening service is too slow to accept new connections, reset them.

Default state is FALSE.

It means that if overflow occurred due to a burst, connection will recover.

Enable this option only if you are really sure that listening daemon cannot be tuned to accept connections faster.

Enabling this option can harm clients of your server.

tcp_adv_win_scale – INTEGER

Count buffering overhead as bytes/2^tcp_adv_win_scale (if tcp_adv_win_scale > 0) or bytes-bytes/2^(-tcp_adv_win_scale), if it is <= 0.

Possible values are [-31, 31], inclusive. Default: 1

tcp_allowed_congestion_control – STRING

Show/set the congestion control choices available to non-privileged
processes. The list is a subset of those listed in
Default is “reno” and the default setting (tcp_congestion_control).

tcp_app_win – INTEGER

Reserve max(window/2^tcp_app_win, mss) of window for application buffer. Value 0 is special, it means that nothing is reserved. Default: 31

tcp_autocorking – BOOLEAN

Enable TCP auto corking : When applications do consecutive small write()/sendmsg() system calls, we try to coalesce these small writes as much as possible, to lower total amount of sent packets.

This is done if at least one prior packet for the flow is waiting in Qdisc queues or device transmit queue.

Applications can still use TCP_CORK for optimal behavior when they know how/when to uncork their sockets. Default: 1

tcp_available_congestion_control – STRING

Shows the available congestion control choices that are registered.
More congestion control algorithms may be available as modules,
but not loaded.

tcp_base_mss – INTEGER

The initial value of search_low to be used by the packetization layer
Path MTU discovery (MTU probing). If MTU probing is enabled,
this is the initial MSS used by the connection.

tcp_congestion_control – STRING

Set the stion control algorithm to be used for new connections. The algorithm “reno” is always available, but additional choices may be available based on kernel configuration. Default is set as part of kernel configuration. For passive connections, the listener congestion control choice is inherited.

Manipulating UDP Protocol