]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Switch direct rt fields access in rtsock.c to newly-create field acessors.
authorAlexander V. Chernikov <melifaro@FreeBSD.org>
Fri, 18 Dec 2020 22:00:57 +0000 (22:00 +0000)
committerAlexander V. Chernikov <melifaro@FreeBSD.org>
Fri, 18 Dec 2020 22:00:57 +0000 (22:00 +0000)
commitd68fb8d978bbd3cf1b5db35f309aaeab30636d43
treeaa1e580ee9b3db91a76fadd7a618fc0dadc6f286
parent1dce7d9e7eefead038610df6a8d6c86a0fdbebb8
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
sys/net/rtsock.c