All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Ruijter <bridge@siennax.com>
To: Stephen Hemminger <shemminger@osdl.org>, bridge@lists.osdl.org
Cc: "David S. Miller" <davem@redhat.com>
Subject: [Bridge] Problem in changed VLAN code can cause systems to hang.
Date: Thu, 09 Sep 2004 15:16:33 +0200	[thread overview]
Message-ID: <414057B1.1020902@siennax.com> (raw)


Stephen,

I noticed that the VLAN code of kernels >=2.6.8 contain the patch needed 
to mirror link state information from the real device to the vlan device.

This however causes the system to hang in combination with net-snmpd.
The last thing that I see is an ioctl(0x8947...

 From the net-snmp code:
---

         if (ioctl(fd, 0x8947, &ifr) >= 0) {
                 new_ioctl_nums = 1;
         } else if (ioctl(fd, SIOCDEVPRIVATE, &ifr) >= 0) {
                 new_ioctl_nums = 0;
         } else {
                 DEBUGMSGTL(("mibII/interfaces", "SIOCGMIIPHY on %s 
failed\n", ifr.ifr_name));
                 return retspeed;
         }

---

I suspected the code below so I commented out the SIOCGMIIPHY line:


  int vlan_dev_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
{
         struct net_device *real_dev = VLAN_DEV_INFO(dev)->real_dev;
         struct ifreq ifrr;
         int err = -EOPNOTSUPP;

         strncpy(ifrr.ifr_name, real_dev->name, IFNAMSIZ);
         ifrr.ifr_ifru = ifr->ifr_ifru;

         switch(cmd) {
         //case SIOCGMIIPHY:
         case SIOCGMIIREG:
         case SIOCSMIIREG:
                 if (real_dev->do_ioctl && netif_device_present(real_dev))
                         err = real_dev->do_ioctl(dev, &ifrr, cmd);
                 break;

         case SIOCETHTOOL:
                 err = dev_ethtool(&ifrr);
         }

         if (!err)
                 ifr->ifr_ifru = ifrr.ifr_ifru;

         return err;
}

This fixes the problem. I didn't bother to check what this call actually 
does and why it doesn't work.

Mark.




             reply	other threads:[~2004-09-09 13:16 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-09-09 13:16 Mark Ruijter [this message]
2004-09-09 15:21 ` [Bridge] Re: Problem in changed VLAN code can cause systems to hang David S. Miller
2004-09-09 15:33   ` shemminger
2004-09-09 15:51     ` David S. Miller
2004-09-10 11:56       ` Stephen Hemminger
2004-09-10 12:38         ` Tommy Christensen
2004-09-10 13:17           ` Stephen Hemminger
2004-09-10 13:02         ` Mark Ruijter
2004-09-09 15:54     ` Mark Ruijter
2004-09-09 16:00     ` Ben Greear
2004-09-09 15:34   ` Mark Ruijter
2004-09-10 12:43 ` [Bridge] " Tommy Christensen
2004-09-10 13:14   ` Stephen Hemminger
2004-09-10 13:29     ` Mark Ruijter
2004-09-10 23:01     ` David S. Miller

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=414057B1.1020902@siennax.com \
    --to=bridge@siennax.com \
    --cc=bridge@lists.osdl.org \
    --cc=davem@redhat.com \
    --cc=shemminger@osdl.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.