13 Oct, 2012

1 commit


01 May, 2012

2 commits

  • L2TPv3 defines an IP encapsulation packet format where data is carried
    directly over IP (no UDP). The kernel already has support for L2TP IP
    encapsulation over IPv4 (l2tp_ip). This patch introduces support for
    L2TP IP encapsulation over IPv6.

    The implementation is derived from ipv6/raw and ipv4/l2tp_ip.

    Signed-off-by: Chris Elston
    Signed-off-by: James Chapman
    Signed-off-by: David S. Miller

    Chris Elston
     
  • This patch adds support for unmanaged L2TPv3 tunnels over IPv6 using
    the netlink API. We already support unmanaged L2TPv3 tunnels over
    IPv4. A patch to iproute2 to make use of this feature will be
    submitted separately.

    Signed-off-by: Chris Elston
    Signed-off-by: James Chapman
    Signed-off-by: David S. Miller

    Chris Elston
     

27 Aug, 2011

1 commit


04 Apr, 2010

2 commits

  • In L2TPv3, we need to create/delete/modify/query L2TP tunnel and
    session contexts. The number of parameters is significant. So let's
    use netlink. Userspace uses this API to control L2TP tunnel/session
    contexts in the kernel.

    The previous pppol2tp driver was managed using [gs]etsockopt(). This
    API is retained for backwards compatibility. Unlike L2TPv2 which
    carries only PPP frames, L2TPv3 can carry raw ethernet frames or other
    frame types and these do not always have an associated socket
    family. Therefore, we need a way to use L2TP sessions that doesn't
    require a socket type for each supported frame type. Hence netlink is
    used.

    Signed-off-by: James Chapman
    Reviewed-by: Randy Dunlap
    Signed-off-by: David S. Miller

    James Chapman
     
  • This patch adds a new L2TPIP socket family and modifies the core to
    handle the case where there is no UDP header in the L2TP
    packet. L2TP/IP uses IP protocol 115. Since L2TP/UDP and L2TP/IP
    packets differ in layout, the datapath packet handling code needs
    changes too. Userspace uses an L2TPIP socket instead of a UDP socket
    when IP encapsulation is required.

    We can't use raw sockets for this because the semantics of raw sockets
    don't lend themselves to the socket-per-tunnel model - we need to

    Signed-off-by: David S. Miller

    James Chapman