freebsd-dev/sys/conf
Navdeep Parhar 298d969c53 cxgbe(4): netmap support for Terminator 5 (T5) based 10G/40G cards.
Netmap gets its own hardware-assisted virtual interface and won't take
over or disrupt the "normal" interface in any way.  You can use both
simultaneously.

For kernels with DEV_NETMAP, cxgbe(4) carves out an ncxl<N> interface
(note the 'n' prefix) in the hardware to accompany each cxl<N>
interface.  These two ifnet's per port share the same wire but really
are separate interfaces in the hardware and software.  Each gets its own
L2 MAC addresses (unicast and multicast), MTU, checksum caps, etc.  You
should run netmap on the 'n' interfaces only, that's what they are for.

With this, pkt-gen is able to transmit > 45Mpps out of a single 40G port
of a T580 card.  2 port tx is at ~56Mpps total (28M + 28M) as of now.
Single port receive is at 33Mpps but this is very much a work in
progress.  I expect it to be closer to 40Mpps once done.  In any case
the current effort can already saturate multiple 10G ports of a T5 card
at the smallest legal packet size.  T4 gear is totally untested.

trantor:~# ./pkt-gen -i ncxl0 -f tx -D 00:07:43🆎cd:ef
881.952141 main [1621] interface is ncxl0
881.952250 extract_ip_range [275] range is 10.0.0.1:0 to 10.0.0.1:0
881.952253 extract_ip_range [275] range is 10.1.0.1:0 to 10.1.0.1:0
881.962540 main [1804] mapped 334980KB at 0x801dff000
Sending on netmap:ncxl0: 4 queues, 1 threads and 1 cpus.
10.0.0.1 -> 10.1.0.1 (00:00:00:00:00:00 -> 00:07:43🆎cd:ef)
881.962562 main [1882] Sending 512 packets every  0.000000000 s
881.962563 main [1884] Wait 2 secs for phy reset
884.088516 main [1886] Ready...
884.088535 nm_open [457] overriding ifname ncxl0 ringid 0x0 flags 0x1
884.088607 sender_body [996] start
884.093246 sender_body [1064] drop copy
885.090435 main_thread [1418] 45206353 pps (45289533 pkts in 1001840 usec)
886.091600 main_thread [1418] 45322792 pps (45375593 pkts in 1001165 usec)
887.092435 main_thread [1418] 45313992 pps (45351784 pkts in 1000834 usec)
888.094434 main_thread [1418] 45315765 pps (45406397 pkts in 1002000 usec)
889.095434 main_thread [1418] 45333218 pps (45378551 pkts in 1001000 usec)
890.097434 main_thread [1418] 45315247 pps (45405877 pkts in 1002000 usec)
891.099434 main_thread [1418] 45326515 pps (45417168 pkts in 1002000 usec)
892.101434 main_thread [1418] 45333039 pps (45423705 pkts in 1002000 usec)
893.103434 main_thread [1418] 45324105 pps (45414708 pkts in 1001999 usec)
894.105434 main_thread [1418] 45318042 pps (45408723 pkts in 1002001 usec)
895.106434 main_thread [1418] 45332430 pps (45377762 pkts in 1001000 usec)
896.107434 main_thread [1418] 45338072 pps (45383410 pkts in 1001000 usec)
...

Relnotes:	Yes
Sponsored by:	Chelsio Communications.
2014-05-27 18:18:41 +00:00
..
files cxgbe(4): netmap support for Terminator 5 (T5) based 10G/40G cards. 2014-05-27 18:18:41 +00:00
files.amd64 imagact_binmisc builds for all supported architectures, so enable it for all. 2014-05-22 05:04:40 +00:00
files.arm Add the start of the ARM platform code. This is based on the PowerPC 2014-05-17 11:27:36 +00:00
files.i386 imagact_binmisc builds for all supported architectures, so enable it for all. 2014-05-22 05:04:40 +00:00
files.ia64 Fix and improve exception tracing: 2014-03-18 23:51:34 +00:00
files.mips provide fast versions of ffsl and flsl for i386; ffsll and flsll for amd64 2014-02-14 15:18:37 +00:00
files.pc98 Clean up more lindev(4) vestiges. 2014-05-02 11:09:01 +00:00
files.powerpc Move the PS3 framebuffer console to use vt instead of syscons and adjust 2014-05-11 05:49:35 +00:00
files.sparc64 provide fast versions of ffsl and flsl for i386; ffsll and flsll for amd64 2014-02-14 15:18:37 +00:00
kern.mk bitrotted compat cruft removal: 2014-05-10 16:39:15 +00:00
kern.opts.mk Add ARM_EABI to the list, since arm kernels need it 2014-05-19 16:13:40 +00:00
kern.post.mk Some objects - such as *_genassym.o are not hooked into 2013-08-14 22:19:29 +00:00
kern.pre.mk The time is not yet ripe to break the lack of dependencies between 2014-05-17 20:31:34 +00:00
kmod_syms.awk
kmod.mk The time is not yet ripe to break the lack of dependencies between 2014-05-17 20:31:34 +00:00
ldscript.amd64 The new binutils has correctly redefined MAXPAGESIZE on amd64 as 0x200000 2011-03-28 06:35:17 +00:00
ldscript.arm Remove STARTUP_PAGETABLE_ADDR from the ARM configs and replace it with 2014-01-28 09:12:04 +00:00
ldscript.i386 Step 2: sync sys/conf/ldscript.i386 with the binutils 2.17.50 version, 2010-11-05 19:40:27 +00:00
ldscript.ia64 Stop linking against a direct-mapped virtual address and instead 2011-04-30 20:49:00 +00:00
ldscript.mips Let the linker pick the right output format automatically 2010-11-13 18:38:35 +00:00
ldscript.mips.cfe Remove commented out _DYNAMIC sections. 2011-01-20 19:20:23 +00:00
ldscript.mips.mips64 Remove commented out _DYNAMIC sections. 2011-01-20 19:20:23 +00:00
ldscript.mips.octeon1 In fact, we don't need any of these __DYNAMIC. it is a.out leftover and commented out. 2011-01-20 19:24:50 +00:00
ldscript.powerpc In fact, we don't need any of these __DYNAMIC. it is a.out leftover and commented out. 2011-01-20 19:24:50 +00:00
ldscript.powerpc64 Add the .opd section, this is helps booting a profiled kernel. 2012-01-20 18:52:31 +00:00
ldscript.sparc64 Merge binutils 2.17.50 to head. This brings a number of improvements to 2011-02-18 20:54:12 +00:00
Makefile.amd64 Bump the version of config to the latest (3 year old, so upgrade 2014-02-04 18:24:25 +00:00
Makefile.arm Simplify clang ifdefs in the kernel a bit. Introduce 2014-05-10 16:38:09 +00:00
Makefile.i386 Bump the version of config to the latest (3 year old, so upgrade 2014-02-04 18:24:25 +00:00
Makefile.ia64 Bump the version of config to the latest (3 year old, so upgrade 2014-02-04 18:24:25 +00:00
Makefile.mips Bump the version of config to the latest (3 year old, so upgrade 2014-02-04 18:24:25 +00:00
Makefile.pc98 Bump the version of config to the latest (3 year old, so upgrade 2014-02-04 18:24:25 +00:00
Makefile.powerpc Bump the version of config to the latest (3 year old, so upgrade 2014-02-04 18:24:25 +00:00
Makefile.sparc64 Bump the version of config to the latest (3 year old, so upgrade 2014-02-04 18:24:25 +00:00
makeLINT.mk Generate a LINT for powerpc and for powerpc64. 2013-04-11 22:18:20 +00:00
makeLINT.sed Match the files directive and all the ways to add or subtract options 2011-10-04 17:11:38 +00:00
newvers.sh Fix the definition of hg_cmd. 2014-02-03 08:15:09 +00:00
NOTES imagact_binmisc builds for all supported architectures, so enable it for all. 2014-05-22 05:04:40 +00:00
options imagact_binmisc builds for all supported architectures, so enable it for all. 2014-05-22 05:04:40 +00:00
options.amd64 imagact_binmisc builds for all supported architectures, so enable it for all. 2014-05-22 05:04:40 +00:00
options.arm Add the start of the ARM platform code. This is based on the PowerPC 2014-05-17 11:27:36 +00:00
options.i386 imagact_binmisc builds for all supported architectures, so enable it for all. 2014-05-22 05:04:40 +00:00
options.ia64 Fix and improve exception tracing: 2014-03-18 23:51:34 +00:00
options.mips Add support for reading RouterBoard's memory which is passed by the loader 2014-05-09 14:02:18 +00:00
options.pc98 MFC r199852, r202387, r202441, r202534: 2010-03-29 15:39:17 +00:00
options.powerpc Merge in support for PAPR-compliant (Power Architecture Platform 2013-09-17 17:37:04 +00:00
options.sparc64 - While Netra X1 generally show no ill effects when registering a power 2013-03-02 00:37:31 +00:00
systags.sh
WITHOUT_SOURCELESS Move WITHOUT_SOURCELESS_* files to sys/conf/ in order to avoid "universe" 2012-02-12 14:55:27 +00:00
WITHOUT_SOURCELESS_HOST Retire the nve(4) driver; nfe(4) has been the default driver for NVIDIA 2014-02-16 12:22:43 +00:00
WITHOUT_SOURCELESS_UCODE Import OpenBSD's rsu(4) WLAN driver. 2013-07-30 02:07:57 +00:00