При использовании gif/gre/stf туннелей в FreeBSD, отправляемые пакеты
форсированно фрагментируются если размером больше минимального MTU IPv6
(1280 байт). sys/netinet6/in6_gif.c:
[...]
/*
* force fragmentation to minimum MTU, to avoid path MTU discovery.
* it is too painful to ask for resend of inner packet, to achieve
* path MTU discovery for encapsulated packets.
*/
return (ip6_output(m, 0, NULL, IPV6_MINMTU, 0, NULL, NULL));
Так как у меня gif-туннель используется для инкапсуляции IPv4 трафика
поверх динамически маршрутизируемого IPv6, который поверх слонокадров
идёт, а MTU gif-туннеля = 1500, то куча пакетов фрагментируется без
какой-либо необходимости. Всё же на пустом месте чуть ли не удваивать
количество пакетов не очень приятно, поэтому можно просто поменять этот
IPV6_MINMTU на ноль.