Skip to content

Conversation

@brada4
Copy link

@brada4 brada4 commented May 25, 2025

Add explicit l4proto match before _ifname to avoid burning cycles for other protocols, eliminating measurable (iperf3) udp re-ordering Displayed back rules show pessimal combo even new one is loaded.

Fixes: couple of issues pertaining UDP ordering in games and cheap loudspeakers TBA
Signed-off-by: Andris PE neandris@gmail.com

Add explicit l4proto match before _ifname to avoid burning cycles for
other protocols, eliminating measurable (iperf3) udp re-ordering
Displayed back rules show pessimal combo even new one is loaded.

Signed-off-by: Andris PE <neandris@gmail.com>
@brada4
Copy link
Author

brada4 commented May 25, 2025

in

table inet t {
chain c {
oifname "eth1" tcp flags & (fin | syn | rst) == syn tcp option maxseg size set rt mtu
meta l4proto tcp oifname "eth1" tcp flags & (fin | syn | rst) == syn tcp option maxseg size set rt mtu
}
}

out

inet t c
  [ meta load oifname => reg 1 ]
  [ cmp eq reg 1 0x31687465 0x00000000 0x00000000 0x00000000 ]
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
...
inet t c
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ meta load oifname => reg 1 ]
  [ cmp eq reg 1 0x31687465 0x00000000 0x00000000 0x00000000 ]
...

@brada4
Copy link
Author

brada4 commented May 31, 2025

Kind of still sucks for tcp established connections.

@Djfe
Copy link

Djfe commented Jun 12, 2025

do you mean by that that this is just a workaround?

@brada4
Copy link
Author

brada4 commented Jun 12, 2025

tcp mss fix will still do the name comparison for each tcp packet. This just removes useless check for measurably bad offloaded udp streams. just a side observation in the context.

@brada4 brada4 marked this pull request as draft June 19, 2025 11:26
@brada4
Copy link
Author

brada4 commented Jun 19, 2025

Swapped to draft, i got better idea, but this is still minimally intrusive for stable trains

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants