<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/net/openvswitch/vport-internal_dev.c, branch v4.4.90</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>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2015-10-24T13:54:12+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2015-10-24T13:54:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ba3e2084f268bdfed7627046e58a2218037e15af'/>
<id>ba3e2084f268bdfed7627046e58a2218037e15af</id>
<content type='text'>
Conflicts:
	net/ipv6/xfrm6_output.c
	net/openvswitch/flow_netlink.c
	net/openvswitch/vport-gre.c
	net/openvswitch/vport-vxlan.c
	net/openvswitch/vport.c
	net/openvswitch/vport.h

The openvswitch conflicts were overlapping changes.  One was
the egress tunnel info fix in 'net' and the other was the
vport -&gt;send() op simplification in 'net-next'.

The xfrm6_output.c conflicts was also a simplification
overlapping a bug fix.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	net/ipv6/xfrm6_output.c
	net/openvswitch/flow_netlink.c
	net/openvswitch/vport-gre.c
	net/openvswitch/vport-vxlan.c
	net/openvswitch/vport.c
	net/openvswitch/vport.h

The openvswitch conflicts were overlapping changes.  One was
the egress tunnel info fix in 'net' and the other was the
vport -&gt;send() op simplification in 'net-next'.

The xfrm6_output.c conflicts was also a simplification
overlapping a bug fix.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>openvswitch: Use dev_queue_xmit for vport send.</title>
<updated>2015-10-22T13:46:16+00:00</updated>
<author>
<name>Pravin B Shelar</name>
<email>pshelar@nicira.com</email>
</author>
<published>2015-10-21T06:00:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=aec15924740edc9886051593bc7769873be9498b'/>
<id>aec15924740edc9886051593bc7769873be9498b</id>
<content type='text'>
With use of lwtunnel, we can directly call dev_queue_xmit()
rather than calling netdev vport send operation.
Following change make tunnel vport code bit cleaner.

Signed-off-by: Pravin B Shelar &lt;pshelar@nicira.com&gt;
Acked-by: Thomas Graf &lt;tgraf@suug.ch&gt;
Acked-by: Jiri Benc &lt;jbenc@redhat.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>
With use of lwtunnel, we can directly call dev_queue_xmit()
rather than calling netdev vport send operation.
Following change make tunnel vport code bit cleaner.

Signed-off-by: Pravin B Shelar &lt;pshelar@nicira.com&gt;
Acked-by: Thomas Graf &lt;tgraf@suug.ch&gt;
Acked-by: Jiri Benc &lt;jbenc@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>openvswitch: Allocate memory for ovs internal device stats.</title>
<updated>2015-10-22T02:06:36+00:00</updated>
<author>
<name>James Morse</name>
<email>james.morse@arm.com</email>
</author>
<published>2015-10-19T15:31:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1241365f1aeb24ef0ffe82970f7c558022ddc85f'/>
<id>1241365f1aeb24ef0ffe82970f7c558022ddc85f</id>
<content type='text'>
"openvswitch: Remove vport stats" removed the per-vport statistics, in
order to use the netdev's statistics fields.
"openvswitch: Fix ovs_vport_get_stats()" fixed the export of these stats
to user-space, by using the provided netdev_ops to collate them - but ovs
internal devices still use an unallocated dev-&gt;tstats field to count
packets, which are no longer exported by this api.

Allocate the dev-&gt;tstats field for ovs internal devices, and wire up
ndo_get_stats64 with the original implementation of
ovs_vport_get_stats().

On its own, "openvswitch: Fix ovs_vport_get_stats()" fixes the OOPs,
unmasking a full-on panic on arm64:

=============%&lt;==============
[&lt;ffffffbffc00ce4c&gt;] internal_dev_recv+0xa8/0x170 [openvswitch]
[&lt;ffffffbffc0008b4&gt;] do_output.isra.31+0x60/0x19c [openvswitch]
[&lt;ffffffbffc000bf8&gt;] do_execute_actions+0x208/0x11c0 [openvswitch]
[&lt;ffffffbffc001c78&gt;] ovs_execute_actions+0xc8/0x238 [openvswitch]
[&lt;ffffffbffc003dfc&gt;] ovs_packet_cmd_execute+0x21c/0x288 [openvswitch]
[&lt;ffffffc0005e8c5c&gt;] genl_family_rcv_msg+0x1b0/0x310
[&lt;ffffffc0005e8e60&gt;] genl_rcv_msg+0xa4/0xe4
[&lt;ffffffc0005e7ddc&gt;] netlink_rcv_skb+0xb0/0xdc
[&lt;ffffffc0005e8a94&gt;] genl_rcv+0x38/0x50
[&lt;ffffffc0005e76c0&gt;] netlink_unicast+0x164/0x210
[&lt;ffffffc0005e7b70&gt;] netlink_sendmsg+0x304/0x368
[&lt;ffffffc0005a21c0&gt;] sock_sendmsg+0x30/0x4c
[SNIP]
Kernel panic - not syncing: Fatal exception in interrupt
=============%&lt;==============

Fixes: 8c876639c985 ("openvswitch: Remove vport stats.")
Signed-off-by: James Morse &lt;james.morse@arm.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>
"openvswitch: Remove vport stats" removed the per-vport statistics, in
order to use the netdev's statistics fields.
"openvswitch: Fix ovs_vport_get_stats()" fixed the export of these stats
to user-space, by using the provided netdev_ops to collate them - but ovs
internal devices still use an unallocated dev-&gt;tstats field to count
packets, which are no longer exported by this api.

Allocate the dev-&gt;tstats field for ovs internal devices, and wire up
ndo_get_stats64 with the original implementation of
ovs_vport_get_stats().

On its own, "openvswitch: Fix ovs_vport_get_stats()" fixes the OOPs,
unmasking a full-on panic on arm64:

=============%&lt;==============
[&lt;ffffffbffc00ce4c&gt;] internal_dev_recv+0xa8/0x170 [openvswitch]
[&lt;ffffffbffc0008b4&gt;] do_output.isra.31+0x60/0x19c [openvswitch]
[&lt;ffffffbffc000bf8&gt;] do_execute_actions+0x208/0x11c0 [openvswitch]
[&lt;ffffffbffc001c78&gt;] ovs_execute_actions+0xc8/0x238 [openvswitch]
[&lt;ffffffbffc003dfc&gt;] ovs_packet_cmd_execute+0x21c/0x288 [openvswitch]
[&lt;ffffffc0005e8c5c&gt;] genl_family_rcv_msg+0x1b0/0x310
[&lt;ffffffc0005e8e60&gt;] genl_rcv_msg+0xa4/0xe4
[&lt;ffffffc0005e7ddc&gt;] netlink_rcv_skb+0xb0/0xdc
[&lt;ffffffc0005e8a94&gt;] genl_rcv+0x38/0x50
[&lt;ffffffc0005e76c0&gt;] netlink_unicast+0x164/0x210
[&lt;ffffffc0005e7b70&gt;] netlink_sendmsg+0x304/0x368
[&lt;ffffffc0005a21c0&gt;] sock_sendmsg+0x30/0x4c
[SNIP]
Kernel panic - not syncing: Fatal exception in interrupt
=============%&lt;==============

Fixes: 8c876639c985 ("openvswitch: Remove vport stats.")
Signed-off-by: James Morse &lt;james.morse@arm.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: Remove vport stats.</title>
<updated>2015-08-30T02:07:15+00:00</updated>
<author>
<name>Pravin B Shelar</name>
<email>pshelar@nicira.com</email>
</author>
<published>2015-08-30T00:44:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8c876639c98501b049269b554bf4ecbb8f9c012f'/>
<id>8c876639c98501b049269b554bf4ecbb8f9c012f</id>
<content type='text'>
Since all vport types are now backed by netdev, we can directly
use netdev stats. Following patch removes redundant stat
from vport.

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>
Since all vport types are now backed by netdev, we can directly
use netdev stats. Following patch removes redundant stat
from vport.

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>net: add netif_is_ovs_master helper with IFF_OPENVSWITCH private flag</title>
<updated>2015-08-27T23:28:35+00:00</updated>
<author>
<name>Jiri Pirko</name>
<email>jiri@mellanox.com</email>
</author>
<published>2015-08-27T07:31:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=35d4e1725202e6656fcfa8b88447327ad3ae0c0c'/>
<id>35d4e1725202e6656fcfa8b88447327ad3ae0c0c</id>
<content type='text'>
Add this helper so code can easily figure out if netdev is openswitch.

Signed-off-by: Jiri Pirko &lt;jiri@mellanox.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>
Add this helper so code can easily figure out if netdev is openswitch.

Signed-off-by: Jiri Pirko &lt;jiri@mellanox.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>openvswitch: Abstract vport name through ovs_vport_name()</title>
<updated>2015-07-21T17:39:07+00:00</updated>
<author>
<name>Thomas Graf</name>
<email>tgraf@suug.ch</email>
</author>
<published>2015-07-21T08:44:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c9db965c524ea27451e60d5ddcd242f6c33a70fd'/>
<id>c9db965c524ea27451e60d5ddcd242f6c33a70fd</id>
<content type='text'>
This allows to get rid of the get_name() vport ops later on.

Signed-off-by: Thomas Graf &lt;tgraf@suug.ch&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 allows to get rid of the get_name() vport ops later on.

Signed-off-by: Thomas Graf &lt;tgraf@suug.ch&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>openvswitch: Move dev pointer into vport itself</title>
<updated>2015-07-21T17:39:07+00:00</updated>
<author>
<name>Thomas Graf</name>
<email>tgraf@suug.ch</email>
</author>
<published>2015-07-21T08:44:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=be4ace6e6b1bc12e18b25fe764917e09a1f96d7b'/>
<id>be4ace6e6b1bc12e18b25fe764917e09a1f96d7b</id>
<content type='text'>
This is the first step in representing all OVS vports as regular
struct net_devices. Move the net_device pointer into the vport
structure itself to get rid of struct vport_netdev.

Signed-off-by: Thomas Graf &lt;tgraf@suug.ch&gt;
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>
This is the first step in representing all OVS vports as regular
struct net_devices. Move the net_device pointer into the vport
structure itself to get rid of struct vport_netdev.

Signed-off-by: Thomas Graf &lt;tgraf@suug.ch&gt;
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: Drop packets when interdev is not up</title>
<updated>2014-11-06T07:52:35+00:00</updated>
<author>
<name>Chunhe Li</name>
<email>lichunhe@huawei.com</email>
</author>
<published>2014-09-08T20:17:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e1f9c356d2946ec717d035ccac5532b1c5709c52'/>
<id>e1f9c356d2946ec717d035ccac5532b1c5709c52</id>
<content type='text'>
If the internal device is not up, it should drop received
packets. Sometimes it receive the broadcast or multicast
packets, and the ip protocol stack will casue more cpu
usage wasted.

Signed-off-by: Chunhe Li &lt;lichunhe@huawei.com&gt;
Signed-off-by: Pravin B Shelar &lt;pshelar@nicira.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the internal device is not up, it should drop received
packets. Sometimes it receive the broadcast or multicast
packets, and the ip protocol stack will casue more cpu
usage wasted.

Signed-off-by: Chunhe Li &lt;lichunhe@huawei.com&gt;
Signed-off-by: Pravin B Shelar &lt;pshelar@nicira.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ovs: Turn vports with dependencies into separate modules</title>
<updated>2014-10-28T18:43:18+00:00</updated>
<author>
<name>Thomas Graf</name>
<email>tgraf@suug.ch</email>
</author>
<published>2014-10-22T15:29:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=62b9c8d0372d11a5e048c6b56997374901e0445b'/>
<id>62b9c8d0372d11a5e048c6b56997374901e0445b</id>
<content type='text'>
The internal and netdev vport remain part of openvswitch.ko. Encap
vports including vxlan, gre, and geneve can be built as separate
modules and are loaded on demand. Modules can be unloaded after use.
Datapath ports keep a reference to the vport module during their
lifetime.

Allows to remove the error prone maintenance of the global list
vport_ops_list.

Signed-off-by: Thomas Graf &lt;tgraf@suug.ch&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>
The internal and netdev vport remain part of openvswitch.ko. Encap
vports including vxlan, gre, and geneve can be built as separate
modules and are loaded on demand. Modules can be unloaded after use.
Datapath ports keep a reference to the vport module during their
lifetime.

Allows to remove the error prone maintenance of the global list
vport_ops_list.

Signed-off-by: Thomas Graf &lt;tgraf@suug.ch&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>openvswitch: Enable tunnel GSO for OVS bridge.</title>
<updated>2014-07-24T08:15:04+00:00</updated>
<author>
<name>Pravin B Shelar</name>
<email>pshelar@nicira.com</email>
</author>
<published>2014-07-17T22:14:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f6eec614d2252a99b861e288b6301599d2d58da4'/>
<id>f6eec614d2252a99b861e288b6301599d2d58da4</id>
<content type='text'>
Following patch enables all available tunnel GSO features for OVS
bridge device so that ovs can use hardware offloads available to
underling device.

Signed-off-by: Pravin B Shelar &lt;pshelar@nicira.com&gt;
Acked-by: Andy Zhou &lt;azhou@nicira.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Following patch enables all available tunnel GSO features for OVS
bridge device so that ovs can use hardware offloads available to
underling device.

Signed-off-by: Pravin B Shelar &lt;pshelar@nicira.com&gt;
Acked-by: Andy Zhou &lt;azhou@nicira.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
