Page MenuHomeFreeBSD

netinet6: factor interface addition code to the dedicated function
ClosedPublic

Authored by melifaro on Sep 26 2022, 1:51 PM.
Tags
None
Referenced Files
Unknown Object (File)
Nov 6 2024, 11:51 PM
Unknown Object (File)
Oct 10 2024, 7:40 AM
Unknown Object (File)
Oct 10 2024, 7:25 AM
Unknown Object (File)
Oct 10 2024, 7:25 AM
Unknown Object (File)
Oct 4 2024, 12:54 AM
Unknown Object (File)
Oct 3 2024, 3:01 PM
Unknown Object (File)
Sep 27 2024, 1:05 PM
Unknown Object (File)
Sep 24 2024, 11:23 PM
Subscribers

Details

Summary

Move SIOCAIFADDR_IN6 (current "primary" ioctl to add an IPv6 interface address) handling code to the dedicated in6_addifaddr() function and make it a part of KPI. This allows in-kernel users to add/delete interfaces addresses without relying on ioctl interface.

Note: the code in the function is a full copy-paste, except 2 places:

  • the first difference is "compat" handling for CARP - instead of comparing the CMDs, the ioctl handler now zeroes vhid value so the carp check always fails for compat cmd.
  • the second is the return in the furst in6ifa_ifpwithaddr() check - as ia is NULL, it is possible to simply return with success.

The function by itself consumes passed ia.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 47539
Build 44426: arc lint + arc unit