From: Stephen Hemminger <stephen@networkplumber.org>
To: intel-wired-lan@osuosl.org
Subject: [Intel-wired-lan] [PATCH net-next 02/11] net: Introduce new api for walking upper and lower devices
Date: Mon, 17 Oct 2016 05:21:21 -0700 [thread overview]
Message-ID: <20161017052121.2322279d@xeon-e3> (raw)
In-Reply-To: <1476494931-31813-3-git-send-email-dsa@cumulusnetworks.com>
On Fri, 14 Oct 2016 18:28:42 -0700
David Ahern <dsa@cumulusnetworks.com> wrote:
>
> /**
> + * netdev_has_upper_dev_all - Check if device is linked to an upper device
> + * @dev: device
> + * @upper_dev: upper device to check
> + *
> + * Find out if a device is linked to specified upper device and return true
> + * in case it is. Note that this checks the entire upper device chain.
> + * The caller must hold rcu lock.
> + */
> +
> +static int __netdev_has_upper_dev(struct net_device *upper_dev, void *data)
> +{
> + struct net_device *dev = (struct net_device *)data;
> +
> + if (upper_dev == dev)
> + return 1;
> +
> + return 0;
> +}
> +
> +bool netdev_has_upper_dev_all_rcu(struct net_device *dev,
> + struct net_device *upper_dev)
> +{
> + if (netdev_walk_all_upper_dev_rcu(dev, __netdev_has_upper_dev,
> + upper_dev))
> + return true;
> +
> + return false;
> +}
> +EXPORT_SYMBOL(netdev_has_upper_dev_all_rcu);
You should write this more succinctly as:
static bool __netdev_has_upper_dev(struct net_device *upper_dev, void *data)
{
struct net_device *dev = data;
return upper_dev == dev;
}
bool netdev_has_upper_dev_all_rcu(struct net_device *dev,
struct net_device *upper_dev)
{
return netdev_walk_all_upper_dev_rcu(dev,
__netdev_has_upper_dev, upper_dev);
}
No if/else needed. No cast of void * ptr need. Use const if possible?
WARNING: multiple messages have this Message-ID (diff)
From: Stephen Hemminger <stephen-OTpzqLSitTUnbdJkjeBofR2eb7JE58TQ@public.gmane.org>
To: David Ahern <dsa-qUQiAmfTcIp+XZJcv9eMoEEOCMrvLtNR@public.gmane.org>
Cc: jiri-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org,
netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org,
dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
hal.rosenstock-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
j.vosburgh-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
vfalico-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
andy-QlMahl40kYEqcZcGjlUOXw@public.gmane.org,
jeffrey.t.kirsher-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
intel-wired-lan-qjLDD68F18P21nG7glBr7A@public.gmane.org
Subject: Re: [PATCH net-next 02/11] net: Introduce new api for walking upper and lower devices
Date: Mon, 17 Oct 2016 05:21:21 -0700 [thread overview]
Message-ID: <20161017052121.2322279d@xeon-e3> (raw)
In-Reply-To: <1476494931-31813-3-git-send-email-dsa-qUQiAmfTcIp+XZJcv9eMoEEOCMrvLtNR@public.gmane.org>
On Fri, 14 Oct 2016 18:28:42 -0700
David Ahern <dsa-qUQiAmfTcIp+XZJcv9eMoEEOCMrvLtNR@public.gmane.org> wrote:
>
> /**
> + * netdev_has_upper_dev_all - Check if device is linked to an upper device
> + * @dev: device
> + * @upper_dev: upper device to check
> + *
> + * Find out if a device is linked to specified upper device and return true
> + * in case it is. Note that this checks the entire upper device chain.
> + * The caller must hold rcu lock.
> + */
> +
> +static int __netdev_has_upper_dev(struct net_device *upper_dev, void *data)
> +{
> + struct net_device *dev = (struct net_device *)data;
> +
> + if (upper_dev == dev)
> + return 1;
> +
> + return 0;
> +}
> +
> +bool netdev_has_upper_dev_all_rcu(struct net_device *dev,
> + struct net_device *upper_dev)
> +{
> + if (netdev_walk_all_upper_dev_rcu(dev, __netdev_has_upper_dev,
> + upper_dev))
> + return true;
> +
> + return false;
> +}
> +EXPORT_SYMBOL(netdev_has_upper_dev_all_rcu);
You should write this more succinctly as:
static bool __netdev_has_upper_dev(struct net_device *upper_dev, void *data)
{
struct net_device *dev = data;
return upper_dev == dev;
}
bool netdev_has_upper_dev_all_rcu(struct net_device *dev,
struct net_device *upper_dev)
{
return netdev_walk_all_upper_dev_rcu(dev,
__netdev_has_upper_dev, upper_dev);
}
No if/else needed. No cast of void * ptr need. Use const if possible?
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2016-10-17 12:21 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-15 1:28 [Intel-wired-lan] [PATCH v2 net-next 00/11] net: Fix netdev adjacency tracking David Ahern
2016-10-15 1:28 ` David Ahern
2016-10-15 1:28 ` [Intel-wired-lan] [PATCH net-next 01/11] net: Remove refnr arg when inserting link adjacencies David Ahern
2016-10-15 1:28 ` David Ahern
2016-10-15 1:28 ` [Intel-wired-lan] [PATCH net-next 02/11] net: Introduce new api for walking upper and lower devices David Ahern
2016-10-15 1:28 ` David Ahern
2016-10-17 12:21 ` Stephen Hemminger [this message]
2016-10-17 12:21 ` Stephen Hemminger
2016-10-17 14:42 ` [Intel-wired-lan] " David Miller
2016-10-17 14:42 ` David Miller
2016-10-18 0:42 ` [Intel-wired-lan] " David Ahern
2016-10-18 0:42 ` David Ahern
2016-10-15 1:28 ` [Intel-wired-lan] [PATCH net-next 03/11] net: bonding: Flip to the new dev walk API David Ahern
2016-10-15 1:28 ` David Ahern
2016-10-15 1:28 ` [Intel-wired-lan] [PATCH net-next 04/11] IB/core: " David Ahern
2016-10-15 1:28 ` David Ahern
2016-10-15 1:28 ` [Intel-wired-lan] [PATCH net-next 05/11] IB/ipoib: Flip to " David Ahern
2016-10-15 1:28 ` David Ahern
2016-10-15 1:28 ` [Intel-wired-lan] [PATCH net-next 06/11] ixgbe: Flip to the " David Ahern
2016-10-15 1:28 ` David Ahern
2016-10-15 1:28 ` [Intel-wired-lan] [PATCH net-next 07/11] mlxsw: " David Ahern
2016-10-15 1:28 ` David Ahern
2016-10-15 1:28 ` [Intel-wired-lan] [PATCH net-next 08/11] rocker: " David Ahern
2016-10-15 1:28 ` David Ahern
2016-10-15 1:28 ` [Intel-wired-lan] [PATCH net-next 09/11] net: Remove all_adj_list and its references David Ahern
2016-10-15 1:28 ` David Ahern
2016-10-15 1:28 ` [Intel-wired-lan] [PATCH net-next 10/11] net: Add warning if any lower device is still in adjacency list David Ahern
2016-10-15 1:28 ` David Ahern
2016-10-15 1:28 ` [Intel-wired-lan] [PATCH net-next 11/11] net: dev: Improve debug statements for adjacency tracking David Ahern
2016-10-15 1:28 ` David Ahern
-- strict thread matches above, loose matches on Subject: below --
2016-10-18 2:15 [Intel-wired-lan] [PATCH v3 net-next 00/11] net: Fix netdev " David Ahern
2016-10-18 2:15 ` [Intel-wired-lan] [PATCH net-next 02/11] net: Introduce new api for walking upper and lower devices David Ahern
2016-10-12 20:51 [Intel-wired-lan] [PATCH net-next 00/11] net: Fix netdev adjacency tracking David Ahern
2016-10-12 20:51 ` [Intel-wired-lan] [PATCH net-next 02/11] net: Introduce new api for walking upper and lower devices David Ahern
2016-10-13 7:30 ` 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=20161017052121.2322279d@xeon-e3 \
--to=stephen@networkplumber.org \
--cc=intel-wired-lan@osuosl.org \
/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 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.