You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee=Noneclosed_at=<Date2019-06-24.09:59:46.086>created_at=<Date2019-06-20.06:35:47.354>labels= ['type-feature', 'library', '3.9']
title='Add formal support for UDPLITE protocol'updated_at=<Date2019-06-24.09:59:46.085>user='https://github.com/gappleto97'
At the moment you can definitely use UDPLITE sockets on Linux systems, but it would be good if this support were formalized such that you can detect support at runtime easily.
At the moment, to make and use a UDPLITE socket requires something like the following code:
Adding new constants like socket.IPPROTO_UDPLITE is fine.
The question is: why we need a new function?
There is no set_send_checksum_coverage() on C level IIRC
gappleto97 commented on Jun 20, 2019
gappleto97mannequin
MannequinAuthor
More actions
Its true that this doesnt exist at the C level, however I worry that having it purely through getsockopt() and setsockopt() would make things more confusing, so I added it as a helper function.
I can remove it in lieu of documentation if that would block merging, though I dont think that is the right move here.
Adding new constants like socket.IPPROTO_UDPLITE is fine.
The question is: why we need a new function?
There is no set_send_checksum_coverage() on C level IIRC
We have no setsockopt() shortcut helpers.
socket.setblocking() uses fcntl() internally.
gappleto97 commented on Jun 21, 2019
gappleto97mannequin
MannequinAuthor
More actions
I just want to be explicit so I don't mess up on protocol, since I am new to this project. Does that mean that you want me to remove the helper function and put documentation in about that sockopt, or that an exception could be made in this case?
I didn't realize that when I submitted this the first time, but I corrected that in the documentation when someone else removed it from the tags. If I re-added it it was by mistake. I notice that my browser had that auto-highlighted. Should be fixed now.
Activity
gappleto97 commentedon Jun 20, 2019
At the moment you can definitely use UDPLITE sockets on Linux systems, but it would be good if this support were formalized such that you can detect support at runtime easily.
At the moment, to make and use a UDPLITE socket requires something like the following code:
If you look at this through Wireshark, you can see that the packets are different in that the checksums and checksum coverages change.
With the pull request that I am submitting momentarily, you could do the following code instead:
One can also detect support for UDPLITE just by checking
asvetlov commentedon Jun 20, 2019
Adding new constants like socket.IPPROTO_UDPLITE is fine.
The question is: why we need a new function?
There is no set_send_checksum_coverage() on C level IIRC
gappleto97 commentedon Jun 20, 2019
Its true that this doesnt exist at the C level, however I worry that having it purely through getsockopt() and setsockopt() would make things more confusing, so I added it as a helper function.
I can remove it in lieu of documentation if that would block merging, though I dont think that is the right move here.
On June 20, 2019 10:54:58 AM UTC, Andrew Svetlov <report@bugs.python.org> wrote:
asvetlov commentedon Jun 21, 2019
We have no setsockopt() shortcut helpers.
socket.setblocking() uses fcntl() internally.
gappleto97 commentedon Jun 21, 2019
I just want to be explicit so I don't mess up on protocol, since I am new to this project. Does that mean that you want me to remove the helper function and put documentation in about that sockopt, or that an exception could be made in this case?
asvetlov commentedon Jun 21, 2019
Sorry.
Please drop helper methods but keep IPPROTO_UDPLITE, UDPLITE_SEND_CSCOV, UDPLITE_RECV_CSCOV constants.
gappleto97 commentedon Jun 22, 2019
Okay, I removed the helper functions and added some additional documentation. Does that look okay now?
[-]Add formal support for UDPLITE protococl[/-][+]Add formal support for UDPLITE protocol[/+]asvetlov commentedon Jun 22, 2019
3.8 is in beta stage, public API is frozen
gappleto97 commentedon Jun 22, 2019
I didn't realize that when I submitted this the first time, but I corrected that in the documentation when someone else removed it from the tags. If I re-added it it was by mistake. I notice that my browser had that auto-highlighted. Should be fixed now.
miss-islington commentedon Jun 24, 2019
New changeset 2ac3bab by Miss Islington (bot) (Gabe Appleton) in branch 'master':
bpo-37345: Add formal UDPLITE support (GH-14258)
2ac3bab