Я создаю программу перехвата/пересылки кадров Ethernet на компьютере с Linux, которую я буду использовать для перехвата кадров, передаваемых с компьютера в сеть Ethernet и наоборот.
Я пытаюсь активировать паузу кадров, чтобы не потерять пакеты, так как двухэтапная передача на маршрутизатор может вызвать некоторую задержку.
Единственный способ, который я нашел для этого, — использовать ethtool, чтобы, например, включить паузу кадров с принимающей стороны:
ethtool -A eth0 rx on
У меня есть сомнения по этому поводу, которые, я надеюсь, развеет эксперт по ethtool.
Параметр, доступный с помощью «ethtool -A», включает или выключает автосогласование. Насколько я знаю, автосогласование имеет мало общего с кадрами паузы. Кроме того, немного смущает отсутствие опций, доступных в ethtool в отношении кадров паузы. Например, управление временем паузы, запрошенным отправителем кадра, невозможно с помощью ethtool.
Итак, ethtool действительно лучший или единственный способ настроить паузу кадров? В идеале я хотел бы настроить их с помощью кода C, но если ethtool — единственный способ сделать это, мне просто нужно подтверждение того, что я делаю правильно, настраивая кадры паузы с помощью ethtool.
И если бы кто-то мог указать мне правильное направление для настройки кадров паузы в C, я был бы еще более благодарен.
Спасибо.