rust-lang / rust-lang/socket2

support set IP_DONTFRAG

Open
#318 3 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Rust
Stars
870
Forks
305
PR merge metrics
No merged PRs in 30d

Description

see

https://chromium.googlesource.com/chromium/src/net/+/refs/heads/main/socket/udp_socket_posix.cc

 //setsockopt(IP_DONTFRAG)issupportedonmacOSfromBigSur
 #elifBUILDFLAG(IS_MAC)
 if(!base::mac::IsAtLeastOS11()){
 returnERR_NOT_IMPLEMENTED;
 }
 intval=1;
 if(addr_family_==AF_INET6){
 intrv=
 setsockopt(socket_,IPPROTO_IPV6,IPV6_DONTFRAG,&val,sizeof(val));
 //IP_DONTFRAGisnotsupportedonv4mappedaddresses.
 returnrv==0?OK:MapSystemError(errno);
 }
 intrv=setsockopt(socket_,IPPROTO_IP,IP_DONTFRAG,&val,sizeof(val));
 returnrv==0?OK:MapSystemError(errno);
 ```

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the linked Chromium socket/udp_socket_posix.cc implementation and compare its macOS IPv4 and IPv6 handling for IP_DONTFRAG. Then locate the corresponding socket2 option entry point; done means the requested setting is supported with the platform-specific behavior accounted for.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
networking
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.