1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-24 11:29:10 +00:00
freebsd/sys
Alexander V. Chernikov f8bee51a69 - Add ipfw eXtended tables permitting radix to be used for any kind of keys.
- Add support for IPv6 and interface extended tables
- Make number of tables to be loader tunable in range 0..65534.
- Use IP_FW3 opcode for all new extended table cmds

No ABI changes are introduced. Old userland will see valid tables for
IPv4 tables and no entries otherwise. Flush works for any table.

IP_FW3 socket option is used to encapsulate all new opcodes:
 /* IP_FW3 header/opcodes */
 typedef struct _ip_fw3_opheader {
        uint16_t opcode;        /* Operation opcode */
        uint16_t reserved[3];   /* Align to 64-bit boundary */
 } ip_fw3_opheader;

New opcodes added:
 IP_FW_TABLE_XADD, IP_FW_TABLE_XDEL, IP_FW_TABLE_XGETSIZE, IP_FW_TABLE_XLIST

ipfw(8) table argument parsing behavior is changed:
 'ipfw table 999 add host' now assumes 'host' to be interface name instead of
 hostname.

New tunable:
 net.inet.ip.fw.tables_max controls number of table supported by ipfw in given
 VNET instance. 128 is still the default value.

New syntax:
ipfw add skipto tablearg ip from any to any via table(42) in
ipfw add skipto tablearg ip from any to any via table(4242) out

This is a bit hackish, special interface name '\1' is used to signal interface
table number is passed in p.glob field.

Sponsored by Yandex LLC

Reviewed by:    ae
Approved by:    ae (mentor)

MFC after:      4 weeks
2012-03-12 14:07:57 +00:00
..
amd64 Simplify the error checking in one branch of trap_pfault() and update 2012-03-12 00:47:13 +00:00
arm Disable the option VFS_ALLOW_NONMPSAFE by default on all the supported 2012-03-06 20:01:25 +00:00
boot Fix a bug introduced in r223938; on big-endian machines coping a 32-bit 2012-03-11 13:39:19 +00:00
bsm
cam Add LUN resizing to CTL. Also make it possible to explicitly set 2012-03-06 13:43:57 +00:00
cddl Analogous to r232059, add a parameter for the ZFS file system: 2012-02-26 16:30:39 +00:00
compat Fix race condition in KfRaiseIrql(). 2012-03-04 17:08:43 +00:00
conf Reenable -Winline on MIPS now that we're not compiling Cavium's error 2012-03-11 08:12:30 +00:00
contrib Disable the Simple Executive's error decoding/reporting code. 2012-03-11 06:55:17 +00:00
crypto
ddb
dev Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
fs Update comment. 2012-03-11 15:58:27 +00:00
gdb
geom Remove unactionable message about label geometry 2012-03-08 01:48:44 +00:00
gnu/fs Remove fifo.h. The only used function declaration from the header is 2012-03-11 12:19:58 +00:00
i386 Simplify the error checking in one branch of trap_pfault() and update 2012-03-12 05:28:02 +00:00
ia64 Disable the option VFS_ALLOW_NONMPSAFE by default on all the supported 2012-03-06 20:01:25 +00:00
isa
kern Allways call fdrop(). 2012-03-12 11:56:57 +00:00
kgssapi
libkern
mips Remove more unused code and declarations, and add dire warnings to the 64-bit 2012-03-12 08:13:04 +00:00
modules Provide wbwd(4), a driver for the watchdog timer found on various 2012-03-06 18:44:52 +00:00
net - remove an extra parenthesis in a closing brace; 2012-03-11 17:35:12 +00:00
net80211 Add missing \n's. 2012-03-08 23:46:42 +00:00
netatalk Fix typos 2012-02-28 15:07:05 +00:00
netgraph Upgrade the netgraph vlan node to support 802.1q, encapsulation type, 2012-03-11 19:08:56 +00:00
netinet - Add ipfw eXtended tables permitting radix to be used for any kind of keys. 2012-03-12 14:07:57 +00:00
netinet6 In nd6_options() ignore the RFC 6106 options completely rather than printing 2012-03-04 18:51:45 +00:00
netipsec
netipx
netnatm
netncp
netsmb
nfs
nfsclient Remove fifo.h. The only used function declaration from the header is 2012-03-11 12:19:58 +00:00
nfsserver
nlm
ofed
opencrypto
pc98 Disable the option VFS_ALLOW_NONMPSAFE by default on all the supported 2012-03-06 20:01:25 +00:00
pci Use correct Config registers for RTL8139 family. Unlike RTL8168 and 2012-02-25 04:54:51 +00:00
powerpc Add casts to __uint16_t to the __bswap16() macros on all arches which 2012-03-09 20:34:31 +00:00
rpc
security Remove direct access to si_name. 2012-02-10 12:35:57 +00:00
sparc64 Add casts to __uint16_t to the __bswap16() macros on all arches which 2012-03-09 20:34:31 +00:00
sys Tune cpuset macros to optimize cases when CPU_SETSIZE fits into single 2012-03-12 07:02:16 +00:00
teken
tools Make vnode_if.awk parse vnode operations with underscores, like VOP_FOO_BAR. 2012-02-21 19:35:59 +00:00
ufs Remove superfluous brackets. 2012-03-11 21:25:42 +00:00
vm Add KTR_VFS traces to track modifications to a vnode's writecount. 2012-03-08 20:27:20 +00:00
x86 Move i386's intr_machdep.c to the x86 tree and share it with amd64. 2012-03-09 20:43:29 +00:00
xdr
xen blkif interface comment cleanups. No functional changes 2012-02-29 17:47:01 +00:00
Makefile