diff options
author | Alexander Bluhm <bluhm@cvs.openbsd.org> | 2024-03-31 15:53:13 +0000 |
---|---|---|
committer | Alexander Bluhm <bluhm@cvs.openbsd.org> | 2024-03-31 15:53:13 +0000 |
commit | 8ce5a2ffafee07d085e8a59f02b1ddb1ab50aece (patch) | |
tree | 0cf561f16fca534e589af0a228d095e043ac7e74 /sys/net/if.c | |
parent | 36216e9a9641b39c6716095e1f00c9f523b6c959 (diff) |
Combine route_cache() and rtalloc_mpath() in new route_mpath().
Fill and check the cache and call rtalloc_mpath() together. Then
the caller of route_mpath() does not have to care about the uint32_t
*src pointer and just pass struct in_addr. All the conversions are
done inside the functions.
A previous version of this diff was backed out. There was an
additional rtisvalid() in rtalloc_mpath() that prevented packet
output via interfaces that were not up. Now the route in the cache
has to be valid, but after new lookup, rtalloc_mpath() may return
invalid routes. This generates less errors in userland an preserves
existing behavior.
OK sashan@
Diffstat (limited to 'sys/net/if.c')
0 files changed, 0 insertions, 0 deletions