aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPhilipp Tölke <toelke@in.tum.de>2010-06-28 12:37:50 +0000
committerPhilipp Tölke <toelke@in.tum.de>2010-06-28 12:37:50 +0000
commit0f0fcfbcb3100c8f4fb64168b1ece492d16a1cf6 (patch)
tree0d880b9a4736ece017315f3fc58c8ccc9e6088fc /src
parent271182c33efdf592262a4aedda626f8d596f8908 (diff)
downloadgnunet-0f0fcfbcb3100c8f4fb64168b1ece492d16a1cf6.tar.gz
gnunet-0f0fcfbcb3100c8f4fb64168b1ece492d16a1cf6.zip
vpn: pretty-print udp
Diffstat (limited to 'src')
-rw-r--r--src/vpn/packet.c6
-rw-r--r--src/vpn/packet.h1
-rw-r--r--src/vpn/pretty-print.c10
-rw-r--r--src/vpn/pretty-print.h1
-rw-r--r--src/vpn/test.c5
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
84struct 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);
85extern struct ip6_pkt* parse_ip6(struct pkt_tun* pkt); 85extern struct ip6_pkt* parse_ip6(struct pkt_tun* pkt);
86 86
87extern struct ip6_tcp* parse_ip6_tcp(struct ip6_pkt*); 87extern struct ip6_tcp* parse_ip6_tcp(struct ip6_pkt*);
88extern struct ip6_udp* parse_ip6_udp(struct ip6_pkt*);
88 89
89extern short payload(struct ip6_hdr* pkt); 90extern 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
171void 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);
8extern void pkt_printf(struct ip6_pkt* pkt); 8extern void pkt_printf(struct ip6_pkt* pkt);
9 9
10void pkt_printf_ip6tcp(struct ip6_tcp* pkt); 10void pkt_printf_ip6tcp(struct ip6_tcp* pkt);
11void 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: