Page MenuHomeFreeBSD

Remove per-packet ifa refcounting from IPv6 fast path.
ClosedPublic

Authored by melifaro on Feb 13 2021, 3:04 PM.
Tags
None
Referenced Files
F109399845: D28648.diff
Tue, Feb 4, 2:01 PM
Unknown Object (File)
Sat, Jan 25, 7:20 PM
Unknown Object (File)
Sat, Jan 18, 5:13 PM
Unknown Object (File)
Dec 29 2024, 7:15 AM
Unknown Object (File)
Dec 15 2024, 4:50 AM
Unknown Object (File)
Dec 13 2024, 2:03 PM
Unknown Object (File)
Nov 26 2024, 1:13 AM
Unknown Object (File)
Nov 25 2024, 10:57 AM
Subscribers

Details

Summary

Currently ip6_input() calls in6ifa_ifwithaddr() for
every local packet, in order to check if the target ip
belongs to the local ifa in proper state and increase
its counters.

in6ifa_ifwithaddr() references found ifa.
With epoch changes, both ip6_input() and all other current callers
of in6ifa_ifwithaddr() do not need this reference
anymore, as epoch provides stability guarantee.

Given that, update in6ifa_ifwithaddr() to allow
it to return ifa without referencing it, while preserving
option for getting referenced ifa if so desired.

Note: depends on D28647.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 36968
Build 33857: arc lint + arc unit