On Mon, Oct 5, 2020 at 12:22 PM Scott Seekamp <[email protected]> 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.

>
> Scott
>
> > On Oct 4, 2020, at 17:24, Amarendra Godbole <[email protected]> 
> > 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
> >> <[email protected]> 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
> >>    [email protected]:/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

Reply via email to