HomeFreeBSD

ip_output normalization and fixes

Description

ip_output normalization and fixes

ip_output has a big chunk of code used to handle special cases with pfil consumers which also forces a reloop on it.
Gather all this code together to make it readable and properly handle the reloop cases.

Some of the issues identified:

M_IP_NEXTHOP is not handled properly in existing code.
route reference leaking is possible with in FIB number change
route flags checking is not consistent in the function

Differential Revision: https://reviews.freebsd.org/D3022
Reviewed by: gnn
Approved by: gnn(mentor)
MFC after: 4 weeks

Details

Provenance
eriAuthored on
Reviewer
gnn
Differential Revision
D3022: ip_output normalization and fixes
Parents
rS286027: Revert r265338, r271089 and r271123 as those changes do not handle
Branches
Unknown
Tags
Unknown