[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1270713534.2215.10.camel@edumazet-laptop>
Date: Thu, 08 Apr 2010 09:58:54 +0200
From: Eric Dumazet <eric.dumazet@...il.com>
To: "Gustavo F. Padovan" <gustavo@...ovan.org>
Cc: netdev@...r.kernel.org, marco bonola <marco.bonola@...il.com>,
"ZioPRoTo (Saverio Proto)" <zioproto@...il.com>,
Behling Mario <mb@...iobehling.de>,
"L. Aaron Kaplan" <aaron@...res.org>
Subject: Re: IP/UDP encapsulation
Le jeudi 08 avril 2010 à 04:42 -0300, Gustavo F. Padovan a écrit :
> Hi,
>
> I'm looking for some advice on that work. The Freifunk organization is
> planning work on the IP/UDP encapsulation kernel module as a GSoC
> project. The idea is to create a IP-in-UDP tunnel like we do for
> IP-in-IP or IP-in-GRE tunnels. The only way to do that today is to use
> some VPN software.
>
> The module will export its virtual interface through sockets and will
> have support for the standard syscalls like the others encapsulation
> modules.
>
> It will improve the performance of mesh networks that will we be able
> to use IP-in-UDP rather than IP-in-IP. So, instead of push all data to
> local gateway into the mesh all the data can be tunneled to a faster
> server and from there to the Internet. With all the data exiting with
> the same IP address (the fast server IP). That will improve bandwidth,
> especially for upload.
>
> Is such module acceptable for merge into the Linux Kernel?
>
> Any comments or suggestions to the module architecture and
> implementation? If you want more information about the module I can
> provide that.
>
> Regards,
>
My suggestion would be to take a look at l2tp, which uses udp
encapsulation.
net-next-2.6
net/l2tp/l2tp_core.c:1108: (udp_sk(sk))->encap_type = 0;
net/l2tp/l2tp_core.c:1304: enum l2tp_encap_type encap = L2TP_ENCAPTYPE_UDP;
net/l2tp/l2tp_core.c:1383: udp_sk(sk)->encap_type = UDP_ENCAP_L2TPINUDP;
net/l2tp/l2tp_core.h:148: enum l2tp_encap_type encap;
net/l2tp/l2tp_core.h:171: enum l2tp_encap_type encap;
net/ipv4/udp.c:1299: if (up->encap_type) {
net/ipv4/udp.c:1660: up->encap_type = val;
net/ipv4/udp.c:1747: val = up->encap_type;
include/linux/l2tp.h:81: L2TP_ATTR_ENCAP_TYPE, /* u16, enum l2tp_encap_type */
include/linux/l2tp.h:146:enum l2tp_encap_type {
include/linux/udp.h:63: __u16 encap_type; /* Is this an Encapsulation socket? */
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists