- 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
21 lines
517 B
C
21 lines
517 B
C
/* PFLINUX compat: <netinet/in.h> */
|
|
#ifndef _PFK_NETINET_IN_H
|
|
#define _PFK_NETINET_IN_H
|
|
#include <linux/in.h>
|
|
#include <linux/in6.h>
|
|
/* BSD IP-level option numbers (Linux uapi uses different values) */
|
|
#define PF_IP_OPTIONS 1
|
|
#define PF_IP_RECORD_ROUTE 7
|
|
#define PF_IP_TIMESTAMP 68
|
|
#ifndef INADDR_MULTICAST
|
|
#define INADDR_MULTICAST 0xe0000000U
|
|
#endif
|
|
|
|
/* BSD <netinet/in.h> union of socket address types */
|
|
union sockaddr_union {
|
|
struct sockaddr su;
|
|
struct sockaddr_in sin;
|
|
struct sockaddr_in6 sin6;
|
|
};
|
|
#endif
|