HomeFreeBSD

Switch direct rt fields access in rtsock.c to newly-create field acessors.

Description

Switch direct rt fields access in rtsock.c to newly-create field acessors.

rtsock code was build around the assumption that each rtentry record
in the system radix tree is a ready-to-use sockaddr. This assumptions
turned out to be not quite true:

  • masks have their length tweaked, so we have rtsock_fix_netmask() hack
  • IPv6 addresses have their scope embedded, so we have another explicit deembedding hack.

Change the code to decouple rtentry internals from rtsock code using
newly-created rtentry accessors. This will allow to eventually eliminate
both of the hacks and change rtentry dst/mask format.

Differential Revision: https://reviews.freebsd.org/D27451