]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
[lltable] Restructure nd6 code.
authorAlexander V. Chernikov <melifaro@FreeBSD.org>
Fri, 6 Aug 2021 08:27:22 +0000 (08:27 +0000)
committerAlexander V. Chernikov <melifaro@FreeBSD.org>
Sat, 7 Aug 2021 09:59:11 +0000 (09:59 +0000)
commit0b79b007ebfc250a8a7b928df268ada6f1c988c4
tree5a0facf7f113c5654225fb64a8e3eac8ac7128bc
parent3676512b60d65ff68fb807ede2fa6e89af18c490
[lltable] Restructure nd6 code.

Factor out lltable locking logic from lltable_try_set_entry_addr()
 into a separate lltable_acquire_wlock(), so the latter can be used
 in other parts of the code w/o duplication.

Create nd6_try_set_entry_addr() to avoid code duplication in nd6.c
 and nd6_nbr.c.

Move lle creation logic from nd6_resolve_slow() into a separate
 nd6_get_llentry() to simplify the former.

These changes serve as a pre-requisite for implementing
 RFC8950 (IPv4 prefixes with IPv6 nexthops).

Differential Revision: https://reviews.freebsd.org/D31432
MFC after: 2 weeks
sys/net/if_llatbl.c
sys/net/if_llatbl.h
sys/netinet6/nd6.c
sys/netinet6/nd6.h
sys/netinet6/nd6_nbr.c