> On Wed, 23 Jan 2008 13:13:13 -0800 (PST) [EMAIL PROTECTED] wrote: > http://bugzilla.kernel.org/show_bug.cgi?id=9806 > > Summary: (tun dev) Impossible to deassert IFF_ONE_QUEUE or > IFF_NO_PI > Product: Drivers > Version: 2.5 > KernelVersion: 2.6.23 > Platform: All > OS/Version: Linux > Tree: Mainline > Status: NEW > Severity: normal > Priority: P1 > Component: Network > AssignedTo: [EMAIL PROTECTED] > ReportedBy: [EMAIL PROTECTED] > > > Problem Description: > > The TUN/TAP driver only permits one-way transitions of IFF_NO_PI or > IFF_ONE_QUEUE during the lifetime of a tap/tun interface. Note that > tun_set_iff contains > > 541 if (ifr->ifr_flags & IFF_NO_PI) > 542 tun->flags |= TUN_NO_PI; > 543 > 544 if (ifr->ifr_flags & IFF_ONE_QUEUE) > 545 tun->flags |= TUN_ONE_QUEUE; > > This is easily fixed by adding else branches which clear these bits. > > Steps to reproduce: > > This is easily reproduced by setting an interface persistant using tunctl then > attempting to open it as IFF_TAP or IFF_TUN, without asserting the IFF_NO_PI > flag. The ioctl() will succeed and the ifr.flags word is not modified, but > the > interface remains in IFF_NO_PI mode (as it was set by tunctl). >
Thanks. Could you please submit the patch via email? Send it to all recipients of this email. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html