<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/net/openvswitch, branch v4.0-rc2</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>openvswitch: Fix key serialization.</title>
<updated>2015-02-15T04:20:40+00:00</updated>
<author>
<name>Pravin B Shelar</name>
<email>pshelar@nicira.com</email>
</author>
<published>2015-02-12T17:58:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=26ad0b83587fb6e9a20eef388b0587ada3da5d06'/>
<id>26ad0b83587fb6e9a20eef388b0587ada3da5d06</id>
<content type='text'>
Fix typo where mask is used rather than key.

Fixes: 74ed7ab9264("openvswitch: Add support for unique flow IDs.")
Reported-by: Joe Stringer &lt;joestringer@nicira.com&gt;
Signed-off-by: Pravin B Shelar &lt;pshelar@nicira.com&gt;
Acked-by: Joe Stringer &lt;joestringer@nicira.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix typo where mask is used rather than key.

Fixes: 74ed7ab9264("openvswitch: Add support for unique flow IDs.")
Reported-by: Joe Stringer &lt;joestringer@nicira.com&gt;
Signed-off-by: Pravin B Shelar &lt;pshelar@nicira.com&gt;
Acked-by: Joe Stringer &lt;joestringer@nicira.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>openvswitch: Add missing initialization in validate_and_copy_set_tun()</title>
<updated>2015-02-11T22:40:15+00:00</updated>
<author>
<name>Geert Uytterhoeven</name>
<email>geert@linux-m68k.org</email>
</author>
<published>2015-02-11T10:23:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=13101602c4a9f653d59af9469040797bc5b361ca'/>
<id>13101602c4a9f653d59af9469040797bc5b361ca</id>
<content type='text'>
net/openvswitch/flow_netlink.c: In function ‘validate_and_copy_set_tun’:
net/openvswitch/flow_netlink.c:1749: warning: ‘err’ may be used uninitialized in this function

If ipv4_tun_from_nlattr() returns a different positive value than
OVS_TUNNEL_KEY_ATTR_GENEVE_OPTS, err will be uninitialized, and
validate_and_copy_set_tun() may return an undefined value instead of a
zero success indicator. Initialize err to zero to fix this.

Fixes: 1dd144cf5b4b47e1 ("openvswitch: Support VXLAN Group Policy extension")
Signed-off-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Acked-by: Thomas Graf &lt;tgraf@suug.ch&gt;
Acked-by: Pravin B Shelar &lt;pshelar@nicira.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
net/openvswitch/flow_netlink.c: In function ‘validate_and_copy_set_tun’:
net/openvswitch/flow_netlink.c:1749: warning: ‘err’ may be used uninitialized in this function

If ipv4_tun_from_nlattr() returns a different positive value than
OVS_TUNNEL_KEY_ATTR_GENEVE_OPTS, err will be uninitialized, and
validate_and_copy_set_tun() may return an undefined value instead of a
zero success indicator. Initialize err to zero to fix this.

Fixes: 1dd144cf5b4b47e1 ("openvswitch: Support VXLAN Group Policy extension")
Signed-off-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Acked-by: Thomas Graf &lt;tgraf@suug.ch&gt;
Acked-by: Pravin B Shelar &lt;pshelar@nicira.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>openvswitch: Reset key metadata for packet execution.</title>
<updated>2015-02-11T22:40:15+00:00</updated>
<author>
<name>Pravin B Shelar</name>
<email>pshelar@nicira.com</email>
</author>
<published>2015-02-10T21:35:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b35725a285768d85b5ba1be7fe5002654a65ce88'/>
<id>b35725a285768d85b5ba1be7fe5002654a65ce88</id>
<content type='text'>
Userspace packet execute command pass down flow key for given
packet. But userspace can skip some parameter with zero value.
Therefore kernel needs to initialize key metadata to zero.

Fixes: 0714812134 ("openvswitch: Eliminate memset() from flow_extract.")
Signed-off-by: Pravin B Shelar &lt;pshelar@nicira.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Userspace packet execute command pass down flow key for given
packet. But userspace can skip some parameter with zero value.
Therefore kernel needs to initialize key metadata to zero.

Fixes: 0714812134 ("openvswitch: Eliminate memset() from flow_extract.")
Signed-off-by: Pravin B Shelar &lt;pshelar@nicira.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>openvswitch: Only set TUNNEL_VXLAN_OPT if VXLAN-GBP metadata is set</title>
<updated>2015-02-09T22:25:52+00:00</updated>
<author>
<name>Thomas Graf</name>
<email>tgraf@suug.ch</email>
</author>
<published>2015-02-09T15:56:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=fd3137cd33ae5590c45c81e9a46fe53b6ab5f66e'/>
<id>fd3137cd33ae5590c45c81e9a46fe53b6ab5f66e</id>
<content type='text'>
This avoids setting TUNNEL_VXLAN_OPT for VXLAN frames which don't
have any GBP metadata set. It is not invalid to set it but unnecessary.

Signed-off-by: Thomas Graf &lt;tgraf@suug.ch&gt;
Acked-by: Pravin B Shelar &lt;pshelar@nicira.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This avoids setting TUNNEL_VXLAN_OPT for VXLAN frames which don't
have any GBP metadata set. It is not invalid to set it but unnecessary.

Signed-off-by: Thomas Graf &lt;tgraf@suug.ch&gt;
Acked-by: Pravin B Shelar &lt;pshelar@nicira.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>openvswitch: Initialize unmasked key and uid len</title>
<updated>2015-02-08T08:51:14+00:00</updated>
<author>
<name>Pravin B Shelar</name>
<email>pshelar@nicira.com</email>
</author>
<published>2015-02-06T19:17:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ca539345f8767cca221b5aa77bf4329c725d0d7e'/>
<id>ca539345f8767cca221b5aa77bf4329c725d0d7e</id>
<content type='text'>
Flow alloc needs to initialize unmasked key pointer. Otherwise
it can crash kernel trying to free random unmasked-key pointer.

general protection fault: 0000 [#1] SMP
3.19.0-rc6-net-next+ #457
Hardware name: Supermicro X7DWU/X7DWU, BIOS  1.1 04/30/2008
RIP: 0010:[&lt;ffffffff8111df0e&gt;] [&lt;ffffffff8111df0e&gt;] kfree+0xac/0x196
Call Trace:
 [&lt;ffffffffa060bd87&gt;] flow_free+0x21/0x59 [openvswitch]
 [&lt;ffffffffa060bde0&gt;] ovs_flow_free+0x21/0x23 [openvswitch]
 [&lt;ffffffffa0605b4a&gt;] ovs_packet_cmd_execute+0x2f3/0x35f [openvswitch]
 [&lt;ffffffffa0605995&gt;] ? ovs_packet_cmd_execute+0x13e/0x35f [openvswitch]
 [&lt;ffffffff811fe6fb&gt;] ? nla_parse+0x4f/0xec
 [&lt;ffffffff8139a2fc&gt;] genl_family_rcv_msg+0x26d/0x2c9
 [&lt;ffffffff8107620f&gt;] ? __lock_acquire+0x90e/0x9aa
 [&lt;ffffffff8139a3be&gt;] genl_rcv_msg+0x66/0x89
 [&lt;ffffffff8139a358&gt;] ? genl_family_rcv_msg+0x2c9/0x2c9
 [&lt;ffffffff81399591&gt;] netlink_rcv_skb+0x3e/0x95
 [&lt;ffffffff81399898&gt;] ? genl_rcv+0x18/0x37
 [&lt;ffffffff813998a7&gt;] genl_rcv+0x27/0x37
 [&lt;ffffffff81399033&gt;] netlink_unicast+0x103/0x191
 [&lt;ffffffff81399382&gt;] netlink_sendmsg+0x2c1/0x310
 [&lt;ffffffff811007ad&gt;] ? might_fault+0x50/0xa0
 [&lt;ffffffff8135c773&gt;] do_sock_sendmsg+0x5f/0x7a
 [&lt;ffffffff8135c799&gt;] sock_sendmsg+0xb/0xd
 [&lt;ffffffff8135cacf&gt;] ___sys_sendmsg+0x1a3/0x218
 [&lt;ffffffff8113e54b&gt;] ? get_close_on_exec+0x86/0x86
 [&lt;ffffffff8115a9d0&gt;] ? fsnotify+0x32c/0x348
 [&lt;ffffffff8115a720&gt;] ? fsnotify+0x7c/0x348
 [&lt;ffffffff8113e5f5&gt;] ? __fget+0xaa/0xbf
 [&lt;ffffffff8113e54b&gt;] ? get_close_on_exec+0x86/0x86
 [&lt;ffffffff8135cccd&gt;] __sys_sendmsg+0x3d/0x5e
 [&lt;ffffffff8135cd02&gt;] SyS_sendmsg+0x14/0x16
 [&lt;ffffffff81411852&gt;] system_call_fastpath+0x12/0x17

Fixes: 74ed7ab9264("openvswitch: Add support for unique flow IDs.")
CC: Joe Stringer &lt;joestringer@nicira.com&gt;
Reported-by: Or Gerlitz &lt;ogerlitz@mellanox.com&gt;
Signed-off-by: Pravin B Shelar &lt;pshelar@nicira.com&gt;
Acked-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Flow alloc needs to initialize unmasked key pointer. Otherwise
it can crash kernel trying to free random unmasked-key pointer.

general protection fault: 0000 [#1] SMP
3.19.0-rc6-net-next+ #457
Hardware name: Supermicro X7DWU/X7DWU, BIOS  1.1 04/30/2008
RIP: 0010:[&lt;ffffffff8111df0e&gt;] [&lt;ffffffff8111df0e&gt;] kfree+0xac/0x196
Call Trace:
 [&lt;ffffffffa060bd87&gt;] flow_free+0x21/0x59 [openvswitch]
 [&lt;ffffffffa060bde0&gt;] ovs_flow_free+0x21/0x23 [openvswitch]
 [&lt;ffffffffa0605b4a&gt;] ovs_packet_cmd_execute+0x2f3/0x35f [openvswitch]
 [&lt;ffffffffa0605995&gt;] ? ovs_packet_cmd_execute+0x13e/0x35f [openvswitch]
 [&lt;ffffffff811fe6fb&gt;] ? nla_parse+0x4f/0xec
 [&lt;ffffffff8139a2fc&gt;] genl_family_rcv_msg+0x26d/0x2c9
 [&lt;ffffffff8107620f&gt;] ? __lock_acquire+0x90e/0x9aa
 [&lt;ffffffff8139a3be&gt;] genl_rcv_msg+0x66/0x89
 [&lt;ffffffff8139a358&gt;] ? genl_family_rcv_msg+0x2c9/0x2c9
 [&lt;ffffffff81399591&gt;] netlink_rcv_skb+0x3e/0x95
 [&lt;ffffffff81399898&gt;] ? genl_rcv+0x18/0x37
 [&lt;ffffffff813998a7&gt;] genl_rcv+0x27/0x37
 [&lt;ffffffff81399033&gt;] netlink_unicast+0x103/0x191
 [&lt;ffffffff81399382&gt;] netlink_sendmsg+0x2c1/0x310
 [&lt;ffffffff811007ad&gt;] ? might_fault+0x50/0xa0
 [&lt;ffffffff8135c773&gt;] do_sock_sendmsg+0x5f/0x7a
 [&lt;ffffffff8135c799&gt;] sock_sendmsg+0xb/0xd
 [&lt;ffffffff8135cacf&gt;] ___sys_sendmsg+0x1a3/0x218
 [&lt;ffffffff8113e54b&gt;] ? get_close_on_exec+0x86/0x86
 [&lt;ffffffff8115a9d0&gt;] ? fsnotify+0x32c/0x348
 [&lt;ffffffff8115a720&gt;] ? fsnotify+0x7c/0x348
 [&lt;ffffffff8113e5f5&gt;] ? __fget+0xaa/0xbf
 [&lt;ffffffff8113e54b&gt;] ? get_close_on_exec+0x86/0x86
 [&lt;ffffffff8135cccd&gt;] __sys_sendmsg+0x3d/0x5e
 [&lt;ffffffff8135cd02&gt;] SyS_sendmsg+0x14/0x16
 [&lt;ffffffff81411852&gt;] system_call_fastpath+0x12/0x17

Fixes: 74ed7ab9264("openvswitch: Add support for unique flow IDs.")
CC: Joe Stringer &lt;joestringer@nicira.com&gt;
Reported-by: Or Gerlitz &lt;ogerlitz@mellanox.com&gt;
Signed-off-by: Pravin B Shelar &lt;pshelar@nicira.com&gt;
Acked-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: openvswitch: Support masked set actions.</title>
<updated>2015-02-08T06:40:17+00:00</updated>
<author>
<name>Jarno Rajahalme</name>
<email>jrajahalme@nicira.com</email>
</author>
<published>2015-02-05T21:40:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=83d2b9ba1abca241df44a502b6da950a25856b5b'/>
<id>83d2b9ba1abca241df44a502b6da950a25856b5b</id>
<content type='text'>
OVS userspace already probes the openvswitch kernel module for
OVS_ACTION_ATTR_SET_MASKED support.  This patch adds the kernel module
implementation of masked set actions.

The existing set action sets many fields at once.  When only a subset
of the IP header fields, for example, should be modified, all the IP
fields need to be exact matched so that the other field values can be
copied to the set action.  A masked set action allows modification of
an arbitrary subset of the supported header bits without requiring the
rest to be matched.

Masked set action is now supported for all writeable key types, except
for the tunnel key.  The set tunnel action is an exception as any
input tunnel info is cleared before action processing starts, so there
is no tunnel info to mask.

The kernel module converts all (non-tunnel) set actions to masked set
actions.  This makes action processing more uniform, and results in
less branching and duplicating the action processing code.  When
returning actions to userspace, the fully masked set actions are
converted back to normal set actions.  We use a kernel internal action
code to be able to tell the userspace provided and converted masked
set actions apart.

Signed-off-by: Jarno Rajahalme &lt;jrajahalme@nicira.com&gt;
Acked-by: Pravin B Shelar &lt;pshelar@nicira.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
OVS userspace already probes the openvswitch kernel module for
OVS_ACTION_ATTR_SET_MASKED support.  This patch adds the kernel module
implementation of masked set actions.

The existing set action sets many fields at once.  When only a subset
of the IP header fields, for example, should be modified, all the IP
fields need to be exact matched so that the other field values can be
copied to the set action.  A masked set action allows modification of
an arbitrary subset of the supported header bits without requiring the
rest to be matched.

Masked set action is now supported for all writeable key types, except
for the tunnel key.  The set tunnel action is an exception as any
input tunnel info is cleared before action processing starts, so there
is no tunnel info to mask.

The kernel module converts all (non-tunnel) set actions to masked set
actions.  This makes action processing more uniform, and results in
less branching and duplicating the action processing code.  When
returning actions to userspace, the fully masked set actions are
converted back to normal set actions.  We use a kernel internal action
code to be able to tell the userspace provided and converted masked
set actions apart.

Signed-off-by: Jarno Rajahalme &lt;jrajahalme@nicira.com&gt;
Acked-by: Pravin B Shelar &lt;pshelar@nicira.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>openvswitch: Add support for checksums on UDP tunnels.</title>
<updated>2015-01-29T07:04:15+00:00</updated>
<author>
<name>Jesse Gross</name>
<email>jesse@nicira.com</email>
</author>
<published>2015-01-29T00:32:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b8693877ae016ac525d674d5d7a84ea0ea68ba60'/>
<id>b8693877ae016ac525d674d5d7a84ea0ea68ba60</id>
<content type='text'>
Currently, it isn't possible to request checksums on the outer UDP
header of tunnels - the TUNNEL_CSUM flag is ignored. This adds
support for requesting that UDP checksums be computed on transmit
and properly reported if they are present on receive.

Signed-off-by: Jesse Gross &lt;jesse@nicira.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently, it isn't possible to request checksums on the outer UDP
header of tunnels - the TUNNEL_CSUM flag is ignored. This adds
support for requesting that UDP checksums be computed on transmit
and properly reported if they are present on receive.

Signed-off-by: Jesse Gross &lt;jesse@nicira.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>openvswitch: Add support for unique flow IDs.</title>
<updated>2015-01-26T23:45:50+00:00</updated>
<author>
<name>Joe Stringer</name>
<email>joestringer@nicira.com</email>
</author>
<published>2015-01-22T00:42:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=74ed7ab9264c54471c7f057409d352052820d750'/>
<id>74ed7ab9264c54471c7f057409d352052820d750</id>
<content type='text'>
Previously, flows were manipulated by userspace specifying a full,
unmasked flow key. This adds significant burden onto flow
serialization/deserialization, particularly when dumping flows.

This patch adds an alternative way to refer to flows using a
variable-length "unique flow identifier" (UFID). At flow setup time,
userspace may specify a UFID for a flow, which is stored with the flow
and inserted into a separate table for lookup, in addition to the
standard flow table. Flows created using a UFID must be fetched or
deleted using the UFID.

All flow dump operations may now be made more terse with OVS_UFID_F_*
flags. For example, the OVS_UFID_F_OMIT_KEY flag allows responses to
omit the flow key from a datapath operation if the flow has a
corresponding UFID. This significantly reduces the time spent assembling
and transacting netlink messages. With all OVS_UFID_F_OMIT_* flags
enabled, the datapath only returns the UFID and statistics for each flow
during flow dump, increasing ovs-vswitchd revalidator performance by 40%
or more.

Signed-off-by: Joe Stringer &lt;joestringer@nicira.com&gt;
Acked-by: Pravin B Shelar &lt;pshelar@nicira.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, flows were manipulated by userspace specifying a full,
unmasked flow key. This adds significant burden onto flow
serialization/deserialization, particularly when dumping flows.

This patch adds an alternative way to refer to flows using a
variable-length "unique flow identifier" (UFID). At flow setup time,
userspace may specify a UFID for a flow, which is stored with the flow
and inserted into a separate table for lookup, in addition to the
standard flow table. Flows created using a UFID must be fetched or
deleted using the UFID.

All flow dump operations may now be made more terse with OVS_UFID_F_*
flags. For example, the OVS_UFID_F_OMIT_KEY flag allows responses to
omit the flow key from a datapath operation if the flow has a
corresponding UFID. This significantly reduces the time spent assembling
and transacting netlink messages. With all OVS_UFID_F_OMIT_* flags
enabled, the datapath only returns the UFID and statistics for each flow
during flow dump, increasing ovs-vswitchd revalidator performance by 40%
or more.

Signed-off-by: Joe Stringer &lt;joestringer@nicira.com&gt;
Acked-by: Pravin B Shelar &lt;pshelar@nicira.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>openvswitch: Use sw_flow_key_range for key ranges.</title>
<updated>2015-01-26T23:45:50+00:00</updated>
<author>
<name>Joe Stringer</name>
<email>joestringer@nicira.com</email>
</author>
<published>2015-01-22T00:42:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=272c2cf84152eb7fba11407d1649c85eee243e21'/>
<id>272c2cf84152eb7fba11407d1649c85eee243e21</id>
<content type='text'>
These minor tidyups make a future patch a little tidier.

Signed-off-by: Joe Stringer &lt;joestringer@nicira.com&gt;
Acked-by: Pravin B Shelar &lt;pshelar@nicira.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These minor tidyups make a future patch a little tidier.

Signed-off-by: Joe Stringer &lt;joestringer@nicira.com&gt;
Acked-by: Pravin B Shelar &lt;pshelar@nicira.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>openvswitch: Refactor ovs_flow_tbl_insert().</title>
<updated>2015-01-26T23:45:49+00:00</updated>
<author>
<name>Joe Stringer</name>
<email>joestringer@nicira.com</email>
</author>
<published>2015-01-22T00:42:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d29ab6f8a92eceb00d6085f028b6e05213faa72d'/>
<id>d29ab6f8a92eceb00d6085f028b6e05213faa72d</id>
<content type='text'>
Rework so that ovs_flow_tbl_insert() calls flow_{key,mask}_insert().
This tidies up a future patch.

Signed-off-by: Joe Stringer &lt;joestringer@nicira.com&gt;
Acked-by: Pravin B Shelar &lt;pshelar@nicira.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rework so that ovs_flow_tbl_insert() calls flow_{key,mask}_insert().
This tidies up a future patch.

Signed-off-by: Joe Stringer &lt;joestringer@nicira.com&gt;
Acked-by: Pravin B Shelar &lt;pshelar@nicira.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
