]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
netmap: align codebase to the current upstream (commit id 3fb001303718146)
authorvmaffione <vmaffione@FreeBSD.org>
Thu, 12 Apr 2018 07:20:50 +0000 (07:20 +0000)
committervmaffione <vmaffione@FreeBSD.org>
Thu, 12 Apr 2018 07:20:50 +0000 (07:20 +0000)
commit3c7434c730ed565e7fa6fc9dc14304f0db327a6f
tree15a4f8847a8cabd782f67326125c48fed4fdd27b
parentfa5413e897294cb6a74d75e7317c5dbeb42e185c
netmap: align codebase to the current upstream (commit id 3fb001303718146)

Changelist:
    - Turn tx_rings and rx_rings arrays into arrays of pointers to kring
      structs. This patch includes fixes for ixv, ixl, ix, re, cxgbe, iflib,
      vtnet and ptnet drivers to cope with the change.
    - Generalize the nm_config() callback to accept a struct containing many
      parameters.
    - Introduce NKR_FAKERING to support buffers sharing (used for netmap
      pipes)
    - Improved API for external VALE modules.
    - Various bug fixes and improvements to the netmap memory allocator,
      including support for externally (userspace) allocated memory.
    - Refactoring of netmap pipes: now linked rings share the same netmap
      buffers, with a separate set of kring pointers (rhead, rcur, rtail).
      Buffer swapping does not need to happen anymore.
    - Large refactoring of the control API towards an extensible solution;
      the goal is to allow the addition of more commands and extension of
      existing ones (with new options) without the need of hacks or the
      risk of running out of configuration space.
      A new NIOCCTRL ioctl has been added to handle all the requests of the
      new control API, which cover all the functionalities so far supported.
      The netmap API bumps from 11 to 12 with this patch. Full backward
      compatibility is provided for the old control command (NIOCREGIF), by
      means of a new netmap_legacy module. Many parts of the old netmap.h
      header has now been moved to netmap_legacy.h (included by netmap.h).

Approved by: hrs (mentor)
27 files changed:
sys/conf/files
sys/dev/cxgbe/t4_netmap.c
sys/dev/ixgbe/if_ixv.c
sys/dev/ixl/ixl_pf_main.c
sys/dev/ixl/ixl_txrx.c
sys/dev/netmap/if_ptnet.c
sys/dev/netmap/if_re_netmap.h
sys/dev/netmap/if_vtnet_netmap.h
sys/dev/netmap/netmap.c
sys/dev/netmap/netmap_freebsd.c
sys/dev/netmap/netmap_generic.c
sys/dev/netmap/netmap_kern.h
sys/dev/netmap/netmap_legacy.c [new file with mode: 0644]
sys/dev/netmap/netmap_mem2.c
sys/dev/netmap/netmap_mem2.h
sys/dev/netmap/netmap_monitor.c
sys/dev/netmap/netmap_pipe.c
sys/dev/netmap/netmap_pt.c
sys/dev/netmap/netmap_vale.c
sys/dev/re/if_re.c
sys/modules/netmap/Makefile
sys/net/iflib.c
sys/net/netmap.h
sys/net/netmap_legacy.h [new file with mode: 0644]
sys/net/netmap_user.h
sys/net/netmap_virt.h
sys/sys/param.h