Jumbo frames для драйвера b44

Dmitry Podgorny pasis.ua at gmail.com
Thu May 3 08:05:07 EDT 2012


Приветствую, русское сообщество :)

По работе стало необходимо получать/отправлять пакеты 1530 байт
(соответственно, 1548 и больше байт ethernet кадры) на моем ноутбуке.
Карточка следующая:
03:00.0 Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX
(rev 02)

В драйвере b44.c жестко прописаны макросы:
#define B44_MAX_MTU               1500
#define RX_PKT_BUF_SZ           (1536 + RX_PKT_OFFSET)
и проверка в функции приема кадра:
if ((len > (RX_PKT_BUF_SZ - RX_PKT_OFFSET)) ...
drop_it:

Из этого вижу, что можно уставить максимум MTU 1500 и принять ethernet кадр
до 1536 байт.

Вопрос второстепенный: может ли кто-то объяснить, почему по умолчанию
выделяется 1536 байт? Понятно, что предусматриваются теги 802.1Q, MPLS
метки и тп. Но подобный функционал зашит во множество сетевого оборудования
и это критично для сети провайдера. Просто хочется понять...


Мною были выполнены следующие действия:

   - B44_MAX_MTU увеличено до 1530
   - RX_PKT_BUF_SZ увеличено до (1548 + RX_PKT_OFFSET)

После этого сетевуха работает нормально с пакетами 1530 байт по обычной
ethernet сети.
Теперь основной вопрос: есть ли какие-то подводные камни подобного решения
(пока рассматриваю заголовок ethernet 18байт) и, если все работает, почему
в ядре стоит жесткое ограничение на 1500 байт?

Буду рад услышать ответы/мнения/предположения.
Спасибо.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernel-russian/attachments/20120503/9c380445/attachment.html 


More information about the Kernel-russian mailing list