All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events
@ 2017-04-12  0:02 David Ahern
  2017-04-12  0:02 ` [PATCH net-next v2 1/8] rtnetlink: Do not generate notifications for MTU events David Ahern
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: David Ahern @ 2017-04-12  0:02 UTC (permalink / raw)
  To: netdev; +Cc: David Ahern

Vlad's recent patch to add the event type to rtnetlink notifications
points out a number of redundant or unnecessary notifications sent to
userspace for events that are essentially internal to the kernel. Trim
the list to put a dent in the notification storm.

v2
- rebased to top of net-next with IFLA_EVENT patch reverted
- dropped removal NETDEV_CHANGEINFODATA since it is intentionally
  only to send a message to userspace
- dropped NOTIFY_PEERS since Vlad's says it is needed for macvlans
- add patches to remove NETDEV_CHANGEUPPER and NETDEV_CHANGE_TX_QUEUE_LEN
  from the event list

David Ahern (8):
  rtnetlink: Do not generate notifications for MTU events
  rtnetlink: Do not generate notification for UDP_TUNNEL_PUSH_INFO
  rtnetlink: Do not generate notifications for CHANGEADDR event
  rtnetlink: Do not generate notifications for POST_TYPE_CHANGE event
  rtnetlink: Do not generate notifications for PRECHANGEUPPER event
  rtnetlink: Do not generate notifications for CHANGELOWERSTATE event
  rtnetlink: Do not generate notifications for NETDEV_CHANGEUPPER event
  rtnetlink: Do not generate notifications for
    NETDEV_CHANGE_TX_QUEUE_LEN event

 net/core/rtnetlink.c | 9 ---------
 1 file changed, 9 deletions(-)

-- 
2.1.4

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH net-next v2 1/8] rtnetlink: Do not generate notifications for MTU events
  2017-04-12  0:02 [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events David Ahern
@ 2017-04-12  0:02 ` David Ahern
  2017-04-12  0:02 ` [PATCH net-next v2 2/8] rtnetlink: Do not generate notification for UDP_TUNNEL_PUSH_INFO David Ahern
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: David Ahern @ 2017-04-12  0:02 UTC (permalink / raw)
  To: netdev; +Cc: David Ahern

Changing MTU on a link currently causes 3 messages to be sent to userspace:

[LINK]11: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1490 qdisc noqueue state UNKNOWN group default
    link/ether f2:52:5c:6d:21:f3 brd ff:ff:ff:ff:ff:ff

[LINK]11: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default
    link/ether f2:52:5c:6d:21:f3 brd ff:ff:ff:ff:ff:ff

[LINK]11: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default
    link/ether f2:52:5c:6d:21:f3 brd ff:ff:ff:ff:ff:ff

Remove the messages sent for PRE_CHANGE_MTU and CHANGE_MTU netdev events.

Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
---
 net/core/rtnetlink.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index 58419da7961b..79ab43796b08 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -4117,7 +4117,6 @@ static int rtnetlink_event(struct notifier_block *this, unsigned long event, voi
 
 	switch (event) {
 	case NETDEV_REBOOT:
-	case NETDEV_CHANGEMTU:
 	case NETDEV_CHANGEADDR:
 	case NETDEV_CHANGENAME:
 	case NETDEV_FEAT_CHANGE:
@@ -4126,7 +4125,6 @@ static int rtnetlink_event(struct notifier_block *this, unsigned long event, voi
 	case NETDEV_NOTIFY_PEERS:
 	case NETDEV_CHANGEUPPER:
 	case NETDEV_RESEND_IGMP:
-	case NETDEV_PRECHANGEMTU:
 	case NETDEV_CHANGEINFODATA:
 	case NETDEV_PRECHANGEUPPER:
 	case NETDEV_CHANGELOWERSTATE:
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH net-next v2 2/8] rtnetlink: Do not generate notification for UDP_TUNNEL_PUSH_INFO
  2017-04-12  0:02 [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events David Ahern
  2017-04-12  0:02 ` [PATCH net-next v2 1/8] rtnetlink: Do not generate notifications for MTU events David Ahern
@ 2017-04-12  0:02 ` David Ahern
  2017-04-12  0:02 ` [PATCH net-next v2 3/8] rtnetlink: Do not generate notifications for CHANGEADDR event David Ahern
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: David Ahern @ 2017-04-12  0:02 UTC (permalink / raw)
  To: netdev; +Cc: David Ahern

NETDEV_UDP_TUNNEL_PUSH_INFO is an internal notifier; nothing userspace
can do so don't generate a netlink notification.

Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
---
 net/core/rtnetlink.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index 79ab43796b08..58722bf10d50 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -4128,7 +4128,6 @@ static int rtnetlink_event(struct notifier_block *this, unsigned long event, voi
 	case NETDEV_CHANGEINFODATA:
 	case NETDEV_PRECHANGEUPPER:
 	case NETDEV_CHANGELOWERSTATE:
-	case NETDEV_UDP_TUNNEL_PUSH_INFO:
 	case NETDEV_CHANGE_TX_QUEUE_LEN:
 		rtmsg_ifinfo(RTM_NEWLINK, dev, 0, GFP_KERNEL);
 		break;
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH net-next v2 3/8] rtnetlink: Do not generate notifications for CHANGEADDR event
  2017-04-12  0:02 [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events David Ahern
  2017-04-12  0:02 ` [PATCH net-next v2 1/8] rtnetlink: Do not generate notifications for MTU events David Ahern
  2017-04-12  0:02 ` [PATCH net-next v2 2/8] rtnetlink: Do not generate notification for UDP_TUNNEL_PUSH_INFO David Ahern
@ 2017-04-12  0:02 ` David Ahern
  2017-04-12  0:02 ` [PATCH net-next v2 4/8] rtnetlink: Do not generate notifications for POST_TYPE_CHANGE event David Ahern
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: David Ahern @ 2017-04-12  0:02 UTC (permalink / raw)
  To: netdev; +Cc: David Ahern

Changing hardware address generates redundant messages:

[LINK]11: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default
    link/ether 02:02:02:02:02:02 brd ff:ff:ff:ff:ff:ff

[LINK]11: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default
    link/ether 02:02:02:02:02:02 brd ff:ff:ff:ff:ff:ff

Do not send a notification for the CHANGEADDR notifier.

Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
---
 net/core/rtnetlink.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index 58722bf10d50..574f9b79919a 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -4117,7 +4117,6 @@ static int rtnetlink_event(struct notifier_block *this, unsigned long event, voi
 
 	switch (event) {
 	case NETDEV_REBOOT:
-	case NETDEV_CHANGEADDR:
 	case NETDEV_CHANGENAME:
 	case NETDEV_FEAT_CHANGE:
 	case NETDEV_BONDING_FAILOVER:
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH net-next v2 4/8] rtnetlink: Do not generate notifications for POST_TYPE_CHANGE event
  2017-04-12  0:02 [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events David Ahern
                   ` (2 preceding siblings ...)
  2017-04-12  0:02 ` [PATCH net-next v2 3/8] rtnetlink: Do not generate notifications for CHANGEADDR event David Ahern
@ 2017-04-12  0:02 ` David Ahern
  2017-04-12  0:02 ` [PATCH net-next v2 5/8] rtnetlink: Do not generate notifications for PRECHANGEUPPER event David Ahern
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: David Ahern @ 2017-04-12  0:02 UTC (permalink / raw)
  To: netdev; +Cc: David Ahern

Changing the master device for a link generates many messages; the one
generated for POST_TYPE_CHANGE is redundant:

[LINK]11: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue master br1 state UNKNOWN group default
    link/ether 02:02:02:02:02:03 brd ff:ff:ff:ff:ff:ff
[LINK]11: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue master br1 state UNKNOWN group default
    link/ether 02:02:02:02:02:03 brd ff:ff:ff:ff:ff:ff

Remove POST_TYPE_CHANGE from the list of notifiers that generate
notifications.

Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
---
 net/core/rtnetlink.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index 574f9b79919a..8cfb9e3c1f6e 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -4120,7 +4120,6 @@ static int rtnetlink_event(struct notifier_block *this, unsigned long event, voi
 	case NETDEV_CHANGENAME:
 	case NETDEV_FEAT_CHANGE:
 	case NETDEV_BONDING_FAILOVER:
-	case NETDEV_POST_TYPE_CHANGE:
 	case NETDEV_NOTIFY_PEERS:
 	case NETDEV_CHANGEUPPER:
 	case NETDEV_RESEND_IGMP:
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH net-next v2 5/8] rtnetlink: Do not generate notifications for PRECHANGEUPPER event
  2017-04-12  0:02 [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events David Ahern
                   ` (3 preceding siblings ...)
  2017-04-12  0:02 ` [PATCH net-next v2 4/8] rtnetlink: Do not generate notifications for POST_TYPE_CHANGE event David Ahern
@ 2017-04-12  0:02 ` David Ahern
  2017-04-12  0:02 ` [PATCH net-next v2 6/8] rtnetlink: Do not generate notifications for CHANGELOWERSTATE event David Ahern
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: David Ahern @ 2017-04-12  0:02 UTC (permalink / raw)
  To: netdev; +Cc: David Ahern

PRECHANGEUPPER is an internal event; do not generate userspace
notifications.

Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
---
 net/core/rtnetlink.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index 8cfb9e3c1f6e..10df445bb818 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -4124,7 +4124,6 @@ static int rtnetlink_event(struct notifier_block *this, unsigned long event, voi
 	case NETDEV_CHANGEUPPER:
 	case NETDEV_RESEND_IGMP:
 	case NETDEV_CHANGEINFODATA:
-	case NETDEV_PRECHANGEUPPER:
 	case NETDEV_CHANGELOWERSTATE:
 	case NETDEV_CHANGE_TX_QUEUE_LEN:
 		rtmsg_ifinfo(RTM_NEWLINK, dev, 0, GFP_KERNEL);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH net-next v2 6/8] rtnetlink: Do not generate notifications for CHANGELOWERSTATE event
  2017-04-12  0:02 [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events David Ahern
                   ` (4 preceding siblings ...)
  2017-04-12  0:02 ` [PATCH net-next v2 5/8] rtnetlink: Do not generate notifications for PRECHANGEUPPER event David Ahern
@ 2017-04-12  0:02 ` David Ahern
  2017-04-12  0:02 ` [PATCH net-next v2 7/8] rtnetlink: Do not generate notifications for NETDEV_CHANGEUPPER event David Ahern
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: David Ahern @ 2017-04-12  0:02 UTC (permalink / raw)
  To: netdev; +Cc: David Ahern

CHANGELOWERSTATE is an internal event; do not generate userspace
notifications.

Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
---
 net/core/rtnetlink.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index 10df445bb818..b70e915be66d 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -4124,7 +4124,6 @@ static int rtnetlink_event(struct notifier_block *this, unsigned long event, voi
 	case NETDEV_CHANGEUPPER:
 	case NETDEV_RESEND_IGMP:
 	case NETDEV_CHANGEINFODATA:
-	case NETDEV_CHANGELOWERSTATE:
 	case NETDEV_CHANGE_TX_QUEUE_LEN:
 		rtmsg_ifinfo(RTM_NEWLINK, dev, 0, GFP_KERNEL);
 		break;
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH net-next v2 7/8] rtnetlink: Do not generate notifications for NETDEV_CHANGEUPPER event
  2017-04-12  0:02 [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events David Ahern
                   ` (5 preceding siblings ...)
  2017-04-12  0:02 ` [PATCH net-next v2 6/8] rtnetlink: Do not generate notifications for CHANGELOWERSTATE event David Ahern
@ 2017-04-12  0:02 ` David Ahern
  2017-04-12  0:02 ` [PATCH net-next v2 8/8] rtnetlink: Do not generate notifications for NETDEV_CHANGE_TX_QUEUE_LEN event David Ahern
  2017-04-13 17:17 ` [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events David Miller
  8 siblings, 0 replies; 10+ messages in thread
From: David Ahern @ 2017-04-12  0:02 UTC (permalink / raw)
  To: netdev; +Cc: David Ahern

NETDEV_CHANGEUPPER is an internal event; do not generate userspace
notifications.

Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
---
 net/core/rtnetlink.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index b70e915be66d..ef93f6c983f3 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -4121,7 +4121,6 @@ static int rtnetlink_event(struct notifier_block *this, unsigned long event, voi
 	case NETDEV_FEAT_CHANGE:
 	case NETDEV_BONDING_FAILOVER:
 	case NETDEV_NOTIFY_PEERS:
-	case NETDEV_CHANGEUPPER:
 	case NETDEV_RESEND_IGMP:
 	case NETDEV_CHANGEINFODATA:
 	case NETDEV_CHANGE_TX_QUEUE_LEN:
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH net-next v2 8/8] rtnetlink: Do not generate notifications for NETDEV_CHANGE_TX_QUEUE_LEN event
  2017-04-12  0:02 [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events David Ahern
                   ` (6 preceding siblings ...)
  2017-04-12  0:02 ` [PATCH net-next v2 7/8] rtnetlink: Do not generate notifications for NETDEV_CHANGEUPPER event David Ahern
@ 2017-04-12  0:02 ` David Ahern
  2017-04-13 17:17 ` [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events David Miller
  8 siblings, 0 replies; 10+ messages in thread
From: David Ahern @ 2017-04-12  0:02 UTC (permalink / raw)
  To: netdev; +Cc: David Ahern

Changing tx queue length generates identical messages:

[LINK]22: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default
    link/ether 02:04:f4:b7:5c:d2 brd ff:ff:ff:ff:ff:ff promiscuity 0
    dummy numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
[LINK]22: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default
    link/ether 02:04:f4:b7:5c:d2 brd ff:ff:ff:ff:ff:ff promiscuity 0
    dummy numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535

Remove NETDEV_CHANGE_TX_QUEUE_LEN from the list of notifiers that generate
notifications.

Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
---
 net/core/rtnetlink.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index ef93f6c983f3..c138b6b75e59 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -4123,7 +4123,6 @@ static int rtnetlink_event(struct notifier_block *this, unsigned long event, voi
 	case NETDEV_NOTIFY_PEERS:
 	case NETDEV_RESEND_IGMP:
 	case NETDEV_CHANGEINFODATA:
-	case NETDEV_CHANGE_TX_QUEUE_LEN:
 		rtmsg_ifinfo(RTM_NEWLINK, dev, 0, GFP_KERNEL);
 		break;
 	default:
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events
  2017-04-12  0:02 [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events David Ahern
                   ` (7 preceding siblings ...)
  2017-04-12  0:02 ` [PATCH net-next v2 8/8] rtnetlink: Do not generate notifications for NETDEV_CHANGE_TX_QUEUE_LEN event David Ahern
@ 2017-04-13 17:17 ` David Miller
  8 siblings, 0 replies; 10+ messages in thread
From: David Miller @ 2017-04-13 17:17 UTC (permalink / raw)
  To: dsa; +Cc: netdev

From: David Ahern <dsa@cumulusnetworks.com>
Date: Tue, 11 Apr 2017 17:02:39 -0700

> Vlad's recent patch to add the event type to rtnetlink notifications
> points out a number of redundant or unnecessary notifications sent to
> userspace for events that are essentially internal to the kernel. Trim
> the list to put a dent in the notification storm.
> 
> v2
> - rebased to top of net-next with IFLA_EVENT patch reverted
> - dropped removal NETDEV_CHANGEINFODATA since it is intentionally
>   only to send a message to userspace
> - dropped NOTIFY_PEERS since Vlad's says it is needed for macvlans
> - add patches to remove NETDEV_CHANGEUPPER and NETDEV_CHANGE_TX_QUEUE_LEN
>   from the event list

Series applied, thanks David.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2017-04-13 17:17 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-12  0:02 [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events David Ahern
2017-04-12  0:02 ` [PATCH net-next v2 1/8] rtnetlink: Do not generate notifications for MTU events David Ahern
2017-04-12  0:02 ` [PATCH net-next v2 2/8] rtnetlink: Do not generate notification for UDP_TUNNEL_PUSH_INFO David Ahern
2017-04-12  0:02 ` [PATCH net-next v2 3/8] rtnetlink: Do not generate notifications for CHANGEADDR event David Ahern
2017-04-12  0:02 ` [PATCH net-next v2 4/8] rtnetlink: Do not generate notifications for POST_TYPE_CHANGE event David Ahern
2017-04-12  0:02 ` [PATCH net-next v2 5/8] rtnetlink: Do not generate notifications for PRECHANGEUPPER event David Ahern
2017-04-12  0:02 ` [PATCH net-next v2 6/8] rtnetlink: Do not generate notifications for CHANGELOWERSTATE event David Ahern
2017-04-12  0:02 ` [PATCH net-next v2 7/8] rtnetlink: Do not generate notifications for NETDEV_CHANGEUPPER event David Ahern
2017-04-12  0:02 ` [PATCH net-next v2 8/8] rtnetlink: Do not generate notifications for NETDEV_CHANGE_TX_QUEUE_LEN event David Ahern
2017-04-13 17:17 ` [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.