<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/net/openvswitch/dp_notify.c, branch v6.6.132</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v6.6.132</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v6.6.132'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2019-07-08T22:53:25+00:00</updated>
<entry>
<title>net: openvswitch: use netif_ovs_is_port() instead of opencode</title>
<updated>2019-07-08T22:53:25+00:00</updated>
<author>
<name>Taehee Yoo</name>
<email>ap420073@gmail.com</email>
</author>
<published>2019-07-05T16:05:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=44e3725943b706d3625ad91b1a1069a18fd0775c'/>
<id>urn:sha1:44e3725943b706d3625ad91b1a1069a18fd0775c</id>
<content type='text'>
Use netif_ovs_is_port() function instead of open code.
This patch doesn't change logic.

Signed-off-by: Taehee Yoo &lt;ap420073@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 269</title>
<updated>2019-06-05T15:30:29+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2019-05-29T14:12:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c942299924a70b458320846e53b742ba11e985b3'/>
<id>urn:sha1:c942299924a70b458320846e53b742ba11e985b3</id>
<content type='text'>
Based on 1 normalized pattern(s):

  this program is free software you can redistribute it and or modify
  it under the terms of version 2 of the gnu general public license as
  published by the free software foundation this program is
  distributed in the hope that it will be useful but without any
  warranty without even the implied warranty of merchantability or
  fitness for a particular purpose see the gnu general public license
  for more details you should have received a copy of the gnu general
  public license along with this program if not write to the free
  software foundation inc 51 franklin street fifth floor boston ma
  02110 1301 usa

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-only

has been chosen to replace the boilerplate/reference in 21 file(s).

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Reviewed-by: Alexios Zavras &lt;alexios.zavras@intel.com&gt;
Reviewed-by: Allison Randal &lt;allison@lohutok.net&gt;
Reviewed-by: Richard Fontana &lt;rfontana@redhat.com&gt;
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190529141334.228102212@linutronix.de
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>openvswitch: reliable interface indentification in port dumps</title>
<updated>2017-11-05T12:49:17+00:00</updated>
<author>
<name>Jiri Benc</name>
<email>jbenc@redhat.com</email>
</author>
<published>2017-11-02T19:04:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=9354d452034273a50a4fd703bea31e5d6b1fc20b'/>
<id>urn:sha1:9354d452034273a50a4fd703bea31e5d6b1fc20b</id>
<content type='text'>
This patch allows reliable identification of netdevice interfaces connected
to openvswitch bridges. In particular, user space queries the netdev
interfaces belonging to the ports for statistics, up/down state, etc.
Datapath dump needs to provide enough information for the user space to be
able to do that.

Currently, only interface names are returned. This is not sufficient, as
openvswitch allows its ports to be in different name spaces and the
interface name is valid only in its name space. What is needed and generally
used in other netlink APIs, is the pair ifindex+netnsid.

The solution is addition of the ifindex+netnsid pair (or only ifindex if in
the same name space) to vport get/dump operation.

On request side, ideally the ifindex+netnsid pair could be used to
get/set/del the corresponding vport. This is not implemented by this patch
and can be added later if needed.

Signed-off-by: Jiri Benc &lt;jbenc@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>openvswitch: fix hangup on vxlan/gre/geneve device deletion</title>
<updated>2015-12-03T19:29:25+00:00</updated>
<author>
<name>Paolo Abeni</name>
<email>pabeni@redhat.com</email>
</author>
<published>2015-12-01T17:33:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=13175303024c8f4cd09e51079a8fcbbe572111ec'/>
<id>urn:sha1:13175303024c8f4cd09e51079a8fcbbe572111ec</id>
<content type='text'>
Each openvswitch tunnel vport (vxlan,gre,geneve) holds a reference
to the underlying tunnel device, but never released it when such
device is deleted.
Deleting the underlying device via the ip tool cause the kernel to
hangup in the netdev_wait_allrefs() loop.
This commit ensure that on device unregistration dp_detach_port_notify()
is called for all vports that hold the device reference, properly
releasing it.

Fixes: 614732eaa12d ("openvswitch: Use regular VXLAN net_device device")
Fixes: b2acd1dc3949 ("openvswitch: Use regular GRE net_device instead of vport")
Fixes: 6b001e682e90 ("openvswitch: Use Geneve device.")
Signed-off-by: Paolo Abeni &lt;pabeni@redhat.com&gt;
Acked-by: Flavio Leitner &lt;fbl@sysclose.org&gt;
Acked-by: Pravin B Shelar &lt;pshelar@nicira.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</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.radix-linux.su/kernel/linux.git/commit/?id=be4ace6e6b1bc12e18b25fe764917e09a1f96d7b'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>genetlink: make multicast groups const, prevent abuse</title>
<updated>2013-11-19T21:39:06+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2013-11-19T14:19:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2a94fe48f32ccf7321450a2cc07f2b724a444e5b'/>
<id>urn:sha1:2a94fe48f32ccf7321450a2cc07f2b724a444e5b</id>
<content type='text'>
Register generic netlink multicast groups as an array with
the family and give them contiguous group IDs. Then instead
of passing the global group ID to the various functions that
send messages, pass the ID relative to the family - for most
families that's just 0 because the only have one group.

This avoids the list_head and ID in each group, adding a new
field for the mcast group ID offset to the family.

At the same time, this allows us to prevent abusing groups
again like the quota and dropmon code did, since we can now
check that a family only uses a group it owns.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>genetlink: pass family to functions using groups</title>
<updated>2013-11-19T21:39:06+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2013-11-19T14:19:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=68eb55031da7c967d954e5f9415cd05f4abdb692'/>
<id>urn:sha1:68eb55031da7c967d954e5f9415cd05f4abdb692</id>
<content type='text'>
This doesn't really change anything, but prepares for the
next patch that will change the APIs to pass the group ID
within the family, rather than the global group ID.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>genetlink: add and use genl_set_err()</title>
<updated>2013-11-19T21:39:06+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2013-11-19T14:19:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=62b68e99faa802352e9cb2ae91adecd8dfddf1b8'/>
<id>urn:sha1:62b68e99faa802352e9cb2ae91adecd8dfddf1b8</id>
<content type='text'>
Add a static inline to generic netlink to wrap netlink_set_err()
to make it easier to use here - use it in openvswitch (the only
generic netlink user of netlink_set_err()).

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>openvswitch: fix vport-netdev unregister</title>
<updated>2013-10-16T21:50:22+00:00</updated>
<author>
<name>Alexei Starovoitov</name>
<email>ast@plumgrid.com</email>
</author>
<published>2013-10-15T21:54:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b07c26511e94ab856f3700c56d582c0da36d5b4d'/>
<id>urn:sha1:b07c26511e94ab856f3700c56d582c0da36d5b4d</id>
<content type='text'>
The combination of two commits:
commit 8e4e1713e4
("openvswitch: Simplify datapath locking.")
commit 2537b4dd0a
("openvswitch:: link upper device for port devices")

introduced a bug where upper_dev wasn't unlinked upon
netdev_unregister notification

The following steps:

  modprobe openvswitch
  ovs-dpctl add-dp test
  ip tuntap add dev tap1 mode tap
  ovs-dpctl add-if test tap1
  ip tuntap del dev tap1 mode tap

are causing multiple warnings:

[   62.747557] gre: GRE over IPv4 demultiplexor driver
[   62.749579] openvswitch: Open vSwitch switching datapath
[   62.755087] device test entered promiscuous mode
[   62.765911] device tap1 entered promiscuous mode
[   62.766033] IPv6: ADDRCONF(NETDEV_UP): tap1: link is not ready
[   62.769017] ------------[ cut here ]------------
[   62.769022] WARNING: CPU: 1 PID: 3267 at net/core/dev.c:5501 rollback_registered_many+0x20f/0x240()
[   62.769023] Modules linked in: openvswitch gre vxlan ip_tunnel libcrc32c ip6table_filter ip6_tables ebtable_nat ebtables nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_CHECKSUM iptable_mangle ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc vhost_net macvtap macvlan vhost kvm_intel kvm dm_crypt iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi hid_generic mxm_wmi eeepc_wmi asus_wmi sparse_keymap dm_multipath psmouse serio_raw usbhid hid parport_pc ppdev firewire_ohci lpc_ich firewire_core e1000e crc_itu_t binfmt_misc igb dca ptp pps_core mac_hid wmi lp parport i2o_config i2o_block video
[   62.769051] CPU: 1 PID: 3267 Comm: ip Not tainted 3.12.0-rc3+ #60
[   62.769052] Hardware name: System manufacturer System Product Name/P8Z77 WS, BIOS 3007 07/26/2012
[   62.769053]  0000000000000009 ffff8807f25cbd28 ffffffff8175e575 0000000000000006
[   62.769055]  0000000000000000 ffff8807f25cbd68 ffffffff8105314c ffff8807f25cbd58
[   62.769057]  ffff8807f2634000 ffff8807f25cbdc8 ffff8807f25cbd88 ffff8807f25cbdc8
[   62.769059] Call Trace:
[   62.769062]  [&lt;ffffffff8175e575&gt;] dump_stack+0x55/0x76
[   62.769065]  [&lt;ffffffff8105314c&gt;] warn_slowpath_common+0x8c/0xc0
[   62.769067]  [&lt;ffffffff8105319a&gt;] warn_slowpath_null+0x1a/0x20
[   62.769069]  [&lt;ffffffff8162a04f&gt;] rollback_registered_many+0x20f/0x240
[   62.769071]  [&lt;ffffffff8162a101&gt;] rollback_registered+0x31/0x40
[   62.769073]  [&lt;ffffffff8162a488&gt;] unregister_netdevice_queue+0x58/0x90
[   62.769075]  [&lt;ffffffff8154f900&gt;] __tun_detach+0x140/0x340
[   62.769077]  [&lt;ffffffff8154fb36&gt;] tun_chr_close+0x36/0x60
[   62.769080]  [&lt;ffffffff811bddaf&gt;] __fput+0xff/0x260
[   62.769082]  [&lt;ffffffff811bdf5e&gt;] ____fput+0xe/0x10
[   62.769084]  [&lt;ffffffff8107b515&gt;] task_work_run+0xb5/0xe0
[   62.769087]  [&lt;ffffffff810029b9&gt;] do_notify_resume+0x59/0x80
[   62.769089]  [&lt;ffffffff813a41fe&gt;] ? trace_hardirqs_on_thunk+0x3a/0x3f
[   62.769091]  [&lt;ffffffff81770f5a&gt;] int_signal+0x12/0x17
[   62.769093] ---[ end trace 838756c62e156ffb ]---
[   62.769481] ------------[ cut here ]------------
[   62.769485] WARNING: CPU: 1 PID: 92 at fs/sysfs/inode.c:325 sysfs_hash_and_remove+0xa9/0xb0()
[   62.769486] sysfs: can not remove 'master', no directory
[   62.769486] Modules linked in: openvswitch gre vxlan ip_tunnel libcrc32c ip6table_filter ip6_tables ebtable_nat ebtables nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_CHECKSUM iptable_mangle ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc vhost_net macvtap macvlan vhost kvm_intel kvm dm_crypt iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi hid_generic mxm_wmi eeepc_wmi asus_wmi sparse_keymap dm_multipath psmouse serio_raw usbhid hid parport_pc ppdev firewire_ohci lpc_ich firewire_core e1000e crc_itu_t binfmt_misc igb dca ptp pps_core mac_hid wmi lp parport i2o_config i2o_block video
[   62.769514] CPU: 1 PID: 92 Comm: kworker/1:2 Tainted: G        W    3.12.0-rc3+ #60
[   62.769515] Hardware name: System manufacturer System Product Name/P8Z77 WS, BIOS 3007 07/26/2012
[   62.769518] Workqueue: events ovs_dp_notify_wq [openvswitch]
[   62.769519]  0000000000000009 ffff880807ad3ac8 ffffffff8175e575 0000000000000006
[   62.769521]  ffff880807ad3b18 ffff880807ad3b08 ffffffff8105314c ffff880807ad3b28
[   62.769523]  0000000000000000 ffffffff81a87a1f ffff8807f2634000 ffff880037038500
[   62.769525] Call Trace:
[   62.769528]  [&lt;ffffffff8175e575&gt;] dump_stack+0x55/0x76
[   62.769529]  [&lt;ffffffff8105314c&gt;] warn_slowpath_common+0x8c/0xc0
[   62.769531]  [&lt;ffffffff81053236&gt;] warn_slowpath_fmt+0x46/0x50
[   62.769533]  [&lt;ffffffff8123e7e9&gt;] sysfs_hash_and_remove+0xa9/0xb0
[   62.769535]  [&lt;ffffffff81240e96&gt;] sysfs_remove_link+0x26/0x30
[   62.769538]  [&lt;ffffffff81631ef7&gt;] __netdev_adjacent_dev_remove+0xf7/0x150
[   62.769540]  [&lt;ffffffff81632037&gt;] __netdev_adjacent_dev_unlink_lists+0x27/0x50
[   62.769542]  [&lt;ffffffff8163213a&gt;] __netdev_adjacent_dev_unlink_neighbour+0x3a/0x50
[   62.769544]  [&lt;ffffffff8163218d&gt;] netdev_upper_dev_unlink+0x3d/0x140
[   62.769548]  [&lt;ffffffffa033c2db&gt;] netdev_destroy+0x4b/0x80 [openvswitch]
[   62.769550]  [&lt;ffffffffa033b696&gt;] ovs_vport_del+0x46/0x60 [openvswitch]
[   62.769552]  [&lt;ffffffffa0335314&gt;] ovs_dp_detach_port+0x44/0x60 [openvswitch]
[   62.769555]  [&lt;ffffffffa0336574&gt;] ovs_dp_notify_wq+0xb4/0x150 [openvswitch]
[   62.769557]  [&lt;ffffffff81075c28&gt;] process_one_work+0x1d8/0x6a0
[   62.769559]  [&lt;ffffffff81075bc8&gt;] ? process_one_work+0x178/0x6a0
[   62.769562]  [&lt;ffffffff8107659b&gt;] worker_thread+0x11b/0x370
[   62.769564]  [&lt;ffffffff81076480&gt;] ? rescuer_thread+0x350/0x350
[   62.769566]  [&lt;ffffffff8107f44a&gt;] kthread+0xea/0xf0
[   62.769568]  [&lt;ffffffff8107f360&gt;] ? flush_kthread_worker+0x150/0x150
[   62.769570]  [&lt;ffffffff81770bac&gt;] ret_from_fork+0x7c/0xb0
[   62.769572]  [&lt;ffffffff8107f360&gt;] ? flush_kthread_worker+0x150/0x150
[   62.769573] ---[ end trace 838756c62e156ffc ]---
[   62.769574] ------------[ cut here ]------------
[   62.769576] WARNING: CPU: 1 PID: 92 at fs/sysfs/inode.c:325 sysfs_hash_and_remove+0xa9/0xb0()
[   62.769577] sysfs: can not remove 'upper_test', no directory
[   62.769577] Modules linked in: openvswitch gre vxlan ip_tunnel libcrc32c ip6table_filter ip6_tables ebtable_nat ebtables nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_CHECKSUM iptable_mangle ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc vhost_net macvtap macvlan vhost kvm_intel kvm dm_crypt iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi hid_generic mxm_wmi eeepc_wmi asus_wmi sparse_keymap dm_multipath psmouse serio_raw usbhid hid parport_pc ppdev firewire_ohci lpc_ich firewire_core e1000e crc_itu_t binfmt_misc igb dca ptp pps_core mac_hid wmi lp parport i2o_config i2o_block video
[   62.769603] CPU: 1 PID: 92 Comm: kworker/1:2 Tainted: G        W    3.12.0-rc3+ #60
[   62.769604] Hardware name: System manufacturer System Product Name/P8Z77 WS, BIOS 3007 07/26/2012
[   62.769606] Workqueue: events ovs_dp_notify_wq [openvswitch]
[   62.769607]  0000000000000009 ffff880807ad3ac8 ffffffff8175e575 0000000000000006
[   62.769609]  ffff880807ad3b18 ffff880807ad3b08 ffffffff8105314c ffff880807ad3b58
[   62.769611]  0000000000000000 ffff880807ad3bd9 ffff8807f2634000 ffff880037038500
[   62.769613] Call Trace:
[   62.769615]  [&lt;ffffffff8175e575&gt;] dump_stack+0x55/0x76
[   62.769617]  [&lt;ffffffff8105314c&gt;] warn_slowpath_common+0x8c/0xc0
[   62.769619]  [&lt;ffffffff81053236&gt;] warn_slowpath_fmt+0x46/0x50
[   62.769621]  [&lt;ffffffff8123e7e9&gt;] sysfs_hash_and_remove+0xa9/0xb0
[   62.769622]  [&lt;ffffffff81240e96&gt;] sysfs_remove_link+0x26/0x30
[   62.769624]  [&lt;ffffffff81631f22&gt;] __netdev_adjacent_dev_remove+0x122/0x150
[   62.769627]  [&lt;ffffffff81632037&gt;] __netdev_adjacent_dev_unlink_lists+0x27/0x50
[   62.769629]  [&lt;ffffffff8163213a&gt;] __netdev_adjacent_dev_unlink_neighbour+0x3a/0x50
[   62.769631]  [&lt;ffffffff8163218d&gt;] netdev_upper_dev_unlink+0x3d/0x140
[   62.769633]  [&lt;ffffffffa033c2db&gt;] netdev_destroy+0x4b/0x80 [openvswitch]
[   62.769636]  [&lt;ffffffffa033b696&gt;] ovs_vport_del+0x46/0x60 [openvswitch]
[   62.769638]  [&lt;ffffffffa0335314&gt;] ovs_dp_detach_port+0x44/0x60 [openvswitch]
[   62.769640]  [&lt;ffffffffa0336574&gt;] ovs_dp_notify_wq+0xb4/0x150 [openvswitch]
[   62.769642]  [&lt;ffffffff81075c28&gt;] process_one_work+0x1d8/0x6a0
[   62.769644]  [&lt;ffffffff81075bc8&gt;] ? process_one_work+0x178/0x6a0
[   62.769646]  [&lt;ffffffff8107659b&gt;] worker_thread+0x11b/0x370
[   62.769648]  [&lt;ffffffff81076480&gt;] ? rescuer_thread+0x350/0x350
[   62.769650]  [&lt;ffffffff8107f44a&gt;] kthread+0xea/0xf0
[   62.769652]  [&lt;ffffffff8107f360&gt;] ? flush_kthread_worker+0x150/0x150
[   62.769654]  [&lt;ffffffff81770bac&gt;] ret_from_fork+0x7c/0xb0
[   62.769656]  [&lt;ffffffff8107f360&gt;] ? flush_kthread_worker+0x150/0x150
[   62.769657] ---[ end trace 838756c62e156ffd ]---
[   62.769724] device tap1 left promiscuous mode

This patch also affects moving devices between net namespaces.

OVS used to ignore netns move notifications which caused problems.
Like:
  ovs-dpctl add-if test tap1
  ip link set tap1 netns 3512
and then removing tap1 inside the namespace will cause hang on missing dev_put.

With this patch OVS will detach dev upon receiving netns move event.

Signed-off-by: Alexei Starovoitov &lt;ast@plumgrid.com&gt;
Signed-off-by: Jesse Gross &lt;jesse@nicira.com&gt;
</content>
</entry>
<entry>
<title>net: pass info struct via netdevice notifier</title>
<updated>2013-05-28T20:11:01+00:00</updated>
<author>
<name>Jiri Pirko</name>
<email>jiri@resnulli.us</email>
</author>
<published>2013-05-28T01:30:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=351638e7deeed2ec8ce451b53d33921b3da68f83'/>
<id>urn:sha1:351638e7deeed2ec8ce451b53d33921b3da68f83</id>
<content type='text'>
So far, only net_device * could be passed along with netdevice notifier
event. This patch provides a possibility to pass custom structure
able to provide info that event listener needs to know.

Signed-off-by: Jiri Pirko &lt;jiri@resnulli.us&gt;

v2-&gt;v3: fix typo on simeth
	shortened dev_getter
	shortened notifier_info struct name
v1-&gt;v2: fix notifier_call parameter in call_netdevice_notifier()
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
