diff options
author | Benjamin LaHaise <bcrl@kvack.org> | 2012-04-27 12:24:18 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-04-29 06:21:51 +0400 |
commit | d2cf3361677e5bb5d01d45052212b7050a9aa8c4 (patch) | |
tree | a0239e574876ca385c8578c7cbffb783bf951e51 /include/linux/if_pppox.h | |
parent | d7f3f62167bc2299d9669888b493b6e6ba561c35 (diff) | |
download | linux-d2cf3361677e5bb5d01d45052212b7050a9aa8c4.tar.xz |
net/l2tp: add support for L2TP over IPv6 UDP
Now that encap_rcv() works on IPv6 UDP sockets, wire L2TP up to IPv6.
Support has been tested with and without hardware offloading. This
version fixes the L2TP over localhost issue with incorrect checksums
being reported.
Signed-off-by: Benjamin LaHaise <bcrl@kvack.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/if_pppox.h')
-rw-r--r-- | include/linux/if_pppox.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/if_pppox.h b/include/linux/if_pppox.h index b5f927f59f26..6720d57cc1ea 100644 --- a/include/linux/if_pppox.h +++ b/include/linux/if_pppox.h @@ -83,6 +83,12 @@ struct sockaddr_pppol2tp { struct pppol2tp_addr pppol2tp; } __attribute__((packed)); +struct sockaddr_pppol2tpin6 { + __kernel_sa_family_t sa_family; /* address family, AF_PPPOX */ + unsigned int sa_protocol; /* protocol identifier */ + struct pppol2tpin6_addr pppol2tp; +} __attribute__((packed)); + /* The L2TPv3 protocol changes tunnel and session ids from 16 to 32 * bits. So we need a different sockaddr structure. */ @@ -92,6 +98,12 @@ struct sockaddr_pppol2tpv3 { struct pppol2tpv3_addr pppol2tp; } __attribute__((packed)); +struct sockaddr_pppol2tpv3in6 { + __kernel_sa_family_t sa_family; /* address family, AF_PPPOX */ + unsigned int sa_protocol; /* protocol identifier */ + struct pppol2tpv3in6_addr pppol2tp; +} __attribute__((packed)); + /********************************************************************* * * ioctl interface for defining forwarding of connections |