From: Roopa Prabhu <roopa@cumulusnetworks.com>
To: Scott Feldman <sfeldma@gmail.com>
Cc: "Jiří Pírko" <jiri@resnulli.us>,
"Jamal Hadi Salim" <jhs@mojatatu.com>,
"Benjamin LaHaise" <bcrl@kvack.org>,
"Thomas Graf" <tgraf@suug.ch>,
"john fastabend" <john.fastabend@gmail.com>,
"stephen@networkplumber.org" <stephen@networkplumber.org>,
"John Linville" <linville@tuxdriver.com>,
"vyasevic@redhat.com" <vyasevic@redhat.com>,
Netdev <netdev@vger.kernel.org>,
"David S. Miller" <davem@davemloft.net>,
shm@cumulusnetworks.com,
"Andy Gospodarek" <gospo@cumulusnetworks.com>
Subject: Re: [PATCH v2 iproute] bridge link: add option 'self'
Date: Sat, 06 Dec 2014 00:03:30 -0800 [thread overview]
Message-ID: <5482B852.3080705@cumulusnetworks.com> (raw)
In-Reply-To: <CAE4R7bBYOW60bL07hD-wPWZZZxQ+jKx95cG0wnEMdU8KMZB5rw@mail.gmail.com>
On 12/5/14, 9:36 PM, Scott Feldman wrote:
> On Fri, Dec 5, 2014 at 4:59 PM, <roopa@cumulusnetworks.com> wrote:
>> From: Roopa Prabhu <roopa@cumulusnetworks.com>
>>
>> Currently self is set internally only if hwmode is set.
>> This makes it necessary for the hw to have a mode.
>> There is no hwmode really required to go to hardware. So, introduce
>> self for anybody who wants to target hardware.
>>
>> v1 -> v2
>> - fix a few bugs. Initialize flags to zero: this was required to
>> keep the current behaviour unchanged.
>>
>> Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
>> ---
>> bridge/link.c | 9 ++++++---
>> 1 file changed, 6 insertions(+), 3 deletions(-)
>>
>> diff --git a/bridge/link.c b/bridge/link.c
>> index 90d9e7f..b8b8675 100644
>> --- a/bridge/link.c
>> +++ b/bridge/link.c
>> @@ -261,7 +261,7 @@ static int brlink_modify(int argc, char **argv)
>> __s16 priority = -1;
>> __s8 state = -1;
>> __s16 mode = -1;
>> - __u16 flags = BRIDGE_FLAGS_MASTER;
>> + __u16 flags = 0;
> I don't follow why this change is necessary. Seems defaulting to
> MASTER unless SELF is set due to "self" or "hwmode" would be more
> correct (and expected).
That flags initialization was always a no-op. IFLA_BRIDGE_FLAGS was
always set only with the 'self' flag on.
And i don't want to change that unnecessarily with my patch.
Setting it to master now means we will always include IFLA_AF_SPEC with
IFLA_BRIDGE_FLAGS in every 'bridge setlink' msg.
Which will be a change from the current behavior. And i dont intend to
introduce it with this patch.
Kernel has always treated no flags as 'master', so we are good from
kernel perspective.
>
>> struct rtattr *nest;
>>
>> memset(&req, 0, sizeof(req));
>> @@ -321,6 +321,8 @@ static int brlink_modify(int argc, char **argv)
>> "\"veb\".\n");
>> exit(-1);
>> }
>> + } else if (strcmp(*argv, "self") == 0) {
>> + flags = BRIDGE_FLAGS_SELF;
>> } else {
>> usage();
>> }
>> @@ -375,10 +377,11 @@ static int brlink_modify(int argc, char **argv)
>> * devices so far. Thus we only need to include the flags attribute
>> * if we are setting the hw mode.
>> */
> The comment above needs to be updated to reflect the new logic.
ok, will do, Thanks
>
>> - if (mode >= 0) {
>> + if (mode >= 0 || flags > 0) {
>> nest = addattr_nest(&req.n, sizeof(req), IFLA_AF_SPEC);
>>
>> - addattr16(&req.n, sizeof(req), IFLA_BRIDGE_FLAGS, flags);
>> + if (flags > 0)
>> + addattr16(&req.n, sizeof(req), IFLA_BRIDGE_FLAGS, flags);
>>
>> if (mode >= 0)
>> addattr16(&req.n, sizeof(req), IFLA_BRIDGE_MODE, mode);
>> --
>> 1.7.10.4
>>
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
prev parent reply other threads:[~2014-12-06 8:03 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-06 0:59 [PATCH v2 iproute] bridge link: add option 'self' roopa
2014-12-06 5:36 ` Scott Feldman
2014-12-06 8:03 ` Roopa Prabhu [this message]
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=5482B852.3080705@cumulusnetworks.com \
--to=roopa@cumulusnetworks.com \
--cc=bcrl@kvack.org \
--cc=davem@davemloft.net \
--cc=gospo@cumulusnetworks.com \
--cc=jhs@mojatatu.com \
--cc=jiri@resnulli.us \
--cc=john.fastabend@gmail.com \
--cc=linville@tuxdriver.com \
--cc=netdev@vger.kernel.org \
--cc=sfeldma@gmail.com \
--cc=shm@cumulusnetworks.com \
--cc=stephen@networkplumber.org \
--cc=tgraf@suug.ch \
--cc=vyasevic@redhat.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 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.