Hey,

This should be fixed in current as of r1.199 of src/sys/net/if_vlan.c

Sorry for the inconvenience.

Cheers,
dlg

> On 29 Oct 2019, at 19:49, Zé Loff <zel...@zeloff.org> wrote:
> 
> 
> Hi all
> 
> Some changes in VLAN-related code went into 6.6 and I think some of them
> changed the way the parent interface gets into promiscuous mode.  Let me
> try to explain...
> 
> Our ISP provides internet and VoIP over two separate VLANs (100 and 101,
> respectively).  Our external firewall has two physical interfaces re0,
> and re1, and also does the filtering and NATing for internet, but VoIP
> traffic is transparently forwarded to the VoIP phone.  So it's something
> like this:
> 
> GPON -> re0 -+--> vlan100  -> (PF/NAT) -> vlan90   -+-> re1 -> A switch
>              \-> vlan1010 -> bridge1  -> vlan1011 -/
> 
> The VoIP phone connected to the switch, which does all the appropriate
> tagging and untagging.  re0 and re1 have no IP addresses, neither do the
> vlan1010, vlan1011 and bridge1 virtual interfaces.  The VoIP phone gets
> configured by DHCP, and gets its address (and etc) from the ISP.  All
> interfaces are up, and correctly configured (ifconfigs below).  This
> worked fine up until the 6.6 upgrade.
> 
> Now, if things are left alone, the phone fails to get DHCP replies.
> This can be checked by running "tcpdump -i re1 vlan 101", which clearly
> shows the DHCP requests coming from the phone, but getting no replies.
> Exactly the same is seen on vlan1011 and vlan1010 (i.e. on both sides of
> the bridge1): DHCP requests but no replies.  If tcpdump is run on re0
> ("tcpdump -i re0 vlan 101") then the interface goes into promiscuous
> mode and the DHCP replies start flowing from the ISP and the phone
> finally gets configured.  Crucially, if the "-p" flag is added to
> tcpdump (i.e. not putting the if in promiscuous mode), DHCP fails.
> 
> Is this behaviour intended and, if so, can re0 be configured to stay in
> promiscuous mode without having to do something silly as tcpdump'ing
> into /dev/null?
> 
> Thanks in advance
> Zé
> 
> -- 
> 
> # ifconfig -A
> lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 32768
>        index 5 priority 0 llprio 3
>        groups: lo
>        inet6 ::1 prefixlen 128
>        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
>        inet 127.0.0.1 netmask 0xff000000
> re0: flags=8b43<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> mtu 
> 1500
>        lladdr 00:0d:b9:3c:b0:e8
>        index 1 priority 0 llprio 3
>        media: Ethernet autoselect (1000baseT full-duplex,master)
>        status: active
> re1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 9100
>        lladdr 00:0d:b9:3c:b0:e9
>        index 2 priority 0 llprio 3
>        media: Ethernet autoselect (1000baseT full-duplex,rxpause,txpause)
>        status: active
> re2: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
>        lladdr 00:0d:b9:3c:b0:ea
>        index 3 priority 0 llprio 3
>        media: Ethernet autoselect (10baseT half-duplex)
>        status: no carrier
> enc0: flags=0<>
>        index 4 priority 0 llprio 3
>        groups: enc
>        status: active
> bridge1: flags=41<UP,RUNNING>
>        index 6 llprio 3
>        groups: bridge
>        priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp
>        vlan1011 flags=3<LEARNING,DISCOVER>
>                port 11 ifpriority 0 ifcost 0
>        vlan1010 flags=3<LEARNING,DISCOVER>
>                port 10 ifpriority 0 ifcost 0
>        Addresses (max cache: 100, timeout: 240):
>                00:00:5e:00:01:c9 vlan1010 1 flags=0<>
>                80:5e:c0:12:3f:80 vlan1011 1 flags=0<>
> vlan100: flags=808843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF4> mtu 
> 1500
>        lladdr 00:0d:b9:3c:b0:e8
>        description: WAN
>        index 9 priority 0 llprio 3
>        encap: vnetid 100 parent re0 txprio packet rxprio outer
>        groups: vlan egress
>        media: Ethernet autoselect (1000baseT full-duplex,master)
>        status: active
>        inet 148.69.164.57 netmask 0xfffffc00 broadcast 148.69.167.255
>        inet 148.69.143.1 netmask 0xfffffffc broadcast 148.69.143.3
> vlan1010: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
>        lladdr 00:0d:b9:3c:b0:e8
>        description: VoIP WAN
>        index 10 priority 0 llprio 3
>        encap: vnetid 101 parent re0 txprio packet rxprio outer
>        groups: vlan
>        media: Ethernet autoselect (1000baseT full-duplex,master)
>        status: active
> vlan1011: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
>        lladdr 00:0d:b9:3c:b0:e9
>        description: VoIP DMZ
>        index 11 priority 0 llprio 3
>        encap: vnetid 101 parent re1 txprio packet rxprio outer
>        groups: vlan
>        media: Ethernet autoselect (1000baseT full-duplex,rxpause,txpause)
>        status: active
> vlan90: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 9000
>        lladdr 00:0d:b9:3c:b0:e9
>        description: DMZ
>        index 14 priority 0 llprio 3
>        encap: vnetid 90 parent re1 txprio packet rxprio outer
>        groups: vlan
>        media: Ethernet autoselect (1000baseT full-duplex,rxpause,txpause)
>        status: active
>        inet 10.17.16.1 netmask 0xfffffe00 broadcast 10.17.17.255
> pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33136
>        index 15 priority 0 llprio 3
>        groups: pflogDear sirs
> 
> 
> # dmesg
> 
> OpenBSD 6.6 (GENERIC.MP) #372: Sat Oct 12 10:56:27 MDT 2019
>    dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> real mem = 2098511872 (2001MB)
> avail mem = 2022256640 (1928MB)
> mpath0 at root
> scsibus0 at mpath0: 256 targets
> mainbus0 at root
> bios0 at mainbus0: SMBIOS rev. 2.7 @ 0x7e16d820 (6 entries)
> bios0: vendor coreboot version "SageBios_PCEngines_APU-45" date 04/05/2014
> bios0: PC Engines APU
> acpi0 at bios0: ACPI 4.0
> acpi0: sleep states S0 S1 S3 S4 S5
> acpi0: tables DSDT FACP SPCR HPET APIC HEST SSDT SSDT SSDT
> acpi0: wakeup devices AGPB(S4) HDMI(S4) PBR4(S4) PBR5(S4) PBR6(S4) PBR7(S4) 
> PE20(S4) PE21(S4) PE22(S4) PE23(S4) PIBR(S4) UOH1(S3) UOH2(S3) UOH3(S3) 
> UOH4(S3) UOH5(S3) [...]
> acpitimer0 at acpi0: 3579545 Hz, 32 bits
> acpihpet0 at acpi0: 14318180 Hz
> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
> cpu0 at mainbus0: apid 0 (boot processor)
> cpu0: AMD G-T40E Processor, 1000.14 MHz, 14-02-00
> cpu0: 
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,MWAIT,SSSE3,CX16,POPCNT,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,IBS,SKINIT,ITSC
> cpu0: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 512KB 
> 64b/line 16-way L2 cache
> cpu0: 8 4MB entries fully associative
> cpu0: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
> cpu0: smt 0, core 0, package 0
> mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
> cpu0: apic clock running at 199MHz
> cpu0: mwait min=64, max=64, IBE
> cpu1 at mainbus0: apid 1 (application processor)
> cpu1: AMD G-T40E Processor, 1000.01 MHz, 14-02-00
> cpu1: 
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,MWAIT,SSSE3,CX16,POPCNT,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,IBS,SKINIT,ITSC
> cpu1: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 512KB 
> 64b/line 16-way L2 cache
> cpu1: 8 4MB entries fully associative
> cpu1: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
> cpu1: smt 0, core 1, package 0
> ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 21, 24 pins
> acpiprt0 at acpi0: bus 0 (PCI0)
> acpiprt1 at acpi0: bus -1 (AGPB)
> acpiprt2 at acpi0: bus -1 (HDMI)
> acpiprt3 at acpi0: bus 1 (PBR4)
> acpiprt4 at acpi0: bus 2 (PBR5)
> acpiprt5 at acpi0: bus 3 (PBR6)
> acpiprt6 at acpi0: bus -1 (PBR7)
> acpiprt7 at acpi0: bus 5 (PE20)
> acpiprt8 at acpi0: bus -1 (PE21)
> acpiprt9 at acpi0: bus -1 (PE22)
> acpiprt10 at acpi0: bus -1 (PE23)
> acpiprt11 at acpi0: bus 4 (PIBR)
> acpicpu0 at acpi0: C2(0@100 io@0x841), C1(@1 halt!), PSS
> acpicpu1 at acpi0: C2(0@100 io@0x841), C1(@1 halt!), PSS
> acpipci0 at acpi0 PCI0: 0x00000000 0x00000011 0x00000001
> acpicmos0 at acpi0
> acpibtn0 at acpi0: PWRB
> cpu0: 1000 MHz: speeds: 1000 800 MHz
> pci0 at mainbus0 bus 0
> pchb0 at pci0 dev 0 function 0 "AMD AMD64 14h Host" rev 0x00
> ppb0 at pci0 dev 4 function 0 "AMD AMD64 14h PCIE" rev 0x00: msi
> pci1 at ppb0 bus 1
> re0 at pci1 dev 0 function 0 "Realtek 8168" rev 0x06: RTL8168E/8111E 
> (0x2c00), msi, address 00:0d:b9:3c:b0:e8
> rgephy0 at re0 phy 7: RTL8169S/8110S/8211 PHY, rev. 4
> ppb1 at pci0 dev 5 function 0 "AMD AMD64 14h PCIE" rev 0x00: msi
> pci2 at ppb1 bus 2
> re1 at pci2 dev 0 function 0 "Realtek 8168" rev 0x06: RTL8168E/8111E 
> (0x2c00), msi, address 00:0d:b9:3c:b0:e9
> rgephy1 at re1 phy 7: RTL8169S/8110S/8211 PHY, rev. 4
> ppb2 at pci0 dev 6 function 0 "AMD AMD64 14h PCIE" rev 0x00: msi
> pci3 at ppb2 bus 3
> re2 at pci3 dev 0 function 0 "Realtek 8168" rev 0x06: RTL8168E/8111E 
> (0x2c00), msi, address 00:0d:b9:3c:b0:ea
> rgephy2 at re2 phy 7: RTL8169S/8110S/8211 PHY, rev. 4
> ahci0 at pci0 dev 17 function 0 "ATI SBx00 SATA" rev 0x40: apic 2 int 19, 
> AHCI 1.2
> scsibus1 at ahci0: 32 targets
> ohci0 at pci0 dev 18 function 0 "ATI SB700 USB" rev 0x00: apic 2 int 18, 
> version 1.0, legacy support
> ehci0 at pci0 dev 18 function 2 "ATI SB700 USB2" rev 0x00: apic 2 int 17
> usb0 at ehci0: USB revision 2.0
> uhub0 at usb0 configuration 1 interface 0 "ATI EHCI root hub" rev 2.00/1.00 
> addr 1
> ohci1 at pci0 dev 19 function 0 "ATI SB700 USB" rev 0x00: apic 2 int 18, 
> version 1.0, legacy support
> ehci1 at pci0 dev 19 function 2 "ATI SB700 USB2" rev 0x00: apic 2 int 17
> usb1 at ehci1: USB revision 2.0
> uhub1 at usb1 configuration 1 interface 0 "ATI EHCI root hub" rev 2.00/1.00 
> addr 1
> piixpm0 at pci0 dev 20 function 0 "ATI SBx00 SMBus" rev 0x42: polling
> iic0 at piixpm0
> pcib0 at pci0 dev 20 function 3 "ATI SB700 ISA" rev 0x40
> ppb3 at pci0 dev 20 function 4 "ATI SB600 PCI" rev 0x40
> pci4 at ppb3 bus 4
> ohci2 at pci0 dev 20 function 5 "ATI SB700 USB" rev 0x00: apic 2 int 18, 
> version 1.0, legacy support
> ppb4 at pci0 dev 21 function 0 "ATI SB800 PCIE" rev 0x00
> pci5 at ppb4 bus 5
> ohci3 at pci0 dev 22 function 0 "ATI SB700 USB" rev 0x00: apic 2 int 18, 
> version 1.0, legacy support
> ehci2 at pci0 dev 22 function 2 "ATI SB700 USB2" rev 0x00: apic 2 int 17
> usb2 at ehci2: USB revision 2.0
> uhub2 at usb2 configuration 1 interface 0 "ATI EHCI root hub" rev 2.00/1.00 
> addr 1
> pchb1 at pci0 dev 24 function 0 "AMD AMD64 14h Link Cfg" rev 0x43
> pchb2 at pci0 dev 24 function 1 "AMD AMD64 14h Address Map" rev 0x00
> pchb3 at pci0 dev 24 function 2 "AMD AMD64 14h DRAM Cfg" rev 0x00
> km0 at pci0 dev 24 function 3 "AMD AMD64 14h Misc Cfg" rev 0x00
> pchb4 at pci0 dev 24 function 4 "AMD AMD64 14h CPU Power" rev 0x00
> pchb5 at pci0 dev 24 function 5 "AMD AMD64 14h Reserved" rev 0x00
> pchb6 at pci0 dev 24 function 6 "AMD AMD64 14h NB Power" rev 0x00
> pchb7 at pci0 dev 24 function 7 "AMD AMD64 14h Reserved" rev 0x00
> usb3 at ohci0: USB revision 1.0
> uhub3 at usb3 configuration 1 interface 0 "ATI OHCI root hub" rev 1.00/1.00 
> addr 1
> usb4 at ohci1: USB revision 1.0
> uhub4 at usb4 configuration 1 interface 0 "ATI OHCI root hub" rev 1.00/1.00 
> addr 1
> isa0 at pcib0
> isadma0 at isa0
> com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
> com0: console
> com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
> pcppi0 at isa0 port 0x61
> spkr0 at pcppi0
> lpt0 at isa0 port 0x378/4 irq 7
> wbsio0 at isa0 port 0x2e/2: NCT5104D rev 0x52
> usb5 at ohci2: USB revision 1.0
> uhub5 at usb5 configuration 1 interface 0 "ATI OHCI root hub" rev 1.00/1.00 
> addr 1
> usb6 at ohci3: USB revision 1.0
> uhub6 at usb6 configuration 1 interface 0 "ATI OHCI root hub" rev 1.00/1.00 
> addr 1
> vmm0 at mainbus0: SVM/RVI
> umass0 at uhub2 port 1 configuration 1 interface 0 "Generic Flash Card 
> Reader/Writer" rev 2.01/1.00 addr 2
> umass0: using SCSI over Bulk-Only
> scsibus2 at umass0: 2 targets, initiator 0
> sd0 at scsibus2 targ 1 lun 0: <Multiple, Card Reader, 1.00> removable 
> serial.058f6366058F63666485
> sd0: 7580MB, 512 bytes/sector, 15523840 sectors
> vscsi0 at root
> scsibus3 at vscsi0: 256 targets
> softraid0 at root
> scsibus4 at softraid0: 256 targets
> root on sd0a (72bb3d52a1af2d9b.a) swap on sd0b dump on sd0b
> 

Reply via email to