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

GitHub noreply at github.com
Thu Aug 7 01:04:20 UTC 2014


  Branch: refs/heads/master
  Home:   https://github.com/openvswitch/ovs
  Commit: c135bba1a9b83fcc32a48bab3039b9626c51c03e
      https://github.com/openvswitch/ovs/commit/c135bba1a9b83fcc32a48bab3039b9626c51c03e
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-08-06 (Wed, 06 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: 7f45215aec6cefab34fef548fe464f2a361e2a6f
      https://github.com/openvswitch/ovs/commit/7f45215aec6cefab34fef548fe464f2a361e2a6f
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-08-06 (Wed, 06 Aug 2014)

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

  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: 0e6efbe2712da03522532dc5e84806a96f6a0dd1
      https://github.com/openvswitch/ovs/commit/0e6efbe2712da03522532dc5e84806a96f6a0dd1
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-08-06 (Wed, 06 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>


Compare: https://github.com/openvswitch/ovs/compare/fb42720ed20a...0e6efbe2712d


More information about the git mailing list