From: "Nicolas de Pesloüan" <nicolas.2p.debian@gmail.com>
To: Jiri Pirko <jpirko@redhat.com>
Cc: netdev@vger.kernel.org, davem@davemloft.net,
shemminger@linux-foundation.org, kaber@trash.net,
fubar@us.ibm.com, eric.dumazet@gmail.com, andy@greyhouse.net
Subject: Re: [patch net-next-2.6 5/8] bonding: get rid of IFF_SLAVE_INACTIVE netdev->priv_flag
Date: Sat, 05 Mar 2011 15:18:11 +0100 [thread overview]
Message-ID: <4D724623.5040500@gmail.com> (raw)
In-Reply-To: <1299320969-7951-6-git-send-email-jpirko@redhat.com>
Le 05/03/2011 11:29, Jiri Pirko a écrit :
> Since bond-related code was moved from net/core/dev.c into bonding,
> IFF_SLAVE_INACTIVE is no longer needed. Replace is with flag "inactive"
> stored in slave structure
>
> Signed-off-by: Jiri Pirko<jpirko@redhat.com>
Reviewed-by: Nicolas de Pesloüan <nicolas.2p.debian@free.fr>
> ---
> drivers/net/bonding/bond_main.c | 6 ++----
> drivers/net/bonding/bond_sysfs.c | 4 ++--
> drivers/net/bonding/bonding.h | 14 ++++++++++----
> include/linux/if.h | 19 +++++++++----------
> 4 files changed, 23 insertions(+), 20 deletions(-)
>
> diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
> index 62020a7..dbe182c 100644
> --- a/drivers/net/bonding/bond_main.c
> +++ b/drivers/net/bonding/bond_main.c
> @@ -1474,7 +1474,7 @@ static bool bond_should_deliver_exact_match(struct sk_buff *skb,
> struct slave *slave,
> struct bonding *bond)
> {
> - if (slave->dev->priv_flags& IFF_SLAVE_INACTIVE) {
> + if (bond_is_slave_inactive(slave)) {
> if (slave_do_arp_validate(bond, slave)&&
> skb->protocol == __cpu_to_be16(ETH_P_ARP))
> return false;
> @@ -2131,7 +2131,7 @@ int bond_release(struct net_device *bond_dev, struct net_device *slave_dev)
>
> dev_set_mtu(slave_dev, slave->original_mtu);
>
> - slave_dev->priv_flags&= ~(IFF_SLAVE_INACTIVE | IFF_BONDING);
> + slave_dev->priv_flags&= ~IFF_BONDING;
>
> kfree(slave);
>
> @@ -2242,8 +2242,6 @@ static int bond_release_all(struct net_device *bond_dev)
> dev_set_mac_address(slave_dev,&addr);
> }
>
> - slave_dev->priv_flags&= ~IFF_SLAVE_INACTIVE;
> -
> kfree(slave);
>
> /* re-acquire the lock before getting the next slave */
> diff --git a/drivers/net/bonding/bond_sysfs.c b/drivers/net/bonding/bond_sysfs.c
> index 344d23f..5161183 100644
> --- a/drivers/net/bonding/bond_sysfs.c
> +++ b/drivers/net/bonding/bond_sysfs.c
> @@ -1581,9 +1581,9 @@ static ssize_t bonding_store_slaves_active(struct device *d,
> bond_for_each_slave(bond, slave, i) {
> if (!bond_is_active_slave(slave)) {
> if (new_value)
> - slave->dev->priv_flags&= ~IFF_SLAVE_INACTIVE;
> + slave->inactive = 0;
> else
> - slave->dev->priv_flags |= IFF_SLAVE_INACTIVE;
> + slave->inactive = 1;
> }
> }
> out:
> diff --git a/drivers/net/bonding/bonding.h b/drivers/net/bonding/bonding.h
> index 8a3718b..8f78166 100644
> --- a/drivers/net/bonding/bonding.h
> +++ b/drivers/net/bonding/bonding.h
> @@ -190,8 +190,9 @@ struct slave {
> unsigned long last_arp_rx;
> s8 link; /* one of BOND_LINK_XXXX */
> s8 new_link;
> - u8 backup; /* indicates backup slave. Value corresponds with
> - BOND_STATE_ACTIVE and BOND_STATE_BACKUP */
> + u8 backup:1, /* indicates backup slave. Value corresponds with
> + BOND_STATE_ACTIVE and BOND_STATE_BACKUP */
> + inactive:1; /* indicates inactive slave */
> u32 original_mtu;
> u32 link_failure_count;
> u8 perm_hwaddr[ETH_ALEN];
> @@ -374,13 +375,18 @@ static inline void bond_set_slave_inactive_flags(struct slave *slave)
> if (!bond_is_lb(bond))
> bond_set_backup_slave(slave);
> if (!bond->params.all_slaves_active)
> - slave->dev->priv_flags |= IFF_SLAVE_INACTIVE;
> + slave->inactive = 1;
> }
>
> static inline void bond_set_slave_active_flags(struct slave *slave)
> {
> bond_set_active_slave(slave);
> - slave->dev->priv_flags&= ~IFF_SLAVE_INACTIVE;
> + slave->inactive = 0;
> +}
> +
> +static inline bool bond_is_slave_inactive(struct slave *slave)
> +{
> + return slave->inactive;
> }
>
> struct vlan_entry *bond_next_vlan(struct bonding *bond, struct vlan_entry *curr);
> diff --git a/include/linux/if.h b/include/linux/if.h
> index 2fdd47a..0da7991 100644
> --- a/include/linux/if.h
> +++ b/include/linux/if.h
> @@ -59,18 +59,17 @@
> /* Private (from user) interface flags (netdevice->priv_flags). */
> #define IFF_802_1Q_VLAN 0x1 /* 802.1Q VLAN device. */
> #define IFF_EBRIDGE 0x2 /* Ethernet bridging device. */
> -#define IFF_SLAVE_INACTIVE 0x4 /* bonding slave not the curr. active */
> -#define IFF_BONDING 0x8 /* bonding master or slave */
> -#define IFF_ISATAP 0x10 /* ISATAP interface (RFC4214) */
> -#define IFF_WAN_HDLC 0x20 /* WAN HDLC device */
> -#define IFF_XMIT_DST_RELEASE 0x40 /* dev_hard_start_xmit() is allowed to
> +#define IFF_BONDING 0x4 /* bonding master or slave */
> +#define IFF_ISATAP 0x8 /* ISATAP interface (RFC4214) */
> +#define IFF_WAN_HDLC 0x10 /* WAN HDLC device */
> +#define IFF_XMIT_DST_RELEASE 0x20 /* dev_hard_start_xmit() is allowed to
> * release skb->dst
> */
> -#define IFF_DONT_BRIDGE 0x80 /* disallow bridging this ether dev */
> -#define IFF_DISABLE_NETPOLL 0x100 /* disable netpoll at run-time */
> -#define IFF_MACVLAN_PORT 0x200 /* device used as macvlan port */
> -#define IFF_BRIDGE_PORT 0x400 /* device used as bridge port */
> -#define IFF_OVS_DATAPATH 0x800 /* device used as Open vSwitch
> +#define IFF_DONT_BRIDGE 0x40 /* disallow bridging this ether dev */
> +#define IFF_DISABLE_NETPOLL 0x80 /* disable netpoll at run-time */
> +#define IFF_MACVLAN_PORT 0x100 /* device used as macvlan port */
> +#define IFF_BRIDGE_PORT 0x200 /* device used as bridge port */
> +#define IFF_OVS_DATAPATH 0x400 /* device used as Open vSwitch
> * datapath port */
>
> #define IF_GET_IFACE 0x0001 /* for querying only */
next prev parent reply other threads:[~2011-03-05 14:18 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-05 10:29 [patch net-next-2.6 0/8] mostly bonding rx path changes Jiri Pirko
2011-03-05 10:29 ` [patch net-next-2.6 1/8] af_packet: use skb->skb_iif instead of orig_dev->ifindex Jiri Pirko
2011-03-05 14:03 ` Nicolas de Pesloüan
2011-03-05 10:29 ` [patch net-next-2.6 2/8] bonding: register slave pointer for rx_handler Jiri Pirko
2011-03-05 14:06 ` Nicolas de Pesloüan
2011-03-05 14:27 ` Jiri Pirko
2011-03-05 14:38 ` Nicolas de Pesloüan
2011-03-05 10:29 ` [patch net-next-2.6 3/8] net: get rid of multiple bond-related netdevice->priv_flags Jiri Pirko
2011-03-05 14:14 ` Nicolas de Pesloüan
2011-03-05 14:37 ` Ben Hutchings
2011-03-05 14:46 ` Nicolas de Pesloüan
2011-03-05 10:29 ` [patch net-next-2.6 4/8] bonding: wrap slave state work Jiri Pirko
2011-03-05 15:21 ` Nicolas de Pesloüan
2011-03-07 9:58 ` Jiri Pirko
2011-03-07 19:55 ` Nicolas de Pesloüan
2011-03-08 7:18 ` Jiri Pirko
2011-03-08 21:23 ` Nicolas de Pesloüan
2011-03-05 10:29 ` [patch net-next-2.6 5/8] bonding: get rid of IFF_SLAVE_INACTIVE netdev->priv_flag Jiri Pirko
2011-03-05 14:18 ` Nicolas de Pesloüan [this message]
2011-03-05 10:29 ` [patch net-next-2.6 6/8] bonding: move processing of recv handlers into handle_frame() Jiri Pirko
2011-03-05 14:33 ` Nicolas de Pesloüan
2011-03-05 14:43 ` Jiri Pirko
2011-03-05 14:50 ` Nicolas de Pesloüan
2011-03-06 12:24 ` Nicolas de Pesloüan
2011-03-06 13:34 ` Jiri Pirko
2011-03-06 14:25 ` Nicolas de Pesloüan
2011-03-06 16:32 ` Michał Mirosław
2011-03-06 17:37 ` Nicolas de Pesloüan
2011-03-07 12:51 ` [patch net-next-2.6] net: reinject arps into bonding slave instead of master Jiri Pirko
2011-03-07 14:32 ` Andy Gospodarek
2011-03-07 20:12 ` Nicolas de Pesloüan
2011-03-07 21:19 ` Jiri Pirko
2011-03-07 21:30 ` Nicolas de Pesloüan
2011-03-07 22:43 ` Andy Gospodarek
2011-03-07 23:09 ` Nicolas de Pesloüan
2011-03-08 2:43 ` Andy Gospodarek
2011-03-08 21:34 ` Nicolas de Pesloüan
2011-03-08 7:13 ` Jiri Pirko
2011-03-08 13:42 ` Andy Gospodarek
2011-03-08 21:44 ` Nicolas de Pesloüan
2011-03-09 7:45 ` Jiri Pirko
2011-03-09 14:49 ` Nicolas de Pesloüan
2011-03-09 15:09 ` Jiri Pirko
2011-03-09 15:28 ` Nicolas de Pesloüan
2011-03-09 17:11 ` Jiri Pirko
2011-03-09 22:18 ` Nicolas de Pesloüan
2011-03-10 6:48 ` Jiri Pirko
2011-03-10 20:44 ` Nicolas de Pesloüan
2011-03-10 20:52 ` Jiri Pirko
2011-03-10 21:05 ` Jiri Pirko
2011-03-09 20:51 ` Jiri Pirko
2011-03-09 13:33 ` Neil Horman
2011-03-05 10:29 ` [patch net-next-2.6 7/8] net: introduce rx_handler results and logic around that Jiri Pirko
2011-03-05 12:48 ` Ben Hutchings
2011-03-05 14:52 ` Nicolas de Pesloüan
2011-03-05 14:54 ` Jiri Pirko
2011-03-05 15:06 ` Nicolas de Pesloüan
2011-03-05 15:13 ` [patch net-next-2.6] net: comment rx_handler results Jiri Pirko
2011-03-05 15:27 ` Nicolas de Pesloüan
2011-03-05 15:37 ` Jiri Pirko
2011-03-05 15:50 ` Nicolas de Pesloüan
2011-03-06 20:00 ` [PATCH net-next-2.6] net: enhance the documentation for rx_handler Nicolas de Pesloüan
2011-03-07 9:54 ` Jiri Pirko
2011-03-07 16:36 ` Stephen Hemminger
2011-03-07 20:01 ` [PATCH net-next-2.6 V2] " Nicolas de Pesloüan
2011-03-05 15:31 ` [patch net-next-2.6 7/8 v2] net: introduce rx_handler results and logic around that Jiri Pirko
2011-03-05 10:29 ` [patch net-next-2.6 8/8] net: get rid of orig_dev parameter of packet handlers Jiri Pirko
2011-03-05 15:05 ` Nicolas de Pesloüan
2011-03-05 15:15 ` Jiri Pirko
2011-03-05 15:32 ` [patch net-next-2.6 8/8 v2] " Jiri Pirko
2011-03-05 16:56 ` Nicolas de Pesloüan
2011-03-05 22:07 ` Jiri Pirko
2011-03-05 22:18 ` Nicolas de Pesloüan
-- strict thread matches above, loose matches on Subject: below --
2011-03-05 8:29 [patch net-next-2.6 0/8] mostly bonding rx path changes Jiri Pirko
2011-03-05 8:29 ` [patch net-next-2.6 5/8] bonding: get rid of IFF_SLAVE_INACTIVE netdev->priv_flag 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=4D724623.5040500@gmail.com \
--to=nicolas.2p.debian@gmail.com \
--cc=andy@greyhouse.net \
--cc=davem@davemloft.net \
--cc=eric.dumazet@gmail.com \
--cc=fubar@us.ibm.com \
--cc=jpirko@redhat.com \
--cc=kaber@trash.net \
--cc=netdev@vger.kernel.org \
--cc=shemminger@linux-foundation.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.