Maximum number of VLANs

Triggered by Hardware not limited in terms of VLAN numbers

Idea: Reflect the maximum number of VLANs a switch is capable of in the ToH.

Currently we have only VLAN [Yes|No] as possible choices.
We could upgrade the choices to [16|128|4096|$whatevernumber|No].

The list below shows the switches found in the dataentries and the number of devices with these switches.

This posting is wiki, i.e. everybody can edit it.
Feel free to add max # VLAN tags and your source of information to this list:

Switch # of devices max # VLAN tags Source
7
- 230
ADMtek ADM6996L 1
AR8216-BH1A 1
AR9344 1
Atheros AR1311 1
Atheros AR5416 1
Atheros AR7240 30
Atheros AR7241 7
Atheros AR8035 4
Atheros AR8035 (PoE in), Atheros AR8033 1
Atheros AR8035-A 1
Atheros AR8216 12
Atheros AR8236 2 16 wikidevi
Atheros AR8316 14
Atheros AR8327 17 4k datasheet
Atheros AR8327N 20 4k datasheet
Atheros AR8328 1 4k datasheet
Atheros AR8337 3 4k wikidevi
Atheros AR8337N 2 4k wikidevi
Atheros AR9287 1
Atheros AR9331 14
Atheros AR9341 12
Atheros AR9341 (built-in SoC switch) 1
Atheros AR9344 6
Atheros QCA8334 1
Atheros QCA9531 1
BCM63168 1
Broadcom BCM47081 2
Broadcom BCM47081A0 2
Broadcom BCM4708A0 7
Broadcom BCM4709 1
Broadcom BCM4709A0 5
Broadcom BCM4709C0 2
Broadcom BCM53011 1
Broadcom BCM53115 21
Broadcom BCM53125 12
Broadcom BCM53128 2
Broadcom BCM5325 23
Broadcom BCM5325A2 1
Broadcom BCM5325E 21
Broadcom BCM5325F 4
Broadcom BCM5352 1
Broadcom BCM5352E 3
Broadcom BCM5354 5
Broadcom BCM5356 5
Broadcom BCM5357 3
Broadcom BCM5357B0 3
Broadcom BCM5357C0 3
Broadcom BCM5358 2
Broadcom BCM5358UB0 5
Broadcom BCM5364P 1
Broadcom BCM5365 1
Broadcom BCM5395, rev 0 1
Broadcom BCM5397 2
Broadcom BCM63168 1
Broadcom BCM6318 4
Broadcom BCM6328 4
Broadcom BCM63281 8
Broadcom BCM6328B0 1
Broadcom BCM6361 1
Broadcom BCM6362 1
Broadcom BCM6368 6
Broadcom BCM6368 in SoC 1
Broadcom BCM6368U 1
IC+ IP175C 6
IC+ IP175D 1
IC+ IP175E 2
IC+ IP178C 1
Infineon ADM6996FC 2
Infineon ADM6996I 6
Infineon ADM6996L 2
Infineon ADM6996LC 3
Infineon ADM6996M 4
Internal configurable (Infineon) 1
Kendin KS8995MA 2
LAN7515 1
Lantiq PSB 6972 1
Lantiq PSB 80910 1
Lantiq PSB 80920 3
Lantiq XWAY VRX268 2
Marvel 88E6185-LKJ1 1
Marvell 88E6060 10
Marvell 88E6060-RCJ 1
Marvell 88E6061 1
Marvell 88E6063 1
Marvell 88E6131 2
Marvell 88E6171R 4
Marvell 88E6172 1
Marvell 88E6176 5
Marvell 88E6352 2
Marvell 88F6560 1
Marvell Topaz 88E6341 1
MediaTek MT7530 7
MediaTek MT7530 (SoC internal) 1
MediaTek MT7620A 22
MediaTek MT7620N 17
MediaTek MT7621A 7
MediaTek MT7621AT 15
MediaTek MT7621S 1
MediaTek MT7621ST 2
MediaTek MT7628A 1
MediaTek MT7628AN 5
MediaTek MT7628N 5
MediaTek MT7688AN 1
Mediatek MT7530W 1
Micrel KSZ8995MA 1
No 1
PSB6970HL 1
QCA8337N 3
Qualcomm Atheros AR8033 1
Qualcomm Atheros AR8035 1
Qualcomm Atheros AR8035-A 2
Qualcomm Atheros QCA8072 5
Qualcomm Atheros QCA8075 4
Qualcomm Atheros QCA8334 3
Qualcomm Atheros QCA8337 21 4k wikidevi
Qualcomm Atheros QCA8337, QCA8075 1
Qualcomm Atheros QCA8337N 12 4k wikidevi
Qualcomm Atheros QCA8337N-AL3C 1
Qualcomm Atheros QCA9531 8
Qualcomm Atheros QCA9533 9
Qualcomm Atheros QCA9533-AL3A 1
Qualcomm Atheros QCA9533-BL3A 1
Qualcomm Atheros QCA9561 7
Qualcomm Atheros QCA956X 1
Qualcomm Atheros TP9343 7
Ralink RT3050 11
Ralink RT3050F 3
Ralink RT3052 11
Ralink RT3052F 5
Ralink RT3352 3
Ralink RT3352F 1
Ralink RT5350 7
Ralink RT5350F 2
RealTek RTL8363SB 2
Realtek RTL8201 1
Realtek RTL8211E 1
Realtek RTL8306G 3
Realtek RTL8306SD 5
Realtek RTL8309G 1
Realtek RTL8366RB 6
Realtek RTL8366SR 15
Realtek RTL8367M 1
Realtek RTL8367R 4
Realtek RTL8367RB 7
Realtek RTL8651 1
Switch: Marvell 88E6060 1
TrendChip TC2206F 1
Vitesse VSC7385 SparX-G5 1
Vitesse VSC7395XYV 1
XWAY PEF 42068 F 1
Yes, serving LAN port only (eth1) 3
adm6996_gpio 1
ag71xx-mdio.0 1
no 1
rt305x-esw 1
¿ 587
¿ Atheros 1
1 Like

There is something of another wrinkle in terms of what the driver permits, compared to what the hardware is capable of. While the switch chip in an Archer C7v2 appears to be able to handle 4k in the hardware, it appears that the driver only provides 128 for user configuration through the driver. The accessible number of unique VLANs can be determined from a running device with, for example

$ swconfig dev switch0 help
switch0: mdio-bus.0(Atheros AR8327), ports: 7 (cpu @ 0), vlans: 128

This may be different on different branches, as well as the associated driver (which may be defined by DTS). An example of this comes to mind between the current Atheros/QCA switch driver and the potential move to qca8k for some devices on master, either now or in the future.

Is "number of devices" the number of "models" in the ToH using that switch chip?



A quick check of OpenWrt-supplied drivers yields:

openwrt/target/linux/generic/files/drivers/net/phy$ fgrep -r MAX_VLAN * | fgrep define
ar8216.h:#define AR8X16_MAX_VLANS	128
ip17xx.c:#define MAX_VLANS 16
psb6970.c:#define PSB6970_MAX_VLANS		16

Edit: | sort | uniq to clean things up a bit

0025-NET-MIPS-lantiq-adds-xrx200-net.patch:+#define XRX200_MAX_VLAN		64
700-net-add-qualcomm-mdio-and-phy.patch:+#define AR40XX_MAX_VLANS	128
710-net-add-qualcomm-essedma-ethernet-driver.patch:+#define EDMA_MAX_VLAN_SUPPORTED  EDMA_MAX_PORTID_SUPPORTED 
#define EDMA_MAX_PORTID_SUPPORTED 5
adm6996.h:#define ADM_NUM_VLANS 16
ag71xx_ar7240.c:#define AR7240_MAX_VLANS	16
ar8216.h:#define AR8216_NUM_VLANS	16
ar8216.h:#define AR8316_NUM_VLANS	4096
ar8216.h:#define AR8X16_MAX_VLANS	128
be.h:#define BE_NUM_VLANS_SUPPORTED	64
esw_rt3050.c:#define RT305X_ESW_NUM_VLANS		16
gsw_mt7620.h:#define GSW_NUM_VLANS		16
ip17xx.c:#define MAX_VLANS 16
mlx4.h:#define MLX4_MAX_VLAN_NUM	128
mt7530.c:#define MT7530_NUM_VLANS	16
mt7530.c:#define MT7530_NUM_VLANS	4095
psb6970.c:#define PSB6970_MAX_VLANS		16
rtl8306.c:#define RTL8306_NUM_VLANS		16
rtl8366rb.c:#define RTL8366RB_NUM_VLANS		16
rtl8366s.c:#define RTL8366S_NUM_VLANS		16
rtl8367b.c:#define RTL8367B_NUM_VLANS		32
rtl8367.c:#define RTL8367_NUM_VLANS		32

These "limits" often apply to "related" chips, not just the one identified by the header/C file name.

Note that a number above doesn't mean that it has been checked to see what it means in the code!



Perhaps a linked page for switch chips that summarize this information and related, perhaps by major release / snapshot?

5 Likes

I found a bug! Maybe others.

AR9344 1 vs Atheros AR9344 6
Atheros QCA8334 1 vs Qualcomm Atheros QCA8334 3
Atheros QCA9531 1 vs Qualcomm Atheros QCA9531 8

What is this supposed to mean?

1 Like

Look the list, there are several lines for same CPU.

It will be better to have only one by CPU.

Misunderstanding on your side: You are looking at the number of devices, not the max number of VLANs.
None of the SoCs mentioned by you has a number in the VLAN column.

1 Like

But it is in several times in the list.

What is the source of this list?

The source is not good:

Change:

  • AR9344 -> Atheros AR9344

  • Atheros QCA8334 -> Qualcomm Atheros QCA8334

  • Atheros QCA9531 -> Qualcomm Atheros QCA9531

  • QCA8337N -> Qualcomm Atheros QCA8337N

  • BCM63168 -> Broadcom BCM63168

  • Atheros AR8035 (PoE in) -> Atheros AR8035

  • Atheros AR9341 (built-in SoC switch) -> Atheros AR9341

  • Broadcom BCM6368 in SoC -> Broadcom BCM6368

  • MediaTek MT7530 (SoC internal) -> MediaTek MT7530

  • PSB6970HL -> Infineon PSB6970HL

  • Switch: Marvell 88E6060 -> Marvell 88E6060

  • XWAY PEF 42068 F -> Lantiq XWAY PEF 42068 F

  • ADMtek ADM6996L -> Infineon ADMtek ADM6996L

  • adm6996_gpio -> Infineon ADM6996

  • LAN7515 -> Microchip LAN7515

  • ag71xx-mdio.0 -> ????????????????????

  • rt305x-esw -> Ralink rt305x-esw

  • ¿ Atheros -> ????????????????????

  • no -> No

  • "null" -> ?

  • "-" -> ?

  • "¿" -> ?

Why seperate :wink:

The ToH dataentries -> Special ToH view for switch / VLAN
The source of the dataentries: Various; ranging from wikidevi over OpenWrt devicepages to forum postings.

  1. The table in my first posting is wiki, i.e. everybody (including you) can edit it. Also feel free to add the number of max vlans (that's what this table is for and that's why it is wiki.
  2. My first posting is from March this year, i.e. some of the errors have already been corrected over time. I have now corrected some more. The dataentries in the wiki can be edited by every logged in user.
  3. MT7530

Since we have in other such cases the SoC itself in this field, we should do the same here.

#Comments inline