HomeFreeBSD

Further rework netinet6 address handling code:

Description

Further rework netinet6 address handling code:

  • Set ia address/mask values BEFORE attaching to address lists.

Inet6 address assignment is not atomic, so the simplest way to
do this atomically is to fill in ia before attach.

  • Validate irfa->ia_addr field before use (we permit ANY sockaddr in old code).
  • Do some renamings: in6_ifinit -> in6_notify_ifa (interaction with other subsystems is here) in6_setup_ifa -> in6_broadcast_ifa (LLE/Multicast/DaD code) in6_ifaddloop -> nd6_add_ifa_lle in6_ifremloop -> nd6_rem_ifa_lle
  • Split working with LLE and route announce code for last two.

Add temporary in6_newaddrmsg() function to mimic current rtsock behaviour.

  • Call device SIOCSIFADDR handler IFF we're adding first address.

In IPv4 we have to call it on every address change since ARP record
is installed by arp_ifinit() which is called by given handler.
IPv6 stack, on the opposite is responsible to call nd6_add_ifa_lle() so
there is no reason to call SIOCSIFADDR often.

Details

Provenance
melifaroAuthored on Jan 19 2014, 4:07 PM
Parents
rGb5a9d8b5a732: Enable vt. This brings VGA-based console and terminal support to
Branches
Unknown
Tags
Unknown

Event Timeline