Files
pf-linux-port/module/compat/pfk_rtable.c
T
lgcosta 1fcd7b3046 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
2026-11-11 13:35:53 -03:00

23 lines
589 B
C

/*
* PFLINUX rtable compatibility (ISC 2026).
* Linux has no per-rtableid FIBs: rtable_exists() accepts every id and
* rtable_iterate() is a terminal stub — the route-to implementation uses
* the Linux FIB through pfk_xmit.c (pf_route/pf_route6, plan task T14).
*/
#include <pfk.h>
#include "compat/net/rtable.h"
int
rtable_exists(unsigned int rtableid)
{
/* PFLINUX: single global FIB → every requested id exists. */
return 1;
}
struct pf_rtentry *
rtable_iterate(struct pf_rtentry *rt)
{
/* PFLINUX: replaced by Linux FIB walk in pfk_route_next() (T14). */
return NULL;
}