[ovs-git] [openvswitch/ovs] 35303d: tunnels: Don't initialize unnecessary packet metad...

GitHub noreply at github.com
Wed Jul 1 22:33:22 UTC 2015


  Branch: refs/heads/master
  Home:   https://github.com/openvswitch/ovs
  Commit: 35303d715b1f0db46e6a27146815061a60385dc6
      https://github.com/openvswitch/ovs/commit/35303d715b1f0db46e6a27146815061a60385dc6
  Author: Jesse Gross <jesse at nicira.com>
  Date:   2015-07-01 (Wed, 01 Jul 2015)

  Changed paths:
    M lib/dp-packet.c
    M lib/dpif-netdev.c
    M lib/netdev-vport.c
    M lib/netdev.c
    M lib/odp-util.c
    M lib/packets.h
    M lib/tun-metadata.h
    M ofproto/ofproto-dpif-upcall.c
    M utilities/ovs-ofctl.c

  Log Message:
  -----------
  tunnels: Don't initialize unnecessary packet metadata.

The addition of Geneve options to packet metadata significantly
expanded its size. It was reported that this can decrease performance
for DPDK ports by up to 25% since we need to initialize the whole
structure on each packet receive.

It is not really necessary to zero out the entire structure because
miniflow_extract() only copies the tunnel metadata when particular
fields indicate that it is valid. Therefore, as long as we zero out
these fields when the metadata is initialized and ensure that the
rest of the structure is correctly set in the presence of a tunnel,
we can avoid touching the tunnel fields on packet reception.

Reported-by: Ciara Loftus <ciara.loftus at intel.com>
Tested-by: Ciara Loftus <ciara.loftus at intel.com>
Signed-off-by: Jesse Gross <jesse at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>




More information about the git mailing list