]> Sergey Matveev's repositories - stargrave-blog.git/commitdiff
Фрагментация пакетов gif-туннеля
authorSergey Matveev <stargrave@stargrave.org>
Sat, 24 Feb 2024 20:55:14 +0000 (23:55 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sat, 24 Feb 2024 21:04:16 +0000 (00:04 +0300)
При использовании 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 на ноль.


No differences found