Vlan support in sk(4) driver
-
hi there,
is there a vlan support in sk(4) Marvell 88E1011 Gigabit PHY driver?
all i can find is thatThe following interfaces support long frames for vlan natively: bfe(4), cas(4), dc(4), fwe(4), fxp(4), gem(4), hme(4), le(4), nfe(4), nve(4), rl(4), sf(4), sis(4), sk(4), ste(4), tl(4), tx(4), vr(4), and xl(4)
but when i try to connect unifi ap with some vlans to the interface vlans don't work
-
bump?
-
To set VLAN tagging, go to Interfaces > (assign) > VLANS
You'll see a note that says:Not all drivers/NICs support 802.1Q VLAN tagging properly. On cards that do not explicitly support it, VLAN tagging will still work, but the reduced MTU may cause problems. See the pfSense handbook for information on supported cards.
pfsense is based on FreeBSD, so a quick search for "sk FreeBSD" pulls up the man page for sk interfaces which is useless unless you compare it to something else. On my watchguard x750e I have sk and msk interfaces, so lets see what we can find about msk interfaces. Here is an excerpt from the man page for msk(4):
The msk device driver provides support for various NICs based on the Mar- vell/SysKonnect Yukon II Gigabit Ethernet controller chip. All NICs supported by the msk driver have TCP/UDP/IP checksum offload for transmit, TCP segmentation offload (TSO), hardware VLAN tag strip- ping/insertion features and an interrupt moderation mechanism as well as a 64-bit multicast hash filter. The Yukon II supports TBI (ten bit interface) and GMII transceivers, which means it can be used with either copper or 1000baseX fiber applications. The Yukon II also supports Jumbo Frames (up to 9022 bytes), which can be configured via the interface MTU setting. Selecting an MTU larger than 1500 bytes with the ifconfig(8) utility configures the adapter to receive and transmit Jumbo Frames.
The sk driver has no such feature, and is instead handled by the FreeBSD vlan(4) driver. I'm assuming that's what you were looking for?
Also, since FreeBSD is a posix compliant operating system, one can run *nix shell commands like "ifconfig sk0" to see what the adapter supports according to the driver loaded. I get to it by clicking on Diagnostics > Command Prompt and I see this on my firewall:
$ ifconfig sk1 sk1: flags=8843 <up,broadcast,running,simplex,multicast>metric 0 mtu 1500 options=8000b <rxcsum,txcsum,vlan_mtu,linkstate>ether 00:90:7f:3f:0a:8c inet6 fe80::290:7fff:fe3f:a8c%sk1 prefixlen 64 scopeid 0x6 inet 64.233.160.1 netmask 0xffffe000 broadcast 255.255.255.255 nd6 options=21 <performnud,auto_linklocal>media: Ethernet autoselect (1000baseT <full-duplex>) status: active</full-duplex></performnud,auto_linklocal></rxcsum,txcsum,vlan_mtu,linkstate></up,broadcast,running,simplex,multicast> ```Compared to the msk interface:
$ ifconfig msk0
msk0: flags=8943 <up,broadcast,running,promisc,simplex,multicast>metric 0 mtu 1500
options=c001b <rxcsum,txcsum,vlan_mtu,vlan_hwtagging,vlan_hwtso,linkstate>ether 00:90:7f:3f:0a:91
inet6 fe80::290:7fff:fe3f:a91%msk0 prefixlen 64 scopeid 0x1
inet 10.0.0.1 netmask 0xfffffc00 broadcast 10.0.3.255
nd6 options=21 <performnud,auto_linklocal>media: Ethernet autoselect (1000baseT <full-duplex,flowcontrol,rxpause,txpause>)
status: active</full-duplex,flowcontrol,rxpause,txpause></performnud,auto_linklocal></rxcsum,txcsum,vlan_mtu,vlan_hwtagging,vlan_hwtso,linkstate></up,broadcast,running,promisc,simplex,multicast>It looks like hardware vlan tagging is supported by the msk(4) driver and not the sk(4) driver.
-
thanks for your reply fibrewire
i've been using this device (http://www.portwell.com/pdf/ca/NAD-2081.pdf) with pfsense for few years now and i know for sure i had vlans configured on it with the older pfsense version. back then i didn't even checked if sk driver supports vlans. i just configured it because my provider required it. and it worked.
now i'm using this box in a different setting with newer pfsense and was going to use vlans on one of the interfaces to run corporate and free wifi via unifi ap. it didn't work. :-\ -
According to the pdf it has 4 switching ports and 4 expansion ports via pci32 interface. Have you tried using the switched ports in place of the expansion ports or vice-versa? I would look under Interfaces > (assign) and see if there are four or eight sk interfaces available. If only four then you have a different type of interface available that may support hardware vlans.
-
i have the one with 4 onboard ports.
here is how pfsense sees themskc0: <marvell gigabit="" ethernet="">port 0xd000-0xd0ff mem 0xec02c000-0xec02ffff irq 12 at device 0.0 on pci1 skc0: Marvell Yukon Lite Gigabit Ethernet rev. (0x9) sk0: <marvell semiconductor,="" inc.="" yukon="">on skc0 sk0: Ethernet address: xx:xx:xx:xx:xx:xx miibus0: <mii bus="">on sk0 e1000phy0: <marvell 88e1011="" gigabit="" phy="">PHY 0 on miibus0 e1000phy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto skc1: <marvell gigabit="" ethernet="">port 0xd400-0xd4ff mem 0xec020000-0xec023fff irq 10 at device 1.0 on pci1 skc1: Marvell Yukon Lite Gigabit Ethernet rev. (0x9) sk1: <marvell semiconductor,="" inc.="" yukon="">on skc1 sk1: Ethernet address: xx:xx:xx:xx:xx:xx miibus1: <mii bus="">on sk1 e1000phy1: <marvell 88e1011="" gigabit="" phy="">PHY 0 on miibus1 e1000phy1: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto skc2: <marvell gigabit="" ethernet="">port 0xd800-0xd8ff mem 0xec024000-0xec027fff irq 11 at device 2.0 on pci1 skc2: Marvell Yukon Lite Gigabit Ethernet rev. (0x9) sk2: <marvell semiconductor,="" inc.="" yukon="">on skc2 sk2: Ethernet address: xx:xx:xx:xx:xx:xx miibus2: <mii bus="">on sk2 e1000phy2: <marvell 88e1011="" gigabit="" phy="">PHY 0 on miibus2 e1000phy2: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto skc3: <marvell gigabit="" ethernet="">port 0xdc00-0xdcff mem 0xec028000-0xec02bfff irq 5 at device 3.0 on pci1 skc3: Marvell Yukon Lite Gigabit Ethernet rev. (0x9) sk3: <marvell semiconductor,="" inc.="" yukon="">on skc3 sk3: Ethernet address: xx:xx:xx:xx:xx:xx miibus3: <mii bus="">on sk3 e1000phy3: <marvell 88e1011="" gigabit="" phy="">PHY 0 on miibus3 e1000phy3: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto</marvell></mii></marvell></marvell></marvell></mii></marvell></marvell></marvell></mii></marvell></marvell></marvell></mii></marvell></marvell>