Thank you all for the replies. I did some more reading and testing, and I've had a little success, but I still don't have VLANs working on the ESXi host.
@lleachii, I did some reading on the links provided, but like I said, there's not a whole lot in there about trunking on a device that doesn't have an internal switch.
@jeff, @mk24, I am not running OpenWrt in a VM. R2 is an Actiontec MI424WR Rev. D, which was provided by Frontier (back when they were called Verizon). It does not have an internal switch, so it seems I do have to configure VLANs using interface.vlan notation. I've configured everything in LUCI thus far, and here is what I have currently in my network configs:
R1 /etc/config/network
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix 'fd0e:7c8c:24af::/48'
config interface 'lan'
option type 'bridge'
option ifname 'eth0.1'
option proto 'static'
option netmask '255.255.255.0'
option ip6assign '60'
option ipaddr '10.0.0.1'
config interface 'wan'
option ifname 'eth1.2'
option proto 'dhcp'
option hostname 'wireless-broadband-router'
option peerdns '0'
option dns '1.1.1.1 1.0.0.1'
config interface 'wan6'
option ifname 'eth1.2'
option proto 'dhcpv6'
option reqaddress 'try'
option reqprefix 'auto'
option peerdns '0'
option dns '2606:4700:4700::1111 2606:4700:4700::1001'
option auto '0'
config switch
option name 'switch0'
option reset '1'
option enable_vlan '1'
config switch_vlan
option device 'switch0'
option vlan '1'
option vid '1'
option ports '0 1 2 3 5t'
config switch_vlan
option device 'switch0'
option vlan '2'
option ports '4 6t'
option vid '2'
config switch_vlan
option device 'switch0'
option vlan '3'
option vid '10'
option ports '0t 5t'
config switch_vlan
option device 'switch0'
option vlan '4'
option vid '100'
option ports '0t 5t'
config interface 'vlan10'
option proto 'static'
option ifname 'eth0.10'
option ipaddr '10.201.169.0'
option netmask '255.255.255.192'
config interface 'vlan100'
option proto 'static'
option ifname 'eth0.100'
option ipaddr '10.0.100.1'
option netmask '255.255.255.0'
option gateway '10.0.100.1'
R2 /etc/config/network
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix 'fd1a:2ab9:bf0e::/48'
config interface 'lan'
option type 'bridge'
option proto 'static'
option netmask '255.255.255.0'
option ip6assign '60'
option ipaddr '10.0.0.2'
option gateway '10.0.0.1'
option dns '10.0.0.1'
option ifname 'eth0 eth1'
config interface 'vlan10'
option ifname 'eth0.10 eth1.10'
option proto 'dhcp'
option type 'bridge'
option auto '0'
config interface 'vlan100'
option type 'bridge'
option proto 'dhcp'
option ifname 'eth0.100 eth1.100'
option defaultroute '0'
option auto '0'
The main part to look at here are the settings for interfaces vlan10 and vlan100 on R2. I have bridged the VLANs from eth0 (lan ports) to eth1 (wan port). Keep in mind R2 is functioning as a dumb AP and has LAN/WAN interfaces bridged already and firewall disabled. Interface eth1 on R2 is connected to R1. Using this configuration, I am able to pull a valid IP address for R2 from the DHCP server on R1 (within the IP range I configured for those VLANs), so VLANs 10 and 100 are working between R1 and R2. However, I am not able to connect from any virtual interface configured for VLAN 10 or VLAN 100 on an ESXi guest. I tried static assigning an IP address with no success. I'm not really sure how ESXi assigns VLANs to the outbound packets, but I can capture some traffic with wireshark if anyone thinks it will help diagnose the issue.
EDIT: The article here suggests that ESXi follows the 802.1Q standard.
I am also considering putting down twenty bucks for a cheap "smart" switch to see if I would be able to trunk the VLANs with that. I'm not ready to invest in a robust managed switch when all I really want are VLANs.
As always, any thoughts are appreciated.