> http://johannes.sipsolutions.net/patches/kernel/all/2008-05-04-11%3a23/02= 7-skb-alloc-stackdump.patch This was broken when cloning, this one works: http://johannes.sipsolutions.net/patches/kernel/all/2008-05-04-12%3a19/027-= skb-alloc-stackdump.patch Now I see the problem. I increased the LL_MAX_HEADER constant, but all code uses dev->hard_header_len to allocate the headroom (via LL_RESERVED_SPACE), e.g. packet.c: packet_sendmsg_spkt: skb =3D sock_wmalloc(sk, len + LL_RESERVED_SPACE(dev), 0, GFP_KERNE= L); =20 =20 [...] /* FIXME: Save some space for broken drivers that write a * hard header at transmission time by themselves. PPP is the * notable one here. This should really be fixed at the driver leve= l. */ skb_reserve(skb, LL_RESERVED_SPACE(dev)); This one even complains about "broken drivers" (like PPP, but wireless code behaves like this too). This is getting really really really frustrating. All kinds of comments all over tell you how this all is wrong but NEVER actually tell you how to do it correctly! As far as I understand, I cannot change dev->hard_header_len because I want/need an ethernet header and not more. But then I don't get enough headroom. Oddly enough, I even get a warning from tcp_connect() although that actually does /* Reserve space for headers. */ skb_reserve(buff, MAX_TCP_HEADER); which should definitely be sufficient. Maybe the packet gets cloned somewhere? On the other hand, IPv4 raw's =EF=BB=BFraw_send_hdrinc reserves LL_RESERVED_SPACE(rt->u.dst.dev) like af_packet.... johannes
| H. Peter Anvin | Re: [rft] s2ram wakeup moves to .c, could fix few machines |
| Greg Kroah-Hartman | [PATCH 002/196] Chinese: rephrase English introduction in HOWTO |
| Ingo Molnar | [patch] PID namespace design bug, workaround |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
git: | |
| Eric Dumazet | Re: Multicast packet loss |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| David Miller | [GIT]: Networking |
| Jarek Poplawski | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
