diff options
Diffstat (limited to 'include/linux/if_pppox.h')
-rw-r--r-- | include/linux/if_pppox.h | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/include/linux/if_pppox.h b/include/linux/if_pppox.h index b5f927f59f26..09c474c480cd 100644 --- a/include/linux/if_pppox.h +++ b/include/linux/if_pppox.h | |||
@@ -70,7 +70,7 @@ struct sockaddr_pppox { | |||
70 | struct pppoe_addr pppoe; | 70 | struct pppoe_addr pppoe; |
71 | struct pptp_addr pptp; | 71 | struct pptp_addr pptp; |
72 | } sa_addr; | 72 | } sa_addr; |
73 | } __attribute__((packed)); | 73 | } __packed; |
74 | 74 | ||
75 | /* The use of the above union isn't viable because the size of this | 75 | /* The use of the above union isn't viable because the size of this |
76 | * struct must stay fixed over time -- applications use sizeof(struct | 76 | * struct must stay fixed over time -- applications use sizeof(struct |
@@ -81,7 +81,13 @@ struct sockaddr_pppol2tp { | |||
81 | __kernel_sa_family_t sa_family; /* address family, AF_PPPOX */ | 81 | __kernel_sa_family_t sa_family; /* address family, AF_PPPOX */ |
82 | unsigned int sa_protocol; /* protocol identifier */ | 82 | unsigned int sa_protocol; /* protocol identifier */ |
83 | struct pppol2tp_addr pppol2tp; | 83 | struct pppol2tp_addr pppol2tp; |
84 | } __attribute__((packed)); | 84 | } __packed; |
85 | |||
86 | struct sockaddr_pppol2tpin6 { | ||
87 | __kernel_sa_family_t sa_family; /* address family, AF_PPPOX */ | ||
88 | unsigned int sa_protocol; /* protocol identifier */ | ||
89 | struct pppol2tpin6_addr pppol2tp; | ||
90 | } __packed; | ||
85 | 91 | ||
86 | /* The L2TPv3 protocol changes tunnel and session ids from 16 to 32 | 92 | /* The L2TPv3 protocol changes tunnel and session ids from 16 to 32 |
87 | * bits. So we need a different sockaddr structure. | 93 | * bits. So we need a different sockaddr structure. |
@@ -90,7 +96,13 @@ struct sockaddr_pppol2tpv3 { | |||
90 | __kernel_sa_family_t sa_family; /* address family, AF_PPPOX */ | 96 | __kernel_sa_family_t sa_family; /* address family, AF_PPPOX */ |
91 | unsigned int sa_protocol; /* protocol identifier */ | 97 | unsigned int sa_protocol; /* protocol identifier */ |
92 | struct pppol2tpv3_addr pppol2tp; | 98 | struct pppol2tpv3_addr pppol2tp; |
93 | } __attribute__((packed)); | 99 | } __packed; |
100 | |||
101 | struct sockaddr_pppol2tpv3in6 { | ||
102 | __kernel_sa_family_t sa_family; /* address family, AF_PPPOX */ | ||
103 | unsigned int sa_protocol; /* protocol identifier */ | ||
104 | struct pppol2tpv3in6_addr pppol2tp; | ||
105 | } __packed; | ||
94 | 106 | ||
95 | /********************************************************************* | 107 | /********************************************************************* |
96 | * | 108 | * |
@@ -140,7 +152,7 @@ struct pppoe_hdr { | |||
140 | __be16 sid; | 152 | __be16 sid; |
141 | __be16 length; | 153 | __be16 length; |
142 | struct pppoe_tag tag[0]; | 154 | struct pppoe_tag tag[0]; |
143 | } __attribute__((packed)); | 155 | } __packed; |
144 | 156 | ||
145 | /* Length of entire PPPoE + PPP header */ | 157 | /* Length of entire PPPoE + PPP header */ |
146 | #define PPPOE_SES_HLEN 8 | 158 | #define PPPOE_SES_HLEN 8 |