-
Notifications
You must be signed in to change notification settings - Fork 341
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
add tvu port binding info to docs #4948
base: master
Are you sure you want to change the base?
Conversation
d0edede
to
47e883c
Compare
@gregcusack do you like this? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thank you for putting this together! just a few thoughts. biggest thing is that we should probably differentiate TVU quic and udp sockets. And then somewhere add that TPU is setup somewhat similarly. Although TPU also uses bind_more_with_config
which I believe just enables more connections and ability to distribute load better.
docs/src/validator/tvu.md
Outdated
|
||
## TVU sockets | ||
|
||
Externally, TVU appears to bind to one port, typically 8002 UDP. Internally, TVU is actually bound with multiple sockets |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so we have both UDP and QUIC ports for TVU. Probably makes sense to differentiate these two somewhere. UDP multibind with reuseport works on OS level. For quic tvu, we only bind to one socket. and the multiplexing is done at the protocol level.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
docs/src/validator/tvu.md
Outdated
## TVU sockets | ||
|
||
Externally, TVU appears to bind to one port, typically 8002 UDP. Internally, TVU is actually bound with multiple sockets | ||
to improve kernel's handling of the packet queues. It is setup so that a node can advertise one external ip/port for TVU/TPU. We're binding multiple sockets to the same port using SO_REUSEPORT: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
external ip/port for TVU/TPU.
would maybe leave out TPU inline here. Maybe we can add something right after or even at the top saying TPU runs on similar port management logic
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
added note about TPU
Co-authored-by: Greg Cusack <[email protected]>
docs/src/validator/tvu.md
Outdated
```rust | ||
const SOCKET_TAG_TVU: u8 = 10; // For UDP | ||
const SOCKET_TAG_TVU_QUIC: u8 = 11; // For QUIC | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
```rust | |
const SOCKET_TAG_TVU: u8 = 10; // For UDP | |
const SOCKET_TAG_TVU_QUIC: u8 = 11; // For QUIC | |
```rust | |
const SOCKET_TAG_TVU: u8 = 10; // For UDP | |
const SOCKET_TAG_TVU_QUIC: u8 = 11; // For QUIC |
^ note the missing code block closing "```"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok this formatted weird. but basically, we're missing a ``` at the end of this block, so formatting is weird
Co-authored-by: Greg Cusack <[email protected]>
fd8e765
to
0bcd846
Compare
Summary of Changes