Alan Cox <alan@lxorguk.ukuu.org.uk> writes:It's not that simple - it was broken between 2.6.22 and 2.6.23 (2.6.23 was already broken), I just haven't noticed (I don't use PPP myself, except for tests). author Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Fri, 6 Jul 2007 20:36:20 +0000 (13:36 -0700) commit f25f4e44808f0f6c9875d94ef1c41ef86c288eb2 [CORE] Stack changes to add multiqueue hardware support API Add the multiqueue hardware device support API to the core network stack. Allow drivers to allocate multiple queues and manage them at the netdev level if they choose to do so. Added a new field to sk_buff, namely queue_mapping, for drivers to know which tx_ring to select based on OS classification of the flow. And it included: --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -565,9 +578,7 @@ struct net_device static inline void *netdev_priv(const struct net_device *dev) { - return (char *)dev + ((sizeof(struct net_device) - + NETDEV_ALIGN_CONST) - & ~NETDEV_ALIGN_CONST); + return dev->priv; } #define SET_MODULE_OWNER(dev) do { } while (0) HDLC PPP sits between hardware drivers and (in this case) syncppp.c, and it (hdlc_ppp module) was using netdev_priv() as a pointer to the memory allocated with (after) the netdev structure. dev->priv was used by syncppp.c. HDLC FR was also broken by this change but the fix was easy because there is no external protocol module to interface to. I didn't want to add to the HDLC PPP mess anymore and have rewritten it instead (in process, it turned out syncppp alone, and syncppp + HDLC have much more problems than I thought). Obviously I was way too late for 2.6.25 (past 2.6.25-rc5 and the new code wasn't much tested). Yes, I could add another dirty "interface fix" to the HDLC + syncppp combo (hdlc_ppp), but I don't really see a sense, especially that I have the new implementation ready and working (my time resources are currently quite limited and if I have to choose between adding another glue fix and writing a better PPP replacement I pick the latter). My original post: http://lkml.org/lkml/2008/3/12/277 -- Krzysztof Halasa --
| Linus Torvalds | Linux 2.6.27-rc8 |
| Trent Piepho | [PATCH] [POWERPC] Improve (in|out)_beXX() asm code |
| Satyam Sharma | Re: 2.6.23-rc4-mm1 "no CRC" MODPOST warnings |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
git: | |
| Bill Lear | Dangers of working on a tracking branch |
| Jeff King | Re: What's cooking in git/spearce.git (topics) |
| Jason Garber | git push [rejected] question |
| Maxim Gordienko | [GIT-P4] usage under Windows |
| Richard Stallman | Real men don't attack straw men |
| Leon Dippenaar | New tcp stack attack |
| GVG GVG | ssh_exchange_identification: Connection closed by remote host |
| Brandon Lee | DELL PERC 5iR slow performance |
| Jeff Garzik | Re: [PATCH] drivers/net: remove network drivers' last few uses of IRQF_SAMPLE_RANDOM |
| Paul Moore | [PATCH v7 00/17] Labeled networking patches for 2.6.28 |
| Denys Vlasenko | Re: bnx2 dirver's firmware images |
| Herbert Xu | Re: csum offload and af_packet |
