8000 router: afpacket udp underlay (WIP) by jiceatscion · Pull Request #4763 · scionproto/scion · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

router: afpacket udp underlay (WIP) #4763

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 27 commits into
base: master
Choose a base branch
from

Conversation

jiceatscion
Copy link
Contributor
@jiceatscion jiceatscion commented May 5, 2025

the afpudpip underlay is interchangeable with the udpip underlay but uses af_packet sockets instead of udp sockets. The only expected difference is performance. As a result, both afpudpip and udpip underlays register themselves with the name "udpip". There is now a precedence field that allows afpudpip, when available, to supercede udpip.

@jiceatscion
Copy link
Contributor Author

This change is Reviewable

jiceatscion and others added 7 commits May 5, 2025 17:20
Added another filter. Needed to ensure that the kernel does not
do any processing on the packets received by the raw socket.
Expensive stuff would otherwise result (e.g. icmp responses).
Also ditched the PacketSource and Packets() channel. It's too buggy even for
us in tests (crashes after closing the afp).

Added draining for afp once filter is set. Else we get stray packets, which
confuses the test. Did the same in the afp undelay.
@jiceatscion jiceatscion changed the title Checkpointing. router: afpacket udp underlay (WIP) May 9, 2025
jiceatscion and others added 19 commits May 9, 2025 18:31
< 8000 a href="/scionproto/scion/pull/4763/commits/bb0c07ee525016b058979ab2bf51f838e11ff3ad" class="Link--secondary">bb0c07e
Comments, debug stmt and useless error return.
Now passes the benchmark.
Not quite sure what difference it makes, but it sure isn't an sh_test.
In passing added some facility for short debug runs.
This is a feable attempt at making it at least slightly faster than the router.
We used to require more than 3% packet drop. We are now content with 3% or more.
Had to rearrange the code a tiny bit.
In passing, attempting to add the needed capabilities to the router
in integration tests besides the router benchmark.
In passing. Fixed another missing space in router_multi test script.
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.

1 participant
0