Hi
I have some problem with ethertap and 100Mbit networks. I'm working on a
VPN solution that uses the ethertap device. Everything is working in a
10Mbit network. When I try it in a 100Mbit network I get much lower
transfer rates( < 100KB/s). The VPN solution splits large packets so
that the users can run their own VLAN's over the VPN. This generates
packets which are sent back-to-back. The VPN computer is a Celeron 533
64 MB
and runs kernel 2.2.14 with LRP Materhorn.
A lousy figure of the system:
Client--VPN---VPN--Client
I have the same problem when I use FTP to transfer data between two
computers connected with TapTunnel (author Lennart Poettering). This
test was done on two other computers running kernel 2.2.14 and Mandrake
7.0.
I have done some tracing in the kernel and found the following:
10Mbit 100Mbit
rtl8139_rx: got 872 bytes rtl8139_rx: got 872 bytes
net_bh: eth0: 858 bytes rtl8139_rx: got 808 bytes
ip_rcv: 858 bytes net_bh: eth0: 858 bytes
inet_recvmsg: 806 bytes ip_rcv: 858 bytes
ethertap_rx_skb: tap0: 802 bytes net_bh: eth0: 794 bytes
rtl8139_rx: got 808 bytes ip_rcv: 794 bytes
net_bh: eth0: 794 bytes inet_recvmsg: 1548 bytes
ip_rcv: 794 bytes ethertap_rx_skb: tap0: 802 bytes
net_bh: tap0: 800 bytes net_bh: tap0: 800 bytes
my_proto_rx: part one 800 bytes my_proto_rx: part one 800 bytes
inet_recvmsg: 742 bytes
ethertap_rx_skb: tap0: 738 bytes
net_bh: tap0: 736 bytes
my_proto_rx: part two 736 bytes
The second fragment almost always disapears in the 100Mbit case. I can
make
this problem go away by lowering the MTU on the clients so that I don't
have to split the packages. It seems like the problem appears when
packets are sent back-to-back.
I have tried to follow the path of a packet in the kernel without much
success. Have anyone any idea what could be the problem here? I would be
happy to fix this if only I could understand the connection between
IP/netlink/ethertap.
Thanks
/Markus
-----------------------------------------------------------------------
Markus Westergren Home: maw@xxxxxxxxxx
Biologigränd 17 Work: markus@xxxxxxx
S-907 32 Umeå
Sweden
|