On Wed, Oct 7, 2020 at 10:37 PM Aaron Mason <simplersolut...@gmail.com> wrote: > > On Mon, Oct 5, 2020 at 12:22 PM Scott Seekamp <sseek...@risei.net> wrote: > > > > I had a similar speed drop on an Edge Router 4. I don’t know if it’s the > > same situation on the Lite, but I believe it’s expected due to hardware > > acceleration support (or lack of) and single core performance on the pf > > side. > > I read somewhere that this drop can happen even with the factory OS - > the routing is handled by an ASIC (which is how they push near-gigabit > forwarding speeds) but if you do any sort of filtering, it falls back > to software routing. Since the ASIC is black box voodoo, OpenBSD will > always use the CPU for routing.
The more I read on Ubiquiti ERL, I realize this may indeed be the case -- "hardware offloading" is what they call it. See https://help.ui.com/hc/en-us/articles/115006567467-EdgeRouter-Hardware-Offloading Thanks. -Amarendra > > Scott > > > > > On Oct 4, 2020, at 17:24, Amarendra Godbole <amarendra.godb...@gmail.com> > > > wrote: > > > > > > Sorry I forgot including "ifconfig" output: > > > > > > 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 > > > > > > cnmac0: flags=808843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF4> > > > mtu 1500 > > > lladdr a8:28:dc:cc:2e:6f > > > index 1 priority 0 llprio 3 > > > groups: egress > > > media: Ethernet autoselect (1000baseT full-duplex,master) > > > status: active > > > inet 73.xx.xx.xx netmask 0xfffffe00 broadcast 73.xx.xx.255 > > > > > > cnmac1: > > > flags=8b43<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> > > > mtu 1500 > > > lladdr 78:8a:20:46:a8:c1 > > > index 2 priority 0 llprio 3 > > > media: Ethernet autoselect (1000baseT full-duplex) > > > status: active > > > > > > cnmac2: > > > flags=8b43<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> > > > mtu 1500 > > > lladdr 78:8a:20:46:a8:c2 > > > index 3 priority 0 llprio 3 > > > media: Ethernet autoselect (none) > > > status: no carrier > > > enc0: flags=0<> > > > index 4 priority 0 llprio 3 > > > groups: enc > > > status: active > > > > > > bridge0: flags=41<UP,RUNNING> > > > index 6 llprio 3 > > > groups: bridge > > > priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp > > > cnmac2 flags=7<LEARNING,DISCOVER,BLOCKNONIP> > > > port 3 ifpriority 0 ifcost 0 > > > cnmac1 flags=7<LEARNING,DISCOVER,BLOCKNONIP> > > > port 2 ifpriority 0 ifcost 0 > > > vether0 flags=7<LEARNING,DISCOVER,BLOCKNONIP> > > > port 7 ifpriority 0 ifcost 0 > > > > > > vether0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu > > > 1500 > > > lladdr fe:e1:ba:d0:c8:a9 > > > index 7 priority 0 llprio 3 > > > groups: vether > > > media: Ethernet autoselect > > > status: active > > > inet 192.168.10.1 netmask 0xffffff00 broadcast 192.168.10.255 > > > > > > pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33136 > > > index 8 priority 0 llprio 3 > > > groups: pflog > > > > > >> On Sun, Oct 4, 2020 at 2:22 PM Amarendra Godbole > > >> <amarendra.godb...@gmail.com> wrote: > > >> > > >> Hi misc@ > > >> > > >> I recently introduced an OpenBSD firewall inline and noticed a > > >> reduction in overall download speeds. I am trying to understand why > > >> this may be so. The firewall is Ubiquiti ERL running 6.7 release. > > >> Internet connection is Comcast xfinity via cable modem, plan 200 > > >> Mbits/s down and 10 Mbits/s up. Details follow: > > >> > > >> 1. config #1: MacBook - Linksys WRT1200AC - xfinity cable modem > > >> (speed: ~210 Mbits/s down, 6 Mbits/s up) > > >> 2. config #2: MacBook - Linksys WRT1200AC - Ubiquiti ERL - xfinity > > >> cable modem (speed: ~90 MBits down, 6 Mbits/s up) > > >> 3. config #3 (Line speed): MacBook wired to cable modem (~230 Mbits/s > > >> down, ~8 Mbits/s up). > > >> > > >> Linksys is running latest OpenWrt, and speed tests were run on MacBook > > >> connected wired to Linksys. It was difficult to try tcpbench since the > > >> setup was cumbersome, and iperf3 public servers end up being busy more > > >> often than not (and threads on misc@ indicated iperf3 wasn't as > > >> reliable either). Test numbers come from speedtest.net and > > >> speed.cloudflare.com. While I realize this speed test is hardly > > >> accurate, I have tried to maintain the same configuration (no ERL and > > >> inline ERL) to obtain relative numbers. > > >> > > >> I am trying to understand the reduction from 210 Mbits/s down to 90 > > >> Mbits/s down between config #1 and config #2 above. The slowdown is > > >> not noticeable to family, so this is more of my intellectual curiosity > > >> than screams over a buffering video! :-) > > >> > > >> Relevant system information (dmesg, etc.) below. All sysctl values > > >> attached as sysctl.txt I gathered it by reading similar threads on > > >> misc@. If I missed anything, please let me know. Thanks in advance. > > >> > > >> -Amarendra > > >> > > >> > > >> dmesg: > > >> > > >> Copyright (c) 1982, 1986, 1989, 1991, 1993 > > >> The Regents of the University of California. All rights reserved. > > >> Copyright (c) 1995-2020 OpenBSD. All rights reserved. > > >> https://www.OpenBSD.org > > >> OpenBSD 6.7 (GENERIC.MP) #134: Thu May 7 16:05:06 MDT 2020 > > >> dera...@octeon.openbsd.org:/usr/src/sys/arch/octeon/compile/GENERIC.MP > > >> real mem = 536870912 (512MB) > > >> avail mem = 506740736 (483MB) > > >> mainbus0 at root: board 20002 rev 2.18 > > >> cpu0 at mainbus0: CN50xx CPU rev 0.1 500 MHz, Software FP emulation > > >> cpu0: cache L1-I 32KB 4 way D 16KB 64 way, L2 128KB 8 way > > >> cpu1 at mainbus0: CN50xx CPU rev 0.1 500 MHz, Software FP emulation > > >> cpu1: cache L1-I 32KB 4 way D 16KB 64 way, L2 128KB 8 way > > >> clock0 at mainbus0: int 5 > > >> octcrypto0 at mainbus0 > > >> iobus0 at mainbus0 > > >> simplebus0 at iobus0: "soc" > > >> octciu0 at simplebus0 > > >> octsmi0 at simplebus0 > > >> octpip0 at simplebus0 > > >> octgmx0 at octpip0 interface 0 > > >> cnmac0 at octgmx0: RGMII, address 78:8a:20:46:a8:c0 > > >> atphy0 at cnmac0 phy 7: AR8035 10/100/1000 PHY, rev. 2 > > >> cnmac1 at octgmx0: RGMII, address 78:8a:20:46:a8:c1 > > >> atphy1 at cnmac1 phy 6: AR8035 10/100/1000 PHY, rev. 2 > > >> cnmac2 at octgmx0: RGMII, address 78:8a:20:46:a8:c2 > > >> atphy2 at cnmac2 phy 5: AR8035 10/100/1000 PHY, rev. 2 > > >> com0 at simplebus0: ns16550a, 64 byte fifo > > >> com0: console > > >> dwctwo0 at iobus0 base 0x1180068000000 irq 56 > > >> usb0 at dwctwo0: USB revision 2.0 > > >> uhub0 at usb0 configuration 1 interface 0 "Octeon DWC2 root hub" rev > > >> 2.00/1.00 addr 1 > > >> octrng0 at iobus0 base 0x1400000000000 irq 0 > > >> /dev/ksyms: Symbol table not valid. > > >> umass0 at uhub0 port 1 configuration 1 interface 0 "Lexar USB Flash > > >> Drive" rev 2.10/11.00 addr 2 > > >> umass0: using SCSI over Bulk-Only > > >> scsibus0 at umass0: 2 targets, initiator 0 > > >> sd0 at scsibus0 targ 1 lun 0: <Lexar, USB Flash Drive, 1100> removable > > >> serial.21c40cd1719080003000 > > >> sd0: 30526MB, 512 bytes/sector, 62517248 sectors > > >> vscsi0 at root > > >> scsibus1 at vscsi0: 256 targets > > >> softraid0 at root > > >> scsibus2 at softraid0: 256 targets > > >> boot device: sd0 > > >> root on sd0a (2124441bc835a462.a) swap on sd0b dump on sd0b > > >> WARNING: No TOD clock, believing file system. > > >> WARNING: CHECK AND RESET THE DATE! > > >> > > >> > > >> pftcl -s: > > >> > > >> match in all scrub (no-df random-id max-mss 1440) > > >> block drop in quick on ! cnmac0 inet from xx.xx.xx.xx/23 to any > > >> block drop in quick inet from xx.xx.xx.xx to any > > >> block drop all > > >> pass out quick on egress inet from (vether0:network) to any flags S/SA > > >> nat-to (egress) round-robin > > >> pass out quick inet all flags S/SA > > >> pass in on vether0 inet all flags S/SA > > >> pass in on cnmac1 inet all flags S/SA > > >> pass in on cnmac2 inet all flags S/SA > > >> > > >> pfctl -si: > > >> > > >> Status: Enabled for 3 days 18:14:11 Debug: err > > >> > > >> Interface Stats for egress IPv4 IPv6 > > >> > > >> Bytes In 64537867779 0 > > >> Bytes Out 7005140381 0 > > >> Packets In > > >> Passed 56024370 0 > > >> Blocked 43050 0 > > >> Packets Out > > >> Passed 22271061 0 > > >> Blocked 0 0 > > >> > > >> State Table Total Rate > > >> current entries 847 > > >> half-open tcp 23 > > >> searches 158989755 489.4/s > > >> inserts 1095307 3.4/s > > >> removals 1094460 3.4/s > > >> Counters > > >> match 1343178 4.1/s > > >> bad-offset 0 0.0/s > > >> fragment 0 0.0/s > > >> short 1 0.0/s > > >> normalize 0 0.0/s > > >> memory 0 0.0/s > > >> bad-timestamp 0 0.0/s > > >> congestion 41 0.0/s > > >> ip-option 26164 0.1/s > > >> proto-cksum 0 0.0/s > > >> state-mismatch 10758 0.0/s > > >> state-insert 0 0.0/s > > >> state-limit 0 0.0/s > > >> src-limit 0 0.0/s > > >> synproxy 0 0.0/s > > >> translate 0 0.0/s > > >> no-route 0 0.0/s > > >> > > >> pfctl -s memory: > > >> > > >> states hard limit 100000 > > >> src-nodes hard limit 10000 > > >> frags hard limit 16384 > > >> tables hard limit 1000 > > >> table-entries hard limit 200000 > > >> pktdelay-pkts hard limit 10000 > > >> > > >> The netlivlocks value keeps on increasing regularly: > > >> kern.netlivelocks=57911 > > >> > > >> netstat -m: > > >> > > >> 1009 mbufs in use: > > >> 917 mbufs allocated to data > > >> 5 mbufs allocated to packet headers > > >> 87 mbufs allocated to socket names and addresses > > >> 801/7256 mbuf 2048 byte clusters in use (current/peak) > > >> 0/15 mbuf 2112 byte clusters in use (current/peak) > > >> 0/24 mbuf 4096 byte clusters in use (current/peak) > > >> 0/8 mbuf 8192 byte clusters in use (current/peak) > > >> 0/0 mbuf 9216 byte clusters in use (current/peak) > > >> 0/0 mbuf 12288 byte clusters in use (current/peak) > > >> 0/0 mbuf 16384 byte clusters in use (current/peak) > > >> 0/8 mbuf 65536 byte clusters in use (current/peak) > > >> 6512/17088/131072 Kbytes allocated to network (current/peak/max) > > >> 0 requests for memory denied > > >> 0 requests for memory delayed > > >> 0 calls to protocol drain routines > > >> > > >> netstat -i: > > >> > > >> Name Mtu Network Address Ipkts Ifail Opkts > > >> Ofail Colls > > >> lo0 32768 <Link> 198 0 198 > > >> 0 0 > > >> lo0 32768 localhost/1 localhost 198 0 198 > > >> 0 0 > > >> lo0 32768 fe80::%lo0/ fe80::1%lo0 198 0 198 > > >> 0 0 > > >> lo0 32768 127/8 localhost 198 0 198 > > >> 0 0 > > >> cnmac0 1600 <Link> a8:28:dc:cc:2e:6f 56088774 0 22283491 > > >> 2688 0 > > >> cnmac0 1600 73.231.60/2 c-73-231-60-128.h 56088774 0 22283491 > > >> 2688 0 > > >> cnmac1 1600 <Link> 78:8a:20:46:a8:c1 23646497 4 56569853 > > >> 48 0 > > >> cnmac2 1600 <Link> 78:8a:20:46:a8:c2 14823 0 226198 > > >> 226198 0 > > >> enc0* 0 <Link> 0 0 0 > > >> 0 0 > > >> bridge0 1500 <Link> 23187238 0 57022219 > > >> 0 0 > > >> vether0 32768 <Link> fe:e1:ba:d0:c8:a9 23056709 0 56795991 > > >> 0 0 > > >> vether0 32768 192.168.10/ 192.168.10.1 23056709 0 56795991 > > >> 0 0 > > >> pflog0 33136 <Link> 0 0 26171 > > >> 0 0 > > > > > > > > -- > Aaron Mason - Programmer, open source addict > I've taken my software vows - for beta or for worse >