struct iphdr is Linux specific use struct ip instead

This commit is contained in:
Tobias Brunner
2012-08-29 15:32:26 +02:00
parent 55e05aa226
commit 39e9af9666
+6 -6
View File
@@ -130,19 +130,19 @@ ip_packet_t *ip_packet_create(chunk_t packet)
{ {
case 4: case 4:
{ {
struct iphdr *ip; struct ip *ip;
if (packet.len < sizeof(struct iphdr)) if (packet.len < sizeof(struct ip))
{ {
DBG1(DBG_ESP, "IPv4 packet too short"); DBG1(DBG_ESP, "IPv4 packet too short");
goto failed; goto failed;
} }
ip = (struct iphdr*)packet.ptr; ip = (struct ip*)packet.ptr;
src = host_create_from_chunk(AF_INET, src = host_create_from_chunk(AF_INET,
chunk_from_thing(ip->saddr), 0); chunk_from_thing(ip->ip_src), 0);
dst = host_create_from_chunk(AF_INET, dst = host_create_from_chunk(AF_INET,
chunk_from_thing(ip->daddr), 0); chunk_from_thing(ip->ip_dst), 0);
next_header = ip->protocol; next_header = ip->ip_p;
break; break;
} }
#ifdef HAVE_NETINET_IP6_H #ifdef HAVE_NETINET_IP6_H