- Turn on VLAN_MTU for 905B typed cards.
commit8c24ec423e2c85b21718ac912c67301074b6a61c
authorsephe <sephe>
Sat, 19 May 2007 06:21:43 +0000 (19 06:21 +0000)
committersephe <sephe>
Sat, 19 May 2007 06:21:43 +0000 (19 06:21 +0000)
treecc5fa0f006c25e373ddaab594cc5e9341ba336f7
parentf42880404f9978d0cec8fabe839a0254023f4396
- Turn on VLAN_MTU for 905B typed cards.
- Adjust SIOCSIFCAP logic, after turning on VLAN_MTU.

Tested-with: 3c905C-TX, 3c575C, 3c905-TX

#
# Non-905B cards were claimed to work with VLAN_MTU, but
# it turns out my 3c905-TX can't hear packets, whose size
# are > 1514 (excluding CRC).
#
# I conducted the following two 'ping' tests:
#
# 192.168.4.2 vlan iface, whose parent device is a 3c905-TX
# based xl(4)
# 192.168.4.1 vlan iface, whose parent device is a 3c575
# based xl(4)
#
# TEST1:
# On 192.168.4.1
# Run 'tcpdump -e -ni xl1' when 'ping -s 1468 192.168.4.2':
# 14:09:06.049912 00:10:5a:9f:bc:d5 > 00:01:02:e3:dd:b5,
# ethertype 802.1Q (0x8100), length 1514: vlan 11, p 0,
# ethertype IPv4, 192.168.4.2 > 192.168.4.1: ICMP echo reply,
# id 1283, seq 4352, length 1476
# 14:09:07.069522 00:01:02:e3:dd:b5 > 00:10:5a:9f:bc:d5,
# ethertype 802.1Q (0x8100), length 1514: vlan 11, p 0,
# ethertype IPv4, 192.168.4.1 > 192.168.4.2: ICMP echo request,
# id 1283, seq 4608, length 1476
#
# Above test shows 3c905 still works when packets size is 1514.
#
#
# TEST2:
# Run 'tcpdump -e -ni xl1' when 'ping -s 1469 192.168.4.2':
# 14:12:07.119839 00:01:02:e3:dd:b5 > 00:10:5a:9f:bc:d5,
# ethertype 802.1Q (0x8100), length 1515: vlan 11, p 0,
# ethertype IPv4, 192.168.4.1 > 192.168.4.2: ICMP echo request,
# id 2563, seq 2048, length 1477
# 14:12:08.140366 00:01:02:e3:dd:b5 > 00:10:5a:9f:bc:d5,
# ethertype 802.1Q (0x8100), length 1515: vlan 11, p 0,
# ethertype IPv4, 192.168.4.1 > 192.168.4.2: ICMP echo request,
# id 2563, seq 2304, length 1477
#
# Tcpdump is also run on 192.168.4.2 during the second test,
# nothing pops up at all.
#
# Above test shows 3c905 does NOT work when packets size is 1515,
# i.e. > 1514
#
sys/dev/netif/xl/if_xl.c