From: Eric K. (contractor) <ek...@cm...> - 2011-07-27 14:42:57
|
On Wed Jul 27 16:43:33 +0200 2011, Pascal Hambourg wrote: > [Sorry for the previous message with an empty subject] > > 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. > > My kernel version is 2.6.32.x but this part has not changed in newer > versions. > > 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. Changing the -p option to "1" will put an ethernet header in each pdu. See rfc 1483 section 4.1 for a description of the "routed" configuration (-p 0). # br2684ctl -c 0 -e 0 -p 1 -a 8.36 |