M1 progress: engine port compiles except pf.c; AF_DIVERT socket family; ifq framework
- compat layer extended through the full BSD API surface pf_ioctl/pf_lb/ pf_if/pf_norm/pf_table/pf_ruleset/radix/md5/sha2 need (all compile): cpumem/counters model, ifaddr/ifg groups, cred view, endian+in6 names, NAT46/64, SipHash24, mbuf_list, frag6 helpers, ip6 forward/checksum, tcp options/FSM names, taskqueue & sysctl shims (documented in docs/porting-notes.md) - pfsrc/divert_sock.c: real BSD divert(4) as runtime-registered PF_DIVERT=32 socket family inside the module (sock_register; NPROTO=AF_MAX=45 -> zero core patches); divert_packet/divert6_packet wired for pf.c - compat/pfk_ifq.c: OpenBSD 8.0 ifq framework with priq back end; hfsc and fq_codel aliases pending M5 (recorded in feature matrix as pending) - design + plan updated for the divert decision (user-requested) - stage-port.sh: single deterministic rename program for headers and .c
This commit is contained in:
1 parent
a84b2c91f3
commit
1fcd7b3046
77 files changed
+28002
-1114
No files matched your search
@@ -206,3 +206,20 @@ pfk_send_icmp_error(int family, struct sk_buff *skb_in, int type, int code,
|
||||
/* NOTE: TCP RST generation is done by PF itself (pf.c builds the segment
|
||||
* and calls if_output_tso), so no kernel tcp_v4_send_reset export is
|
||||
* needed — matches OpenBSD's pf_send_rst() design. */
|
||||
|
||||
/*
|
||||
* pfk_if_output(ifp, m, dst, rt): BSD if_output() equivalent used by the
|
||||
* ported PF code (route-to / refragment / divert paths).
|
||||
*/
|
||||
int
|
||||
pfk_if_output(struct pfk_ifnet *ifp, struct mbuf *m, struct sockaddr *dst,
|
||||
void *rt)
|
||||
{
|
||||
struct mbuf *mp = m;
|
||||
int err;
|
||||
|
||||
err = if_output_tso(ifp, &mp, dst, rt, ifp->if_mtu);
|
||||
if (mp)
|
||||
m_freem(mp);
|
||||
return err;
|
||||
}
|
||||
Reference in new issue
Block a user