Date: Wed, 12 Mar 2008 12:49:34 +0100 From: Giulio Ferro <auryn@zirakzigil.org> To: freebsd-net@freebsd.org Subject: VLAN trunking and fragmentation Message-ID: <47D7C34E.8060805@zirakzigil.org>
next in thread | raw e-mail | index | archive | help
I need to configure ports to work with multiple vlan on my redundant freebsd router/firewall. In order to setup my test environment I have 2 freebsd boxes 7.0 STABLE amd64 both with gigabit realtek (re0). According to what the man says, these cards should support vlan in hardware. These PCs are connected to a dell 48 port managed layer-3 switch on port 1 and 2. On the dell CLI I configure the vlans: --------------------------- enable configure vlan database vlan 10 exit interface vlan 10 name testvlan exit interface ethernet 1/g1 switchport mode trunk switchport trunk allowed vlan add 10 exit interface ethernet 1/g2 switchport mode trunk switchport trunk allowed vlan add 10 exit --------------------------- On both PC I have configured a vlan interface like this: from /etc/rc.conf --------------------------- ifconfig_re0="inet 192.168.60.1 netmask 255.255.255.0" cloned_interfaces="vlan0" ifconfig_vlan0="inet 192.168.100.1 netmask 255.255.255.0 vlan 10 vlandev re0" --------------------------- same on the other PC, but with physical address = 192.168.60.2 and virtual address 192.168.100.2 When I now try to ping from one machine to the other there is no problem: --------------------------- # ping -c 1 192.168.100.2 PING 192.168.100.2 (192.168.100.2): 56 data bytes 64 bytes from 192.168.100.2: icmp_seq=0 ttl=64 time=0.108 ms --- 192.168.100.2 ping statistics --- 1 packets transmitted, 1 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 0.108/0.108/0.108/0.000 ms --------------------------- The problems start when I send a packet which is bigger than 1472 bytes: --------------------------- ping -c 1 -s 1473 192.168.100.2 --------------------------- The packet is fragmented as it should, but there seems to be some problem with the checksum computation. --------------------------- # on PC 192.168.100.1 tcpdump -i re0 -n -vvv not stp 13:33:37.789615 IP (tos 0x0, ttl 64, id 809, offset 0, flags [+], proto ICMP (1), length 1500, bad cksum 0 (->8a4)!) 192.168.100.1 > 192.168.100.2: ICMP echo request, id 31748, seq 0, length 1480 13:33:37.789622 IP (tos 0x0, ttl 64, id 809, offset 1480, flags [none], proto ICMP (1), length 21, bad cksum 0 (->2db2)!) 192.168.100.1 > 192.168.100.2: icmp #on PC 192.168.100.2 tcpdump -i re0 -n -vvv not stp 13:32:49.038581 IP (tos 0x0, ttl 64, id 809, offset 1480, flags [none], proto ICMP (1), length 21) 192.168.100.1 > 192.168.100.2: icmp --------------------------- I'm told that this same configuration works under linux. It seems to me this could be a bug of the vlan stack under freebsd... Thanks in advance for any workaround / quick patch to solve this issue.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47D7C34E.8060805>