-
Notifications
You must be signed in to change notification settings - Fork 4k
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
Send repairman shreds to the repair socket #6671
Send repairman shreds to the repair socket #6671
Conversation
Codecov Report
@@ Coverage Diff @@
## master #6671 +/- ##
========================================
+ Coverage 68.1% 70.2% +2%
========================================
Files 220 213 -7
Lines 47864 46480 -1384
========================================
+ Hits 32638 32656 +18
+ Misses 15226 13824 -1402 |
@sagar-solana this is easily broken. Any validators can change this code and send the shreds to a different socket. We need to do a turbine path check and mark the packet as sent. |
Yeah this obviously doesn't fix the security aspect that we're already aware of. It also doesn't make it worse. It does however help with some of the networking issues we've had. I feel like we need this now and when we have the turbine path lookup we can fix it. Also repairman clearly needs its own thing since it's targeted. It's only for this node and should not be turbine bound in anyway. For now since we already filter out repair responses, the fix was to send repairman shreds to the same addr. |
Is there a security issue tracking it? Can you make it a blocker for slp1? It would be trivial to dos the network otherwise and no way to detect it. |
@aeyakovenko done! |
Does this look ok for the time being @aeyakovenko ? |
(cherry picked from commit 2d67962)
Problem
Repairman protocol sends shreds to a node's TVU. The node then sends those shreds through Turbine causing unnecessary packet duplication and traffic.
Summary of Changes
Advertise the repair socket in Contact Info. Send repairman responses to the repair socket so that Validators don't send them through turbine again.