From: Pascal H. <pa...@pl...> - 2011-07-30 18:50:34
|
chas williams - CONTRACTOR wrote : > On Thu, 28 Jul 2011 21:10:38 +0200 > Francois Romieu <ro...@fr...> wrote: > >> A short explanation of the skb_pull(skb, ETH_HLEN) for e_vc/p_routed in >> br2684_xmit_vcc would be welcome. >> >> I do not see how there can be ETH_HLEN excess bytes in this direction. > > yeah, i think this skb_pull() is wrong. when a routed interface is > setup, it shouldnt be prepending ethernet headers on the outgoing > packets so there shouldnt be any need to remove an ethernet header. > > anyone willing/capable of testing a patch? A test with an ADSL line using VC-MUX routed encapsulation for internet access through a Sagem Fast 800 USB modem (ueagle-atm) was successful. The internet connection worked fine. Command line : br2684ctl -c 0 -e 1 -p 0 -a 8.36 Below is a (trivial) patch against kernel 3.0 adapted from the one I applied to my kernel 2.6.32. diff -ur a/net/atm/br2684.c b/net/atm/br2684.c --- a/net/atm/br2684.c 2011-07-30 19:13:26.000000000 +0200 +++ b/net/atm/br2684.c 2011-07-30 19:26:28.000000000 +0200 @@ -242,8 +242,6 @@ if (brdev->payload == p_bridged) { skb_push(skb, 2); memset(skb->data, 0, 2); - } else { /* p_routed */ - skb_pull(skb, ETH_HLEN); } } skb_debug(skb); |