From: Pascal H. <pa...@pl...> - 2011-07-27 14:15:19
|
Hello, I tried to setup an IPoA over ADSL connection in VC routed mode with br2684ctl at a friend's house : # br2684ctl -c 0 -e 1 -p 0 -a 8.36 and configured the nas0 interface with ifconfig. No error message, but no replies to sent packets were received. Then I setup a CLIP interface with atmarp in VC mode instead : # atmarp -c 0 # ifconfig atm0 <address> netmask <netmask> up mtu 1500 # atmarp -s <gateway> 8.36 null and the connection worked well. Back home, I investigated using atmtcp to print sent PDUs, and found out that in PDUs generated by br2684 the 14 first bytes were missing, while they were present when generated by atmarp. Looking at net/atm/br2684.c in the kernel source, in function br2684_xmit_vcc() I found : } else { /* e_vc */ if (brdev->payload == p_bridged) { skb_push(skb, 2); memset(skb->data, 0, 2); } else { /* p_routed */ skb_pull(skb, ETH_HLEN); Hmm, indeed 14 bytes is just the size of an ethernet header, but it makes no sense on a point-to-point interface. I commented out the last line and rebuilt the br2684 module, and now sent PDUs look complete. However I have not been able to test for real yet as I don't have an IPoA connection. The line was added by commit 7e903c2ae36efb526eacab3b25d00e90424bd8a8 atm: [br2864] fix routed vcmux support Any comments ? Maybe I missed something, I can hardly believe such an issue could have remained unnoticed for such a long time. Thanks. |