Skip to content
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

patch #10345: Implement IPv6 socket options #22

Open
wants to merge 10 commits into
base: master
Choose a base branch
from

Conversation

nkarstens
Copy link
Contributor

This series of patches implements the following IPv6 socket options:

  • IPV6_UNICAST_HOPS
  • IPV6_MULTICAST_IF
  • IPV6_MULTICAST_HOPS
  • IPV6_MULTICAST_LOOP
  • IPV6_RECVPKTINFO
  • IPV6_RECVHOPLIMIT

Certain other improvements are made along the way.

Note that some of these patches are based on the work in patch #9554, but reduced to bite-sized pieces.

In skimming through some other open patches it looks like some of this work may be similar to:

nkarstens and others added 10 commits October 4, 2023 10:07
Implements the IPV6_UNICAST_HOPS socket option, which sets
the hop limit for outgoing unicast IPv6 packets.

Based on work from https://savannah.nongnu.org/patch/?9554

Co-authored-by: Christina Schoenrogge <christina.schoenrogge@garmin.com>
Co-authored-by: Chee Bin Hoh <hohcheebin@gmail.com>
Co-authored-by: hanhui <hanhui03@163.com>
Implements the IPV6_MULTICAST_IF socket option, which
specifies the interface for outgoing multicast packets.

Based on work from https://savannah.nongnu.org/patch/?9554

Co-authored-by: Christina Schoenrogge <christina.schoenrogge@garmin.com>
Co-authored-by: Chee Bin Hoh <hohcheebin@gmail.com>
Co-authored-by: hanhui <hanhui03@163.com>
Changes two IPv4 multicast socket options to use the
LWIP_SOCKOPT_CHECK_OPTLEN_CONN_PCB_TYPE macro.
Implements the IPV6_MULTICAST_HOPS socket option, which sets
the hop limit for outgoing multicast packets.

Also fixes debug message in getsockopt for IP_MULTICAST_TTL.

Based on work from https://savannah.nongnu.org/patch/?9554

Co-authored-by: Christina Schoenrogge <christina.schoenrogge@garmin.com>
Co-authored-by: Chee Bin Hoh <hohcheebin@gmail.com>
Co-authored-by: hanhui <hanhui03@163.com>
Changes getsockopt handling for IP_MULTICAST_LOOP to
test for UDP and use macro. Also fixes debug message.
Implements the IPV6_MULTICAST_LOOP socket option, which controls
if a copy of the packet is looped back for local delivery.
Changes setsockopt handling of IP_PKTINFO to use the provided macros.
Implements the IPV6_RECVPKTINFO socket option for receiving ancillary
data about an IPv6 packet.

Also fixes an issue where the interface index was not being copied
and updates IP_PKTINFO flag to use netconn flags macros.

Based on work from https://savannah.nongnu.org/patch/?9554

Co-authored-by: Christina Schoenrogge <christina.schoenrogge@garmin.com>
Co-authored-by: Joseph Huang <joseph.huang@garmin.com>
Co-authored-by: Chee Bin Hoh <hohcheebin@gmail.com>
Co-authored-by: hanhui <hanhui03@163.com>
RFC5952 section 4.3 requires text representations
of IPv6 addresses to use lower case.

Co-authored-by: Chee Bin Hoh <hohcheebin@gmail.com>
Implements the IPV6_RECVHOPLIMIT socket option for receiving the hop
limit in the IPv6 packet.

Based on work from https://savannah.nongnu.org/patch/?9554

Co-authored-by: Christina Schoenrogge <christina.schoenrogge@garmin.com>
Co-authored-by: hanhui <hanhui03@163.com>
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