[ovs-git] [openvswitch/ovs] 60d8cc: dpif-netdev: Add SMC cache after EMC cache

GitHub noreply at github.com
Tue Jul 24 22:47:19 UTC 2018


  Branch: refs/heads/master
  Home:   https://github.com/openvswitch/ovs
  Commit: 60d8ccae135f046a313a64d5f71822177b3c2371
      https://github.com/openvswitch/ovs/commit/60d8ccae135f046a313a64d5f71822177b3c2371
  Author: Yipeng Wang <yipeng1.wang at intel.com>
  Date:   2018-07-24 (Tue, 24 Jul 2018)

  Changed paths:
    M Documentation/topics/dpdk/bridge.rst
    M NEWS
    M lib/cmap.c
    M lib/cmap.h
    M lib/dpif-netdev-perf.h
    M lib/dpif-netdev.c
    M tests/pmd.at
    M vswitchd/vswitch.xml

  Log Message:
  -----------
  dpif-netdev: Add SMC cache after EMC cache

This patch adds a signature match cache (SMC) after exact match
cache (EMC). The difference between SMC and EMC is SMC only stores
a signature of a flow thus it is much more memory efficient. With
same memory space, EMC can store 8k flows while SMC can store 1M
flows. It is generally beneficial to turn on SMC but turn off EMC
when traffic flow count is much larger than EMC size.

SMC cache will map a signature to an dp_netdev_flow index in
flow_table. Thus, we add two new APIs in cmap for lookup key by
index and lookup index by key.

For now, SMC is an experimental feature that it is turned off by
default. One can turn it on using ovsdb options.

Signed-off-by: Yipeng Wang <yipeng1.wang at intel.com>
Co-authored-by: Jan Scheurich <jan.scheurich at ericsson.com>
Signed-off-by: Jan Scheurich <jan.scheurich at ericsson.com>
Acked-by: Billy O'Mahony <billy.o.mahony at intel.com>
Signed-off-by: Ian Stokes <ian.stokes at intel.com>


  Commit: 75119da767620f64aa563332969c2eeb79d3c363
      https://github.com/openvswitch/ovs/commit/75119da767620f64aa563332969c2eeb79d3c363
  Author: Ian Stokes <ian.stokes at intel.com>
  Date:   2018-07-24 (Tue, 24 Jul 2018)

  Changed paths:
    M Documentation/howto/dpdk.rst
    M Documentation/intro/install/dpdk.rst

  Log Message:
  -----------
  Docs: Improve OVS DPDK version mapping notice.

A common issue is users pairing the incorrect version of OVS to DPDK
when working outside of the build tree.

To avoid this, this commit updates the OVS DPDK documentation to explicitly
flag that users should consult the OVS to DPDK release mapping in FAQ if
working outside of the OVS build tree.

Suggested-by: Ben Pfaff <blp at ovn.org>
Signed-off-by: Ian Stokes <ian.stokes at intel.com>
Acked-by: Flavio Leitner <fbl at sysclose.org>


  Commit: 2b7b5dbb075ea5c96661bf7bd7657b1ec8332618
      https://github.com/openvswitch/ovs/commit/2b7b5dbb075ea5c96661bf7bd7657b1ec8332618
  Author: Ben Pfaff <blp at ovn.org>
  Date:   2018-07-24 (Tue, 24 Jul 2018)

  Changed paths:
    M lib/netdev-dpdk.c

  Log Message:
  -----------
  netdev-dpdk: Fix incorrect byte order conversion in log message.

uint8_t values shouldn't be passed to ntohs().

Found by soarse.

Signed-off-by: Ben Pfaff <blp at ovn.org>
Reviewed-by: Yifeng Sun <pkusunyifeng at gmail.com>
Signed-off-by: Ian Stokes <ian.stokes at intel.com>


  Commit: 31a033cb71d7e3d200e0d63e404bf0c068912fad
      https://github.com/openvswitch/ovs/commit/31a033cb71d7e3d200e0d63e404bf0c068912fad
  Author: Ben Pfaff <blp at ovn.org>
  Date:   2018-07-24 (Tue, 24 Jul 2018)

  Changed paths:
    M lib/netdev-dpdk.c

  Log Message:
  -----------
  netdev-dpdk: Fix sparse complaints.

Neither of these is a real problem.

Signed-off-by: Ben Pfaff <blp at ovn.org>
Reviewed-by: Yifeng Sun <pkusunyifeng at gmail.com>
Signed-off-by: Ian Stokes <ian.stokes at intel.com>


  Commit: 773c3cb40f798df6152444fa968aba0679f624af
      https://github.com/openvswitch/ovs/commit/773c3cb40f798df6152444fa968aba0679f624af
  Author: Ben Pfaff <blp at ovn.org>
  Date:   2018-07-24 (Tue, 24 Jul 2018)

  Changed paths:
    M lib/netdev-dpdk.c

  Log Message:
  -----------
  netdev-dpdk: Use ETH_ADDR_BYTES_ARGS instead of open-coding it.

Signed-off-by: Ben Pfaff <blp at ovn.org>
Reviewed-by: Yifeng Sun <pkusunyifeng at gmail.com>
Signed-off-by: Ian Stokes <ian.stokes at intel.com>


  Commit: 7a2ce387d8174b4b57133eb1f3689aa833e911c5
      https://github.com/openvswitch/ovs/commit/7a2ce387d8174b4b57133eb1f3689aa833e911c5
  Author: Ben Pfaff <blp at ovn.org>
  Date:   2018-07-24 (Tue, 24 Jul 2018)

  Changed paths:
    M Makefile.am
    M build-aux/initial-tab-whitelist
    M include/sparse/automake.mk
    A include/sparse/rte_byteorder.h
    A include/sparse/rte_esp.h
    A include/sparse/rte_flow.h
    A include/sparse/rte_icmp.h
    A include/sparse/rte_ip.h
    A include/sparse/rte_sctp.h
    A include/sparse/rte_tcp.h
    A include/sparse/rte_udp.h
    A include/sparse/xmmintrin.h

  Log Message:
  -----------
  sparse: Add support for DPDK.

This allows netdev-dpdk.c to compile cleanly with sparse.

Signed-off-by: Ben Pfaff <blp at ovn.org>
Signed-off-by: Ian Stokes <ian.stokes at intel.com>


Compare: https://github.com/openvswitch/ovs/compare/1ac690899592...7a2ce387d817
      **NOTE:** This service been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.


More information about the git mailing list