aboutsummaryrefslogtreecommitdiff
path: root/src/exit/exit.h
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2012-01-20 23:54:16 +0000
committerChristian Grothoff <christian@grothoff.org>2012-01-20 23:54:16 +0000
commita53a186e50dc5c18513b1e10c3c044c4865d5994 (patch)
treec07c234ce637bd8c5c0d11c7dda6a661cd9a4ca9 /src/exit/exit.h
parent5e442d9cf826adb58d4595722c7dd7b2532096c9 (diff)
downloadgnunet-a53a186e50dc5c18513b1e10c3c044c4865d5994.tar.gz
gnunet-a53a186e50dc5c18513b1e10c3c044c4865d5994.zip
-adding ICMP support to exit daemon
Diffstat (limited to 'src/exit/exit.h')
-rw-r--r--src/exit/exit.h83
1 files changed, 83 insertions, 0 deletions
diff --git a/src/exit/exit.h b/src/exit/exit.h
index 3cd4292bd..92918b92a 100644
--- a/src/exit/exit.h
+++ b/src/exit/exit.h
@@ -206,4 +206,87 @@ struct GNUNET_EXIT_UdpReplyMessage
206}; 206};
207 207
208 208
209/**
210 * Message send via mesh to an exit daemon to send
211 * ICMP data to a local service.
212 */
213struct GNUNET_EXIT_IcmpServiceMessage
214{
215 /**
216 * Type is GNUNET_MESSAGE_TYPE_VPN_ICMP_TO_SERVICE
217 */
218 struct GNUNET_MessageHeader header;
219
220 /**
221 * Address family, AF_INET or AF_INET6, in network byte order.
222 */
223 int32_t af;
224
225 /**
226 * Identification for the desired service.
227 */
228 GNUNET_HashCode service_descriptor;
229
230 /**
231 * ICMP header to use.
232 */
233 struct GNUNET_TUN_IcmpHeader icmp_header;
234
235 /* followed by ICMP payload */
236};
237
238
239/**
240 * Message send via mesh to an exit daemon to forward
241 * ICMP data to the Internet.
242 */
243struct GNUNET_EXIT_IcmpInternetMessage
244{
245 /**
246 * Type is GNUNET_MESSAGE_TYPE_VPN_ICMP_TO_INTERNET
247 */
248 struct GNUNET_MessageHeader header;
249
250 /**
251 * Address family, AF_INET or AF_INET6, in network byte order.
252 */
253 int32_t af;
254
255 /**
256 * ICMP header to use.
257 */
258 struct GNUNET_TUN_IcmpHeader icmp_header;
259
260 /* followed by IP address of the destination; either
261 'struct in_addr' or 'struct in6_addr', depending on af */
262
263 /* followed by ICMP payload */
264};
265
266
267/**
268 * Message send via mesh to the vpn service to send
269 * ICMP data to the VPN's TUN interface.
270 */
271struct GNUNET_EXIT_IcmpToVPNMessage
272{
273 /**
274 * Type is GNUNET_MESSAGE_TYPE_VPN_ICMP_TO_VPN
275 */
276 struct GNUNET_MessageHeader header;
277
278 /**
279 * Address family, AF_INET or AF_INET6, in network byte order.
280 */
281 int32_t af;
282
283 /**
284 * ICMP header to use.
285 */
286 struct GNUNET_TUN_IcmpHeader icmp_header;
287
288 /* followed by ICMP payload */
289};
290
291
209#endif 292#endif