patch-include_linux_if_pppol2tp_h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. --- ppp-2.4.5.orig/include/linux/if_pppol2tp.h 2009-11-16 23:26:07.000000000 +0100
  2. +++ ppp-2.4.5/include/linux/if_pppol2tp.h 2013-03-04 12:38:54.000000000 +0100
  3. @@ -32,6 +32,46 @@ struct pppol2tp_addr
  4. __u16 d_tunnel, d_session; /* For sending outgoing packets */
  5. };
  6. +/* The L2TPv3 protocol changes tunnel and session ids from 16 to 32
  7. + * bits. So we need a different sockaddr structure.
  8. + */
  9. +struct pppol2tpv3_addr {
  10. + pid_t pid; /* pid that owns the fd.
  11. + * 0 => current */
  12. + int fd; /* FD of UDP or IP socket to use */
  13. +
  14. + struct sockaddr_in addr; /* IP address and port to send to */
  15. +
  16. + __u32 s_tunnel, s_session; /* For matching incoming packets */
  17. + __u32 d_tunnel, d_session; /* For sending outgoing packets */
  18. +};
  19. +
  20. +/* Structure used to connect() the socket to a particular tunnel UDP
  21. + * * socket over IPv6.
  22. + * */
  23. +struct pppol2tpin6_addr {
  24. + __kernel_pid_t pid; /* pid that owns the fd.
  25. + * 0 => current */
  26. + int fd; /* FD of UDP socket to use */
  27. +
  28. + __u16 s_tunnel, s_session; /* For matching incoming packets */
  29. + __u16 d_tunnel, d_session; /* For sending outgoing packets */
  30. +
  31. + struct sockaddr_in6 addr; /* IP address and port to send to */
  32. +};
  33. +
  34. +
  35. +struct pppol2tpv3in6_addr {
  36. + __kernel_pid_t pid; /* pid that owns the fd.
  37. + * 0 => current */
  38. + int fd; /* FD of UDP or IP socket to use */
  39. +
  40. + __u32 s_tunnel, s_session; /* For matching incoming packets */
  41. + __u32 d_tunnel, d_session; /* For sending outgoing packets */
  42. +
  43. + struct sockaddr_in6 addr; /* IP address and port to send to */
  44. +};
  45. +
  46. /* Socket options:
  47. * DEBUG - bitmask of debug message categories
  48. * SENDSEQ - 0 => don't send packets with sequence numbers