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