From: "Toke Høiland-Jørgensen" <toke@redhat.com>
To: Ido Schimmel <idosch@idosch.org>, netdev@vger.kernel.org
Cc: davem@davemloft.net, nhorman@tuxdriver.com, dsahern@gmail.com,
roopa@cumulusnetworks.com, nikolay@cumulusnetworks.com,
jakub.kicinski@netronome.com, andy@greyhouse.net,
f.fainelli@gmail.com, andrew@lunn.ch, vivien.didelot@gmail.com,
mlxsw@mellanox.com, Ido Schimmel <idosch@mellanox.com>
Subject: Re: [RFC PATCH net-next 00/12] drop_monitor: Capture dropped packets and metadata
Date: Mon, 22 Jul 2019 21:43:15 +0200 [thread overview]
Message-ID: <87imrt4zzg.fsf@toke.dk> (raw)
In-Reply-To: <20190722183134.14516-1-idosch@idosch.org>
Ido Schimmel <idosch@idosch.org> writes:
> From: Ido Schimmel <idosch@mellanox.com>
>
> So far drop monitor supported only one mode of operation in which a
> summary of recent packet drops is periodically sent to user space as a
> netlink event. The event only includes the drop location (program
> counter) and number of drops in the last interval.
>
> While this mode of operation allows one to understand if the system is
> dropping packets, it is not sufficient if a more detailed analysis is
> required. Both the packet itself and related metadata are missing.
>
> This patchset extends drop monitor with another mode of operation where
> the packet - potentially truncated - and metadata (e.g., drop location,
> timestamp, netdev) are sent to user space as a netlink event. Thanks to
> the extensible nature of netlink, more metadata can be added in the
> future.
>
> To avoid performing expensive operations in the context in which
> kfree_skb() is called, the dropped skbs are cloned and queued on per-CPU
> skb drop list. The list is then processed in process context (using a
> workqueue), where the netlink messages are allocated, prepared and
> finally sent to user space.
>
> As a follow-up, I plan to integrate drop monitor with devlink and allow
> the latter to call into drop monitor to report hardware drops. In the
> future, XDP drops can be added as well, thereby making drop monitor the
> go-to netlink channel for diagnosing all packet drops.
I like this!
Is there a mechanism for the user to filter the packets before they are
sent to userspace? A bpf filter would be the obvious choice I guess...
For integrating with XDP the trick would be to find a way to do it that
doesn't incur any overhead when it's not enabled. Are you envisioning
that this would be enabled separately for the different "modes" (kernel,
hardware, XDP, etc)?
-Toke
next prev parent reply other threads:[~2019-07-22 19:43 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-22 18:31 [RFC PATCH net-next 00/12] drop_monitor: Capture dropped packets and metadata Ido Schimmel
2019-07-22 18:31 ` [RFC PATCH net-next 01/12] drop_monitor: Use correct error code Ido Schimmel
2019-07-22 18:31 ` [RFC PATCH net-next 02/12] drop_monitor: Rename and document scope of mutex Ido Schimmel
2019-07-22 18:31 ` [RFC PATCH net-next 03/12] drop_monitor: Document scope of spinlock Ido Schimmel
2019-07-22 18:31 ` [RFC PATCH net-next 04/12] drop_monitor: Avoid multiple blank lines Ido Schimmel
2019-07-22 18:31 ` [RFC PATCH net-next 05/12] drop_monitor: Add extack support Ido Schimmel
2019-07-22 18:31 ` [RFC PATCH net-next 06/12] drop_monitor: Use pre_doit / post_doit hooks Ido Schimmel
2019-07-22 18:31 ` [RFC PATCH net-next 07/12] drop_monitor: Split tracing enable / disable to different functions Ido Schimmel
2019-07-22 18:31 ` [RFC PATCH net-next 08/12] drop_monitor: Initialize timer and work item upon tracing enable Ido Schimmel
2019-07-24 9:01 ` Jiri Pirko
2019-07-24 17:02 ` Ido Schimmel
2019-07-22 18:31 ` [RFC PATCH net-next 09/12] drop_monitor: Require CAP_NET_ADMIN for drop monitor configuration Ido Schimmel
2019-07-22 18:31 ` [RFC PATCH net-next 10/12] drop_monitor: Add packet alert mode Ido Schimmel
2019-07-23 12:43 ` Neil Horman
2019-07-23 14:16 ` Ido Schimmel
2019-07-23 15:14 ` Neil Horman
2019-07-24 7:10 ` Ido Schimmel
2019-07-24 12:53 ` Jiri Pirko
2019-07-24 16:57 ` Ido Schimmel
2019-07-29 9:52 ` [drop_monitor] 98ffbd6cd2: will-it-scale.per_thread_ops -17.5% regression kernel test robot
2019-08-05 11:56 ` Ido Schimmel
2019-07-22 18:31 ` [RFC PATCH net-next 11/12] drop_monitor: Allow truncation of dropped packets Ido Schimmel
[not found] ` <20190724125537.GC2225@nanopsycho>
2019-07-24 16:49 ` Ido Schimmel
2019-07-22 18:31 ` [RFC PATCH net-next 12/12] drop_monitor: Add a command to query current configuration Ido Schimmel
2019-07-22 19:43 ` Toke Høiland-Jørgensen [this message]
2019-07-23 6:46 ` [RFC PATCH net-next 00/12] drop_monitor: Capture dropped packets and metadata Ido Schimmel
2019-07-23 12:17 ` Toke Høiland-Jørgensen
2019-07-23 15:14 ` Ido Schimmel
2019-07-23 15:47 ` David Ahern
2019-07-24 7:57 ` Ido Schimmel
2019-07-23 16:08 ` Toke Høiland-Jørgensen
2019-07-24 8:10 ` Ido Schimmel
2019-07-24 9:51 ` Toke Høiland-Jørgensen
2019-07-24 12:58 ` Jiri Pirko
2019-07-24 16:48 ` Ido Schimmel
2019-07-24 22:48 ` David Miller
2019-07-24 15:15 ` Jiri Pirko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87imrt4zzg.fsf@toke.dk \
--to=toke@redhat.com \
--cc=andrew@lunn.ch \
--cc=andy@greyhouse.net \
--cc=davem@davemloft.net \
--cc=dsahern@gmail.com \
--cc=f.fainelli@gmail.com \
--cc=idosch@idosch.org \
--cc=idosch@mellanox.com \
--cc=jakub.kicinski@netronome.com \
--cc=mlxsw@mellanox.com \
--cc=netdev@vger.kernel.org \
--cc=nhorman@tuxdriver.com \
--cc=nikolay@cumulusnetworks.com \
--cc=roopa@cumulusnetworks.com \
--cc=vivien.didelot@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).