diff options
author | Philipp Tölke <toelke@in.tum.de> | 2010-06-28 12:37:50 +0000 |
---|---|---|
committer | Philipp Tölke <toelke@in.tum.de> | 2010-06-28 12:37:50 +0000 |
commit | 0f0fcfbcb3100c8f4fb64168b1ece492d16a1cf6 (patch) | |
tree | 0d880b9a4736ece017315f3fc58c8ccc9e6088fc /src | |
parent | 271182c33efdf592262a4aedda626f8d596f8908 (diff) | |
download | gnunet-0f0fcfbcb3100c8f4fb64168b1ece492d16a1cf6.tar.gz gnunet-0f0fcfbcb3100c8f4fb64168b1ece492d16a1cf6.zip |
vpn: pretty-print udp
Diffstat (limited to 'src')
-rw-r--r-- | src/vpn/packet.c | 6 | ||||
-rw-r--r-- | src/vpn/packet.h | 1 | ||||
-rw-r--r-- | src/vpn/pretty-print.c | 10 | ||||
-rw-r--r-- | src/vpn/pretty-print.h | 1 | ||||
-rw-r--r-- | src/vpn/test.c | 5 |
5 files changed, 23 insertions, 0 deletions
diff --git a/src/vpn/packet.c b/src/vpn/packet.c index 0e528ffff..deda87216 100644 --- a/src/vpn/packet.c +++ b/src/vpn/packet.c | |||
@@ -80,3 +80,9 @@ struct ip6_tcp* parse_ip6_tcp(struct ip6_pkt* pkt) {{{ | |||
80 | 80 | ||
81 | return res; | 81 | return res; |
82 | }}} | 82 | }}} |
83 | |||
84 | struct ip6_udp* parse_ip6_udp(struct ip6_pkt* pkt) {{{ | ||
85 | struct ip6_udp* res = (struct ip6_udp*) pkt; | ||
86 | |||
87 | return res; | ||
88 | }}} | ||
diff --git a/src/vpn/packet.h b/src/vpn/packet.h index 643657db3..ac7cfcf51 100644 --- a/src/vpn/packet.h +++ b/src/vpn/packet.h | |||
@@ -85,6 +85,7 @@ extern int recv_pkt(int fd, struct pkt_tun** pkt); | |||
85 | extern struct ip6_pkt* parse_ip6(struct pkt_tun* pkt); | 85 | extern struct ip6_pkt* parse_ip6(struct pkt_tun* pkt); |
86 | 86 | ||
87 | extern struct ip6_tcp* parse_ip6_tcp(struct ip6_pkt*); | 87 | extern struct ip6_tcp* parse_ip6_tcp(struct ip6_pkt*); |
88 | extern struct ip6_udp* parse_ip6_udp(struct ip6_pkt*); | ||
88 | 89 | ||
89 | extern short payload(struct ip6_hdr* pkt); | 90 | extern short payload(struct ip6_hdr* pkt); |
90 | 91 | ||
diff --git a/src/vpn/pretty-print.c b/src/vpn/pretty-print.c index 22a642728..e8f15cad6 100644 --- a/src/vpn/pretty-print.c +++ b/src/vpn/pretty-print.c | |||
@@ -98,6 +98,9 @@ void pp_write_header(char* dest, struct ip6_pkt* pkt) {{{ | |||
98 | case 0x06: | 98 | case 0x06: |
99 | memcpy(dest, "TCP)", 4); | 99 | memcpy(dest, "TCP)", 4); |
100 | break; | 100 | break; |
101 | case 0x11: | ||
102 | memcpy(dest, "UDP)", 4); | ||
103 | break; | ||
101 | default: | 104 | default: |
102 | memcpy(dest, "unknown)", 8); | 105 | memcpy(dest, "unknown)", 8); |
103 | break; | 106 | break; |
@@ -164,3 +167,10 @@ void pkt_printf_ip6tcp(struct ip6_tcp* pkt) {{{ | |||
164 | pkt->data.flg & 0x01 ? 'F' : '.' | 167 | pkt->data.flg & 0x01 ? 'F' : '.' |
165 | ); | 168 | ); |
166 | }}} | 169 | }}} |
170 | |||
171 | void pkt_printf_ip6udp(struct ip6_udp* pkt) {{{ | ||
172 | printf("spt: %u\n", ntohs(pkt->data.spt)); | ||
173 | printf("dpt: %u\n", ntohs(pkt->data.dpt)); | ||
174 | printf("len: %u\n", ntohs(pkt->data.len)); | ||
175 | printf("crc: 0x%x\n", ntohs(pkt->data.crc)); | ||
176 | }}} | ||
diff --git a/src/vpn/pretty-print.h b/src/vpn/pretty-print.h index 2ab32b9c2..f2aa5b795 100644 --- a/src/vpn/pretty-print.h +++ b/src/vpn/pretty-print.h | |||
@@ -8,5 +8,6 @@ extern void pp_write_header(char* dest, struct ip6_pkt* pkt); | |||
8 | extern void pkt_printf(struct ip6_pkt* pkt); | 8 | extern void pkt_printf(struct ip6_pkt* pkt); |
9 | 9 | ||
10 | void pkt_printf_ip6tcp(struct ip6_tcp* pkt); | 10 | void pkt_printf_ip6tcp(struct ip6_tcp* pkt); |
11 | void pkt_printf_ip6udp(struct ip6_udp* pkt); | ||
11 | 12 | ||
12 | #endif | 13 | #endif |
diff --git a/src/vpn/test.c b/src/vpn/test.c index 87ad9b10d..959c56b23 100644 --- a/src/vpn/test.c +++ b/src/vpn/test.c | |||
@@ -30,12 +30,17 @@ int main(int c, char** v) { | |||
30 | struct ip6_pkt* pkt6 = parse_ip6(pkt); | 30 | struct ip6_pkt* pkt6 = parse_ip6(pkt); |
31 | pkt_printf(pkt6); | 31 | pkt_printf(pkt6); |
32 | struct ip6_tcp* pkt6_tcp; | 32 | struct ip6_tcp* pkt6_tcp; |
33 | struct ip6_udp* pkt6_udp; | ||
33 | switch(pkt6->hdr.nxthdr) { | 34 | switch(pkt6->hdr.nxthdr) { |
34 | case 0x06: | 35 | case 0x06: |
35 | pkt6_tcp = parse_ip6_tcp(pkt6); | 36 | pkt6_tcp = parse_ip6_tcp(pkt6); |
36 | pkt_printf_ip6tcp(pkt6_tcp); | 37 | pkt_printf_ip6tcp(pkt6_tcp); |
37 | handle_tcp(pkt6_tcp); | 38 | handle_tcp(pkt6_tcp); |
38 | break; | 39 | break; |
40 | case 0x11: | ||
41 | pkt6_udp = parse_ip6_udp(pkt6); | ||
42 | pkt_printf_ip6udp(pkt6_udp); | ||
43 | break; | ||
39 | } | 44 | } |
40 | break; | 45 | break; |
41 | default: | 46 | default: |