Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Aug 2006 01:34:47 +0200
From:      Hans Nieser <h.nieser@xs4all.nl>
To:        freebsd-net@freebsd.org
Subject:   iwi discarding oversized packets while mtu=1500 for src/dst
Message-ID:  <44F4CF17.8060203@xs4all.nl>

next in thread | raw e-mail | index | archive | help
Hi,

Today I wanted to go back to using FreeBSD on my laptop, which is still
installed but hasn't been used for several months because I am still
waiting for a stable Intel HDA driver. So I performed a full upgrade of my
installed ports. However I ran into an issue that prevented me from
logging in to my FreeBSD server over ssh.

When I tried to login to the server I got the usual "Password: " prompt,
but as soon as I typed my password and hit enter, nothing happened. At
first I thought it was a DNS issue, but after disabling UseDNS in
sshd_config I still ran into it. Also, other computers on my LAN were able
to ssh to the server without problems and I could ssh from the server to
the laptop and any other computer on my LAN without problems.

Upon closer inspection I found that logging into my FreeBSD sshd server
from my FreeBSD laptop triggered a bunch of iwi0 errors in dmesg (on the
laptop):

iwi0: discard oversize frame (ether type 800 flags 3 len 1518 > max 1514)
iwi0: discard oversize frame (ether type 800 flags 3 len 1518 > max 1514)
iwi0: discard oversize frame (ether type 800 flags 3 len 1518 > max 1514)
iwi0: discard oversize frame (ether type 800 flags 3 len 1518 > max 1514)
(and many more, probably aggregated from several login attempts).

Note that I have not touched any MTU settings at all and that all
computers on my LAN have the default MTU (1500) set (according to ifconfig).

To check that my server's NIC was in fact sending packets of 1518 bytes I
sniffed a SSH login from my Gentoo desktop computer to the server with
wireshark which did capture a packet of 1518 bytes:

No.     Time        Source                Destination           Protocol Info
     36 1.678370    192.168.1.1           192.168.1.64          SSHv2
Encrypted response packet len=1448

Frame 36 (1518 bytes on wire, 1518 bytes captured)
Ethernet II, Src: Albatron_0f:40:c7 (00:0a:48:0f:40:c7), Dst:
SitecomE_1b:35:d9 (00:0c:f6:1b:35:d9)
Internet Protocol, Src: 192.168.1.1 (192.168.1.1), Dst: 192.168.1.64
(192.168.1.64)
Transmission Control Protocol, Src Port: ssh (22), Dst Port: 47797
(47797), Seq: 1896, Ack: 1733, Len: 1448
SSH Protocol

So it would seem that my desktop's NIC (or WNIC actually) can handle these
"oversized" packets (if they are in fact oversized, I don't really know at
what layer the MTU setting is applied), while my Laptop's WNIC (iwi) doesn't.

Can anyone shed some light on who or what is to blame for my problems and
what the best way to solve it is? I can at least get things working by
lowering my server's MTU, but I really don't understand why this is a
problem now because I'm pretty sure I've succesfully been able ssh to my
server in the past from my laptop and I never ever had to touch any MTU
settings.

I should mention that I am actually not sure if the problem was present
before I updated all my ports since it was the first thing I did. But I
guess if it was caused by an update it would have to be something with the
iwi-firmware port, unfortunately I don't know if it was updated.

My server's NIC:
xl0@pci2:0:0:   class=0x020000 card=0x10001458 chip=0x920010b7 rev=0x78
hdr=0x00
    vendor   = '3COM Corp, Networking Division'
    device   = '3C905C-TX Fast EtherLink for PC Management NIC'
    class    = network
    subclass = ethernet

Laptop's NIC:
iwi0@pci1:3:0:  class=0x028000 card=0x27018086 chip=0x42208086 rev=0x05
hdr=0x00
    vendor   = 'Intel Corporation'
    device   = 'PRO/Wireless 2200BG Network Connection'
    class    = network



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44F4CF17.8060203>