1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-04 12:52:15 +00:00
freebsd/sys
Alexander V. Chernikov 68394ec88e * Add generic ipfw interface tracking API
* Rewrite interface tables to use interface indexes

Kernel changes:
* Add generic interface tracking API:
 - ipfw_iface_ref (must call unlocked, performs lazy init if needed, allocates
  state & bumps ref)
 - ipfw_iface_add_ntfy(UH_WLOCK+WLOCK, links comsumer & runs its callback to
  update ifindex)
 - ipfw_iface_del_ntfy(UH_WLOCK+WLOCK, unlinks consumer)
 - ipfw_iface_unref(unlocked, drops reference)
Additionally, consumer callbacks are called in interface withdrawal/departure.

* Rewrite interface tables to use iface tracking API. Currently tables are
  implemented the following way:
  runtime data is stored as sorted array of {ifidx, val} for existing interfaces
  full data is stored inside namedobj instance (chained hashed table).

* Add IP_FW_XIFLIST opcode to dump status of tracked interfaces

* Pass @chain ptr to most non-locked algorithm callbacks:
  (prepare_add, prepare_del, flush_entry ..). This may be needed for better
  interaction of given algorithm an other ipfw subsystems

* Add optional "change_ti" algorithm handler to permit updating of
  cached table_info pointer (happens in case of table_max resize)

* Fix small bug in ipfw_list_tables()
* Add badd (insert into sorted array) and bdel (remove from sorted array) funcs

Userland changes:
* Add "iflist" cmd to print status of currently tracked interface
* Add stringnum_cmp for better interface/table names sorting
2014-07-28 19:01:25 +00:00
..
amd64 Replace enum forward declarations with complete definitions. 2014-06-10 18:46:00 +00:00
arm Fix various NIC drivers to properly cleanup static DMA resources. 2014-06-11 14:53:58 +00:00
boot mdoc: fix AUTHORS section. 2014-06-09 19:36:08 +00:00
bsm
cam The code that combines adjacent ranges for BIO_DELETEs to optimize 2014-06-05 17:13:42 +00:00
cddl Removed stale comment about multi-vdev root pool config not working 2014-06-09 13:04:58 +00:00
compat - Add support for SG_GET_SG_TABLESIZE IOCTL to report that we don't support 2014-06-04 12:05:47 +00:00
conf * Add generic ipfw interface tracking API 2014-07-28 19:01:25 +00:00
contrib Fix decoding of near CALL when address-size prefix (67h) is present. 2014-06-11 20:38:14 +00:00
crypto
ddb handle longer commands so that lines don't overflow... people who added 2014-06-02 23:50:19 +00:00
dev - Unmap static DMA buffers allocated via bus_dmemem_alloc() before 2014-06-11 20:46:23 +00:00
fs The new NFS server would not allow a hard link to be 2014-06-06 21:38:49 +00:00
gdb
geom Add disklabel64 support to GEOM_PART class. 2014-06-11 10:42:34 +00:00
gnu
i386 Add a page size field to struct vm_page. Increase the page size field when 2014-06-07 17:12:26 +00:00
ia64 Restore comments accidentally removed. 2014-06-06 04:08:55 +00:00
isa
kern Remove unneeded mountlist_mtx acquisition from sync_fsync(). 2014-06-11 12:56:49 +00:00
kgssapi
libkern Use strcasecmp() instead of strcmp() when checking user-supplied encoding 2014-06-09 19:27:47 +00:00
mips Fix various NIC drivers to properly cleanup static DMA resources. 2014-06-11 14:53:58 +00:00
modules * Add generic ipfw interface tracking API 2014-07-28 19:01:25 +00:00
net Improve logic besides net.bpf.optimize_writers. 2014-06-11 11:27:44 +00:00
net80211
netgraph PF_BLUETOOTH protocols: skip initialization of non-virtualized globals 2014-06-10 18:21:37 +00:00
netinet * Add generic ipfw interface tracking API 2014-07-28 19:01:25 +00:00
netinet6 Remove unused variable. 2014-06-08 09:08:51 +00:00
netipsec Use IPv4 statistics in ipsec4_process_packet() rather than the IPv6 2014-05-28 23:01:20 +00:00
netnatm
netpfil * Add generic ipfw interface tracking API 2014-07-28 19:01:25 +00:00
netsmb
nfs Introduce new per-thread lock to protect the list of requests. 2014-06-08 09:40:26 +00:00
nfsclient
nfsserver
nlm
ofed
opencrypto
pc98
pci Fix various NIC drivers to properly cleanup static DMA resources. 2014-06-11 14:53:58 +00:00
powerpc Commit the rest of the changes that were intended to be part of r266826. 2014-05-29 01:42:22 +00:00
rpc Fix race in r267221. 2014-06-09 15:00:43 +00:00
security
sparc64 Restore comments accidentally removed. 2014-06-06 04:08:55 +00:00
sys Add DragonFlyBSD's Hammer FS types and type names. 2014-06-11 10:14:40 +00:00
teken
tools Call cpp with -P to avoid printing line markings. 2014-06-10 06:24:01 +00:00
ufs Initialize the pbuf counter for directio using SYSINIT, instead of 2014-06-08 10:55:06 +00:00
vm Correct a bug in the management of the population map on big-endian 2014-06-11 16:11:12 +00:00
x86 Eliminate the fake contig_dmamap and replace it with a new flag, 2014-05-27 21:31:11 +00:00
xdr
xen
Makefile Reorganize this Makefile so that all the bsd.*.mk bits are in one 2014-05-29 16:03:08 +00:00