numam-dpdk/lib
Pablo de Lara 56b6ef874f efd: new Elastic Flow Distributor library
Elastic Flow Distributor (EFD) is a distributor library that uses
perfect hashing to determine a target/value for a given incoming flow key.
It has the following advantages:

- First, because it uses perfect hashing, it does not store
  the key itself and hence lookup performance is not dependent
  on the key size.

- Second, the target/value can be any arbitrary value hence
  the system designer and/or operator can better optimize service rates
  and inter-cluster network traffic locating.

- Third, since the storage requirement is much smaller than a hash-based
  flow table (i.e. better fit for CPU cache), EFD can scale to
  millions of flow keys.
  Finally, with current optimized library implementation performance
  is fully scalable with number of CPU cores.

Signed-off-by: Byron Marohn <byron.marohn@intel.com>
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Signed-off-by: Saikrishna Edupuganti <saikrishna.edupuganti@intel.com>
Acked-by: Christian Maciocco <christian.maciocco@intel.com>
2017-01-18 20:53:28 +01:00
..
librte_acl lib: use C99 syntax for zero-size arrays 2016-09-13 15:35:28 +02:00
librte_cfgfile cfgfile: fix API comments 2016-11-06 23:34:40 +01:00
librte_cmdline cmdline: add alignment constraint 2016-12-23 10:19:11 +01:00
librte_compat compat: remove unneeded macro 2015-06-29 16:41:23 +02:00
librte_cryptodev cryptodev: clarify how operations affect buffers 2016-11-07 00:22:58 +01:00
librte_distributor distributor: remove inclusion of mbuf header 2015-05-11 15:36:37 +02:00
librte_eal efd: new Elastic Flow Distributor library 2017-01-18 20:53:28 +01:00
librte_efd efd: new Elastic Flow Distributor library 2017-01-18 20:53:28 +01:00
librte_ether net/ixgbe: parse L2 tunnel filter 2017-01-17 19:41:43 +01:00
librte_hash hash: fix bucket size usage 2016-10-12 18:40:52 +02:00
librte_ip_frag ip_frag: fix IP reassembly regression 2016-11-07 21:27:50 +01:00
librte_jobstats jobstats: fix typo in a comment 2016-06-30 18:51:20 +02:00
librte_kni doc: fix typos 2016-11-07 21:50:27 +01:00
librte_kvargs kvargs: make pointers in string arrays const 2017-01-13 19:28:26 +01:00
librte_lpm lpm: fix freeing memory 2016-11-06 23:46:03 +01:00
librte_mbuf mbuf: add a function to linearize a packet 2017-01-15 19:30:00 +01:00
librte_mempool mempool: use cache in single producer or consumer mode 2017-01-13 16:38:09 +01:00
librte_meter meter: fix excess token bucket update in srtcm 2016-09-21 22:56:03 +02:00
librte_net ethdev: add Tx preparation 2017-01-04 20:40:15 +01:00
librte_pdump doc: add pdump library to API doxygen 2016-12-06 15:43:13 +01:00
librte_pipeline lib: work around unnamed structs/unions 2016-09-13 15:35:28 +02:00
librte_port port: support file descriptor 2016-10-13 11:42:37 +02:00
librte_power examples/vm_power_manager: remove dependency on internal header 2016-07-11 17:23:32 +02:00
librte_reorder lib: add missing include dependencies 2016-09-13 15:35:28 +02:00
librte_ring doc: fix typos in code comments 2016-12-06 15:25:01 +01:00
librte_sched sched: fix releasing enqueued packets 2016-09-23 21:14:54 +02:00
librte_table table: add cuckoo hash 2016-10-12 22:08:36 +02:00
librte_timer timer: fix lag delay 2016-10-05 12:02:53 +02:00
librte_vhost vhost: allow many vhost-user ports 2017-01-17 09:20:18 +01:00
Makefile efd: new Elastic Flow Distributor library 2017-01-18 20:53:28 +01:00