[ovs-git] [openvswitch/ovs] e58ba9: datapath: refactor ovs flow extract API.

GitHub noreply at github.com
Thu Aug 14 19:29:49 UTC 2014


  Branch: refs/heads/branch-2.3
  Home:   https://github.com/openvswitch/ovs
  Commit: e58ba93dfaa5455f667af4b99ee7f53b8520157c
      https://github.com/openvswitch/ovs/commit/e58ba93dfaa5455f667af4b99ee7f53b8520157c
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-08-14 (Thu, 14 Aug 2014)

  Changed paths:
    M datapath/actions.c
    M datapath/datapath.c
    M datapath/flow.c
    M datapath/flow.h
    M datapath/flow_netlink.c
    M datapath/flow_netlink.h

  Log Message:
  -----------
  datapath: refactor ovs flow extract API.

OVS flow extract is called on packet receive or packet
execute code path.  Following patch defines separate API
for extracting flow-key in packet execute code path.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Andy Zhou <azhou at nicira.com>


  Commit: bdfc1cfca7ec395c1ac1765914dc5b8f54a4f4c0
      https://github.com/openvswitch/ovs/commit/bdfc1cfca7ec395c1ac1765914dc5b8f54a4f4c0
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-08-14 (Thu, 14 Aug 2014)

  Changed paths:
    M datapath/actions.c
    M datapath/flow.c
    M datapath/flow.h

  Log Message:
  -----------
  datapath: Avoid using wrong metadata for recic action.

Recirc action needs to extract flow key from packet, it uses tun_info
from OVS_CB for setting tunnel meta data in flow key. But tun_info
can be overwritten by tunnel send action. This would result in wrong
flow key for the recirculation.
Following patch copies flow-key meta data from OVS_CB packet key
itself thus avoids this bug.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Andy Zhou <azhou at nicira.com>


  Commit: e1da2b3834b57de0262975edd805d1c944e365a4
      https://github.com/openvswitch/ovs/commit/e1da2b3834b57de0262975edd805d1c944e365a4
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-08-14 (Thu, 14 Aug 2014)

  Changed paths:
    M datapath/flow_table.c

  Log Message:
  -----------
  datapath: Optimize Flow mask cache hash collision case.

In case hash collision on mask cache, OVS does extra flow lookup.
Following patch avoid it.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 00b975b6e8ab06ad3f03cdab019e92e0a79eca9b
      https://github.com/openvswitch/ovs/commit/00b975b6e8ab06ad3f03cdab019e92e0a79eca9b
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-08-14 (Thu, 14 Aug 2014)

  Changed paths:
    M datapath/flow_table.c

  Log Message:
  -----------
  datapath: Simplify flow mask cache delete.

Currently on mask delete OVS moves last mask to the deleted
place to keep flow cache consistent and compact for per cpu
cache. But that generate duplicate entries in mask cache array
which results in multiple flow lookups in case we miss flow
cache.
Following patch simply sets NULL for deleted entry.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Andy Zhou <azhou at nicira.com>


Compare: https://github.com/openvswitch/ovs/compare/5024d886d88e...00b975b6e8ab


More information about the git mailing list