Flow control в kernel
Добрый день! Объясните пожалуйста как принудительно заставить сетевой контроллер слать кадры PAUSE 802.3? Делаю передачу всего трафика с одного эзернет интерфейса в узкий канал (шифрование и отправка в другой интерфейс по мере возможности). Для этого добавил rx_handler на целевой интерфейс, укладываю пакеты в FIFO, а другой процесс по мере возможности вытаскивает из FIFO пакеты и отправляет. Так вот, загвоздка в том, что когда у меня забивается FIFO я дропаю входящий пакет. Нельзя ли принудительно выключить прием на интерфейсе? Перерыл всю литературу, так внятного ответа не нашел. Написано, что Ethernet драйвер сам перейдет в паузу, когда у него закончатся буферы, если NAPI не будет успевать вытаскивать пакеты. Но так как спать в rx handlere нельзя, у меня связаны руки.