Как проверить, что данное соединение было выгружено на сетевую карту
Из того, что я прочитал, некоторая часть операции протокола tcp может быть выгружена из ядра в драйвер сетевой карты благодаря TOE (или GSO, LSO, LRO..).
Моя цель также найти, если данный сокет имеет какую-то часть своей обработки выгружены.
Кажется, это регулируется на уровне интерфейса, мы можем видеть, разрешена ли разгрузка с
# ethotool -k eth0
Однако мне трудно увидеть состояние данного сокета, особенно если управление пакетами ACK было выгружено
Кажется, что na_netstat может отображать информацию, но это не версия netstat, доступная в centos 6.5.
Я думаю что:
head -n1 < /proc/net/tcp ; grep -a 3952364802 /proc/net/tcp
позвольте мне найти всю информацию о состоянии данного сокета (если 3952364802
это номер сокета), но я не знаю, как декодировать его вывод.
- вопрос: как посмотреть состояние разгрузки данного сокета?
- Бонусный вопрос: где найти описание эвристики, связанной с активацией разгрузки.