From: Stephen Hemminger <shemminger@vyatta.com> To: Jiri Pirko <jpirko@redhat.com> Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org, jgarzik@pobox.com, davem@davemloft.net, bridge@lists.linux-foundation.org, fubar@us.ibm.com, bonding-devel@lists.sourceforge.net, kaber@trash.net, mschmidt@redhat.com, dada1@cosmosbay.com, ivecera@redhat.com Subject: Re: [PATCH 4/4] net: bonding: add slave device addresses in mode alb Date: Mon, 13 Apr 2009 07:56:38 -0700 [thread overview] Message-ID: <20090413075638.61839874@nehalam> (raw) In-Reply-To: <20090413084614.GE23734@psychotron.englab.brq.redhat.com> On Mon, 13 Apr 2009 10:46:15 +0200 Jiri Pirko <jpirko@redhat.com> wrote: > When in mode alb, add all device addresses which belong to an enslaved slave > device to the bond device. This ensures that all mac addresses will be > treated as local and bonding in this mode will work fine in bridge. > > Signed-off-by: Jiri Pirko <jpirko@redhat.com> > --- > drivers/net/bonding/bond_main.c | 30 +++++++++++++++++++++++++++++- > 1 files changed, 29 insertions(+), 1 deletions(-) > > diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c > index 99610f3..47795c7 100644 > --- a/drivers/net/bonding/bond_main.c > +++ b/drivers/net/bonding/bond_main.c > @@ -1385,6 +1385,11 @@ static void bond_setup_by_slave(struct net_device *bond_dev, > bond->setup_by_slave = 1; > } > > +static inline int should_copy_dev_addrs(struct bonding *bond) > +{ > + return bond->params.mode == BOND_MODE_ALB ? 1 : 0; > +} static inline bool should_copy_dev_addrs(const struct bonding *bond) { return (bond->params.mode == BOND_MODE_ALB); } Three things are wrong with your style here: 1. Needless use of tri-graph operator, just return the result 2. Use const for test_foo() type functions 3. Use bool to make it clearer what the result is. > /* enslave device <slave> to bond device <master> */ > int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev) > { > @@ -1510,6 +1515,13 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev) > */ > new_slave->original_flags = slave_dev->flags; > > + if (should_copy_dev_addrs(bond)) { > + res = dev_addr_add_multiple(bond_dev, slave_dev); > + if (res) > + goto err_free; > + dev_mac_address_changed(bond_dev); The notifier (dev_mac_address_changed) should be part of dev_addr_add
WARNING: multiple messages have this Message-ID (diff)
From: Stephen Hemminger <shemminger@vyatta.com> To: Jiri Pirko <jpirko@redhat.com> Cc: ivecera@redhat.com, fubar@us.ibm.com, netdev@vger.kernel.org, bridge@lists.linux-foundation.org, linux-kernel@vger.kernel.org, mschmidt@redhat.com, bonding-devel@lists.sourceforge.net, dada1@cosmosbay.com, jgarzik@pobox.com, davem@davemloft.net Subject: Re: [Bridge] [PATCH 4/4] net: bonding: add slave device addresses in mode alb Date: Mon, 13 Apr 2009 07:56:38 -0700 [thread overview] Message-ID: <20090413075638.61839874@nehalam> (raw) In-Reply-To: <20090413084614.GE23734@psychotron.englab.brq.redhat.com> On Mon, 13 Apr 2009 10:46:15 +0200 Jiri Pirko <jpirko@redhat.com> wrote: > When in mode alb, add all device addresses which belong to an enslaved slave > device to the bond device. This ensures that all mac addresses will be > treated as local and bonding in this mode will work fine in bridge. > > Signed-off-by: Jiri Pirko <jpirko@redhat.com> > --- > drivers/net/bonding/bond_main.c | 30 +++++++++++++++++++++++++++++- > 1 files changed, 29 insertions(+), 1 deletions(-) > > diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c > index 99610f3..47795c7 100644 > --- a/drivers/net/bonding/bond_main.c > +++ b/drivers/net/bonding/bond_main.c > @@ -1385,6 +1385,11 @@ static void bond_setup_by_slave(struct net_device *bond_dev, > bond->setup_by_slave = 1; > } > > +static inline int should_copy_dev_addrs(struct bonding *bond) > +{ > + return bond->params.mode == BOND_MODE_ALB ? 1 : 0; > +} static inline bool should_copy_dev_addrs(const struct bonding *bond) { return (bond->params.mode == BOND_MODE_ALB); } Three things are wrong with your style here: 1. Needless use of tri-graph operator, just return the result 2. Use const for test_foo() type functions 3. Use bool to make it clearer what the result is. > /* enslave device <slave> to bond device <master> */ > int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev) > { > @@ -1510,6 +1515,13 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev) > */ > new_slave->original_flags = slave_dev->flags; > > + if (should_copy_dev_addrs(bond)) { > + res = dev_addr_add_multiple(bond_dev, slave_dev); > + if (res) > + goto err_free; > + dev_mac_address_changed(bond_dev); The notifier (dev_mac_address_changed) should be part of dev_addr_add
next prev parent reply other threads:[~2009-04-13 14:57 UTC|newest] Thread overview: 213+ messages / expand[flat|nested] mbox.gz Atom feed top 2009-03-13 18:33 [PATCH] bonding: allow bond in mode balance-alb to work properly in bridge Jiri Pirko 2009-03-13 18:33 ` [Bridge] " Jiri Pirko 2009-03-14 5:39 ` Stephen Hemminger 2009-03-14 5:39 ` [Bridge] " Stephen Hemminger 2009-03-14 9:49 ` Jiri Pirko 2009-03-14 9:49 ` [Bridge] " Jiri Pirko 2009-03-15 23:12 ` Stephen Hemminger 2009-03-15 23:12 ` [Bridge] " Stephen Hemminger 2009-03-16 11:11 ` Jiri Pirko 2009-03-16 11:11 ` [Bridge] " Jiri Pirko 2009-03-19 6:20 ` David Miller 2009-03-19 6:20 ` [Bridge] " David Miller 2009-03-19 8:44 ` Jiri Pirko 2009-03-19 8:44 ` [Bridge] " Jiri Pirko 2009-03-19 10:21 ` David Miller 2009-03-19 10:21 ` [Bridge] " David Miller 2009-03-19 11:19 ` Jiri Pirko 2009-03-19 11:19 ` [Bridge] " Jiri Pirko 2009-03-19 8:50 ` Patrick McHardy 2009-03-19 8:50 ` [Bridge] " Patrick McHardy 2009-03-19 16:31 ` Jiri Pirko 2009-03-19 16:31 ` [Bridge] " Jiri Pirko 2009-03-25 13:04 ` [PATCH] bonding: allow bond in mode balance-alb to work properly in bridge -try2 Jiri Pirko 2009-03-25 13:04 ` [Bridge] " Jiri Pirko 2009-03-25 13:40 ` Eric Dumazet 2009-03-25 13:40 ` [Bridge] " Eric Dumazet 2009-03-25 14:39 ` Jiri Pirko 2009-03-25 14:39 ` [Bridge] " Jiri Pirko 2009-03-25 15:19 ` [PATCH] bonding: allow bond in mode balance-alb to work properly in bridge -try3 Jiri Pirko 2009-03-25 15:19 ` [Bridge] " Jiri Pirko 2009-03-25 16:31 ` Jay Vosburgh 2009-03-25 16:31 ` [Bridge] " Jay Vosburgh 2009-03-25 17:44 ` Jiri Pirko 2009-03-25 17:44 ` [Bridge] " Jiri Pirko 2009-03-26 0:24 ` David Miller 2009-03-26 0:24 ` [Bridge] " David Miller 2009-03-26 0:34 ` Jay Vosburgh 2009-03-26 0:34 ` [Bridge] " Jay Vosburgh 2009-03-26 11:12 ` Jiri Pirko 2009-03-26 11:12 ` [Bridge] " Jiri Pirko 2009-03-26 15:52 ` [PATCH] bonding: allow bond in mode balance-alb to work properly in bridge -try4 Jiri Pirko 2009-03-26 15:52 ` [Bridge] " Jiri Pirko 2009-03-27 7:38 ` David Miller 2009-03-27 7:38 ` [Bridge] " David Miller 2009-03-27 7:46 ` Jiri Pirko 2009-03-27 7:46 ` [Bridge] " Jiri Pirko 2009-03-27 7:53 ` Patrick McHardy 2009-03-27 7:53 ` [Bridge] " Patrick McHardy 2009-03-27 8:41 ` Jiri Pirko 2009-03-27 8:41 ` [Bridge] " Jiri Pirko 2009-03-27 8:55 ` Patrick McHardy 2009-03-27 8:55 ` [Bridge] " Patrick McHardy 2009-03-27 9:47 ` Jiri Pirko 2009-03-27 9:47 ` [Bridge] " Jiri Pirko 2009-03-29 20:53 ` David Miller 2009-03-29 20:53 ` [Bridge] " David Miller 2009-03-30 12:04 ` Patrick McHardy 2009-03-30 12:04 ` [Bridge] " Patrick McHardy 2009-03-30 12:40 ` Jiri Pirko 2009-03-30 12:40 ` [Bridge] " Jiri Pirko 2009-03-30 12:47 ` Patrick McHardy 2009-03-30 12:47 ` [Bridge] " Patrick McHardy 2009-03-30 12:52 ` Jiri Pirko 2009-03-30 12:52 ` [Bridge] " Jiri Pirko 2009-03-30 12:58 ` Patrick McHardy 2009-03-30 12:58 ` [Bridge] " Patrick McHardy 2009-05-26 15:17 ` [PATCH net-next] bonding: allow bond in mode balance-alb to work properly in bridge -try4.1 Jiri Pirko 2009-05-26 15:17 ` [Bridge] " Jiri Pirko 2009-05-26 16:32 ` Andy Gospodarek 2009-05-26 16:32 ` [Bridge] " Andy Gospodarek 2009-05-27 8:25 ` Jiri Pirko 2009-05-27 8:25 ` [Bridge] " Jiri Pirko 2009-05-26 16:59 ` Eric Dumazet 2009-05-26 16:59 ` [Bridge] " Eric Dumazet 2009-05-27 8:42 ` Jiri Pirko 2009-05-27 8:42 ` [Bridge] " Jiri Pirko 2009-05-27 13:53 ` [PATCH net-next] bonding: allow bond in mode balance-alb to work properly in bridge -try4.2 Jiri Pirko 2009-05-27 13:53 ` [Bridge] " Jiri Pirko 2009-05-27 14:39 ` Eric Dumazet 2009-05-27 14:39 ` [Bridge] " Eric Dumazet 2009-05-28 9:57 ` Jiri Pirko 2009-05-28 9:57 ` [Bridge] " Jiri Pirko 2009-05-28 11:05 ` [PATCH net-next] bonding: allow bond in mode balance-alb to work properly in bridge -try4.3 Jiri Pirko 2009-05-28 11:05 ` [Bridge] " Jiri Pirko 2009-05-28 11:41 ` Eric Dumazet 2009-05-28 11:41 ` [Bridge] " Eric Dumazet 2009-05-29 8:52 ` David Miller 2009-05-29 8:52 ` [Bridge] " David Miller 2009-05-28 12:11 ` Andy Gospodarek 2009-05-28 12:11 ` [Bridge] " Andy Gospodarek 2009-04-13 8:37 ` [PATCH 0/4] bonding: allow bond in mode balance-alb to work properly in bridge -try5 Jiri Pirko 2009-04-13 8:37 ` [Bridge] " Jiri Pirko 2009-04-13 8:38 ` [PATCH 1/4] net: introduce dev_mac_address_changed Jiri Pirko 2009-04-13 8:38 ` [Bridge] " Jiri Pirko 2009-04-13 14:58 ` Stephen Hemminger 2009-04-13 14:58 ` [Bridge] " Stephen Hemminger 2009-04-13 8:42 ` [PATCH 2/4] net: introduce a list of device addresses dev_addr_list Jiri Pirko 2009-04-13 8:42 ` [Bridge] " Jiri Pirko 2009-04-13 14:49 ` Stephen Hemminger 2009-04-13 14:49 ` [Bridge] " Stephen Hemminger 2009-04-13 22:54 ` David Miller 2009-04-13 22:54 ` [Bridge] " David Miller 2009-04-13 22:53 ` David Miller 2009-04-13 22:53 ` [Bridge] " David Miller 2009-04-13 8:44 ` [PATCH 3/4] net: bridge: use device address list instead of dev_addr Jiri Pirko 2009-04-13 8:44 ` [Bridge] " Jiri Pirko 2009-04-13 14:54 ` Stephen Hemminger 2009-04-13 14:54 ` [Bridge] " Stephen Hemminger 2009-04-14 10:15 ` Jiri Pirko 2009-04-14 10:15 ` [Bridge] " Jiri Pirko 2009-04-13 22:54 ` David Miller 2009-04-13 22:54 ` [Bridge] " David Miller 2009-04-13 8:46 ` [PATCH 4/4] net: bonding: add slave device addresses in mode alb Jiri Pirko 2009-04-13 8:46 ` [Bridge] " Jiri Pirko 2009-04-13 14:56 ` Stephen Hemminger [this message] 2009-04-13 14:56 ` Stephen Hemminger 2009-04-15 8:17 ` [PATCH 0/3] bonding: allow bond in mode balance-alb to work properly in bridge -try6 Jiri Pirko 2009-04-15 8:17 ` [Bridge] " Jiri Pirko 2009-04-15 8:18 ` [PATCH 1/3] net: introduce a list of device addresses dev_addr_list Jiri Pirko 2009-04-15 8:18 ` [Bridge] " Jiri Pirko 2009-04-15 8:26 ` Li Zefan 2009-04-15 8:26 ` [Bridge] " Li Zefan 2009-04-15 8:29 ` Jiri Pirko 2009-04-15 8:29 ` [Bridge] " Jiri Pirko 2009-04-15 8:32 ` Jiri Pirko 2009-04-15 8:32 ` [Bridge] " Jiri Pirko 2009-04-15 9:21 ` David Miller 2009-04-15 9:21 ` [Bridge] " David Miller 2009-04-15 9:27 ` Eric Dumazet 2009-04-15 9:27 ` [Bridge] " Eric Dumazet 2009-04-15 9:31 ` David Miller 2009-04-15 9:31 ` [Bridge] " David Miller 2009-04-15 10:13 ` Patrick McHardy 2009-04-15 10:13 ` [Bridge] " Patrick McHardy 2009-04-15 10:15 ` David Miller 2009-04-15 10:15 ` [Bridge] " David Miller 2009-04-15 10:41 ` Patrick McHardy 2009-04-15 10:41 ` [Bridge] " Patrick McHardy 2009-04-15 10:45 ` David Miller 2009-04-15 10:45 ` [Bridge] " David Miller 2009-04-15 10:47 ` Patrick McHardy 2009-04-15 10:47 ` [Bridge] " Patrick McHardy 2009-04-15 14:42 ` Jiri Pirko 2009-04-15 14:42 ` [Bridge] " Jiri Pirko 2009-04-15 11:17 ` Jiri Pirko 2009-04-15 11:17 ` [Bridge] " Jiri Pirko 2009-04-15 11:22 ` Patrick McHardy 2009-04-15 11:22 ` [Bridge] " Patrick McHardy 2009-04-15 11:28 ` Jiri Pirko 2009-04-15 11:28 ` [Bridge] " Jiri Pirko 2009-04-15 12:28 ` Eric Dumazet 2009-04-15 12:28 ` [Bridge] " Eric Dumazet 2009-04-15 18:02 ` [PATCH 1/3] net: introduce a list of device addresses dev_addr_list (v2) Jiri Pirko 2009-04-15 18:02 ` [Bridge] " Jiri Pirko 2009-04-15 18:54 ` Eric Dumazet 2009-04-15 18:54 ` [Bridge] " Eric Dumazet 2009-04-16 8:46 ` Jiri Pirko 2009-04-16 8:46 ` [Bridge] " Jiri Pirko 2009-04-17 11:57 ` [PATCH 1/3] net: introduce a list of device addresses dev_addr_list (v3) Jiri Pirko 2009-04-17 11:57 ` [Bridge] " Jiri Pirko 2009-04-17 15:33 ` Stephen Hemminger 2009-04-17 15:33 ` [Bridge] " Stephen Hemminger 2009-04-18 7:01 ` Jiri Pirko 2009-04-18 7:01 ` [Bridge] " Jiri Pirko 2009-04-18 7:35 ` Eric Dumazet 2009-04-18 7:35 ` [Bridge] " Eric Dumazet 2009-04-18 7:44 ` Jiri Pirko 2009-04-18 7:44 ` [Bridge] " Jiri Pirko 2009-04-18 8:06 ` Eric Dumazet 2009-04-18 8:06 ` [Bridge] " Eric Dumazet 2009-04-18 8:58 ` [PATCH 1/3] net: introduce a list of device addresses dev_addr_list (v4) Jiri Pirko 2009-04-18 8:58 ` [Bridge] " Jiri Pirko 2009-04-20 16:11 ` Jiri Pirko 2009-04-20 16:11 ` [Bridge] " Jiri Pirko 2009-04-23 8:09 ` Jiri Pirko 2009-04-23 8:09 ` [Bridge] " Jiri Pirko 2009-04-23 8:09 ` Jiri Pirko 2009-04-23 15:58 ` [Bonding-devel] " Stephen Hemminger 2009-04-23 15:58 ` [Bridge] " Stephen Hemminger 2009-04-24 21:26 ` Jiri Pirko 2009-04-24 21:26 ` [Bridge] " Jiri Pirko 2009-05-04 11:14 ` [PATCH] net: introduce a list of device addresses dev_addr_list (v5) Jiri Pirko 2009-05-04 11:14 ` [Bridge] " Jiri Pirko 2009-05-05 4:37 ` David Miller 2009-05-05 4:37 ` [Bridge] " David Miller 2009-05-05 6:37 ` Jiri Pirko 2009-05-05 6:37 ` [Bridge] " Jiri Pirko 2009-05-05 12:48 ` [PATCH] net: introduce a list of device addresses dev_addr_list (v6) Jiri Pirko 2009-05-05 12:48 ` [Bridge] " Jiri Pirko 2009-05-05 19:27 ` David Miller 2009-05-05 19:27 ` [Bridge] " David Miller 2009-05-08 22:38 ` Stephen Hemminger 2009-05-08 22:38 ` [Bridge] " Stephen Hemminger 2009-05-08 23:00 ` David Miller 2009-05-08 23:00 ` [Bridge] " David Miller 2009-05-08 23:12 ` Stephen Hemminger 2009-05-08 23:12 ` [Bridge] " Stephen Hemminger 2009-05-08 23:25 ` David Miller 2009-05-08 23:25 ` [Bridge] " David Miller 2009-05-08 23:29 ` Stephen Hemminger 2009-05-08 23:29 ` [Bridge] " Stephen Hemminger 2009-04-15 8:21 ` [PATCH 2/3] net: bridge: use device address list instead of dev_addr Jiri Pirko 2009-04-15 8:21 ` [Bridge] " Jiri Pirko 2009-05-06 14:46 ` [PATCH net-next] net: bridge: use device address list instead of dev_addr (repost) Jiri Pirko 2009-05-06 14:46 ` [Bridge] " Jiri Pirko 2009-05-06 15:08 ` Eric Dumazet 2009-05-06 15:08 ` [Bridge] " Eric Dumazet 2009-05-06 19:26 ` Stephen Hemminger 2009-05-06 19:26 ` [Bridge] " Stephen Hemminger 2009-05-07 22:03 ` David Miller 2009-05-07 22:03 ` [Bridge] " David Miller 2009-04-15 8:22 ` [PATCH 3/3] net: bonding: add slave device addresses in mode alb Jiri Pirko 2009-04-15 8:22 ` [Bridge] " 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=20090413075638.61839874@nehalam \ --to=shemminger@vyatta.com \ --cc=bonding-devel@lists.sourceforge.net \ --cc=bridge@lists.linux-foundation.org \ --cc=dada1@cosmosbay.com \ --cc=davem@davemloft.net \ --cc=fubar@us.ibm.com \ --cc=ivecera@redhat.com \ --cc=jgarzik@pobox.com \ --cc=jpirko@redhat.com \ --cc=kaber@trash.net \ --cc=linux-kernel@vger.kernel.org \ --cc=mschmidt@redhat.com \ --cc=netdev@vger.kernel.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: linkBe 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.