discard oversize frame

From
Alex Mogilnikov (2:5054/70)
To
All (2:5054/37.63)
Date
2006-12-10T15:58:52Z
Area
RU.UNIX.BSD
Привет All!

    Нормально ли, что в src/sys/net/if_ethersubr.c в ether_input() есть такой фрагмент:

        if (m->m_pkthdr.len >
            ETHER_MAX_FRAME(ifp, etype, m->m_flags & M_HASFCS)) {
                if_printf(ifp, "discard oversize frame "
                                "(ether type %x flags %x len %u > max %lu)\n",
                                etype, m->m_flags, m->m_pkthdr.len,
                                ETHER_MAX_FRAME(ifp, etype,
                                                m->m_flags & M_HASFCS));
                ifp->if_ierrors++;
                m_freem(m);
                return;
        }

    Это получается, что уже успешно принятый из сети фрейм дропается только потому, что его размер превышает установленный на интерфейсе MTU (ETHER_MAX_FRAME вычисляется на основе mtu). Это нормально? Мне казалось, что MTU должен ограничивать только размер передаваемых в сеть фреймов...

    FreeBSD-6.1.

Всего наилучшего,                                 [Team PCAD 2000]
Алексей М.
... Чем ветеринары кормят своих собак? Белый фосфор. Ваша собака светится!
---
 * Origin: === Сисоп спит - почта идет === (2:5054/70)
SEEN-BY: 5020/545 5054/1 4 8 9 11 28 35 36 37 45 66 67 70 75 84 85
PATH: 5054/70 1 37