All of lore.kernel.org
 help / color / mirror / Atom feed
From: roopa <roopa@cumulusnetworks.com>
To: Robert Shearman <rshearma@brocade.com>
Cc: Scott Feldman <sfeldma@gmail.com>,
	Netdev <netdev@vger.kernel.org>,
	"ebiederm@xmission.com" <ebiederm@xmission.com>
Subject: Re: /net/mpls/conf/ethX//input duplicate entry
Date: Thu, 11 Jun 2015 08:04:17 -0700	[thread overview]
Message-ID: <5579A371.90101@cumulusnetworks.com> (raw)
In-Reply-To: <55798554.7020102@brocade.com>

On 6/11/15, 5:55 AM, Robert Shearman wrote:
> On 11/06/15 00:23, Scott Feldman wrote:
>> On Wed, Jun 10, 2015 at 2:58 PM, roopa <roopa@cumulusnetworks.com> 
>> wrote:
>>> On 6/10/15, 1:43 PM, Scott Feldman wrote:
>>>>
>>>> I'm getting this dump_stack when reloading rocker driver. Did some
>>>> sysctl MPLS nodes not get cleaned up on NETDEV_UNREGISTER?
>>>>
>>>> Steps to repro: load rocker (on system) with rocker device, rmmod
>>>> rocker, and then modprobe rocker.  I doubt this is specific to rocker:
>>>> and re-registration of a netdev should hit it. I am using UDEV rules
>>>> to rename kernel's ethX to a different name.  Maybe that's what
>>>> tripped it up?
>>>>
>>> On a quick look, wondering if this is because mpls driver does not 
>>> seem to
>>> do a unregister and re-register sysctl
>>> on device name change.
>
> Mea culpa. Thanks for looking at this.
>
>>>
>>> diff --git a/net/mpls/af_mpls.c b/net/mpls/af_mpls.c
>>> index 7b3f732..ec21a5d 100644
>>> --- a/net/mpls/af_mpls.c
>>> +++ b/net/mpls/af_mpls.c
>>> @@ -564,6 +564,14 @@ static int mpls_dev_notify(struct 
>>> notifier_block *this,
>>> unsigned long event,
>>>          case NETDEV_UNREGISTER:
>>>                  mpls_ifdown(dev);
>>>                  break;
>>> +       case NETDEV_CHANGENAME:
>>> +               mpls_ifdown(dev);
>>> +               if ((dev->type == ARPHRD_ETHER) ||
>>> +                   (dev->type == ARPHRD_LOOPBACK)) {
>>> +                       mdev = mpls_add_dev(dev);
>>> +                       if (IS_ERR(mdev))
>>> +                               return 
>>> notifier_from_errno(PTR_ERR(mdev));
>>> +               }
>>>          }
>>>          return NOTIFY_OK;
>>>   }
>>
>> Roopa, I tested this patch and problem goes away.  (It's missing a
>> break statement, BTW).  I didn't look into the correctness of the
>> patch, but at first glance it seems liek the right thing to do. Maybe
>> breaking out the renaming portions into sub-functions could keep the
>> work done in NETDEV_CHANGENAME to a minimum.
>
> I agree that breaking out the sysctl registration/unregistration is a 
> good idea to not have to do more work than is necessary, and to avoid 
> unintended consequences (like routes using the interface being made 
> unusable).
>
>>
>> Are you sending official fix?
>
> Roopa, let me know if you'd like me to carry this forward.
sorry for the delay in getting back. Its going to be a busy day for me. 
And i don't know the side-effects of my changes yet.
you probably have a better handle on this. So if you can, yes please 
carry this forward.

thanks!.

  reply	other threads:[~2015-06-11 15:04 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-10 20:43 /net/mpls/conf/ethX//input duplicate entry Scott Feldman
2015-06-10 21:58 ` roopa
2015-06-10 23:23   ` Scott Feldman
2015-06-11 12:55     ` Robert Shearman
2015-06-11 15:04       ` roopa [this message]
2015-06-11 18:58         ` [PATCH net] mpls: handle device renames for per-device sysctls Robert Shearman
2015-06-11 23:48           ` David Miller
2015-06-11 18:30       ` /net/mpls/conf/ethX//input duplicate entry Eric W. Biederman

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=5579A371.90101@cumulusnetworks.com \
    --to=roopa@cumulusnetworks.com \
    --cc=ebiederm@xmission.com \
    --cc=netdev@vger.kernel.org \
    --cc=rshearma@brocade.com \
    --cc=sfeldma@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 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.