const struct in_addr *src,
const struct in_addr *dst)
{
+ GNUNET_assert (20 == sizeof (struct GNUNET_TUN_IPv4Header));
GNUNET_assert (payload_length <= UINT16_MAX - sizeof (struct GNUNET_TUN_IPv4Header));
memset (ip, 0, sizeof (struct GNUNET_TUN_IPv4Header));
ip->header_length = sizeof (struct GNUNET_TUN_IPv4Header) / 4;
const struct in6_addr *src,
const struct in6_addr *dst)
{
+ GNUNET_assert (40 == sizeof (struct GNUNET_TUN_IPv6Header));
GNUNET_assert (payload_length <= UINT16_MAX - sizeof (struct GNUNET_TUN_IPv6Header));
memset (ip, 0, sizeof (struct GNUNET_TUN_IPv6Header));
ip->version = 6;
uint32_t sum;
uint16_t tmp;
+ GNUNET_assert (20 == sizeof (struct GNUNET_TUN_TcpHeader));
GNUNET_assert (payload_length + sizeof (struct GNUNET_TUN_IPv4Header) + sizeof (struct GNUNET_TUN_TcpHeader) ==
ntohs (ip->total_length));
GNUNET_assert (IPPROTO_TCP == ip->protocol);
uint32_t sum;
uint32_t tmp;
+ GNUNET_assert (20 == sizeof (struct GNUNET_TUN_TcpHeader));
GNUNET_assert (payload_length + sizeof (struct GNUNET_TUN_TcpHeader) ==
ntohs (ip->payload_length));
GNUNET_assert (IPPROTO_TCP == ip->next_header);
uint32_t sum;
uint16_t tmp;
+ GNUNET_assert (8 == sizeof (struct GNUNET_TUN_UdpHeader));
GNUNET_assert (payload_length + sizeof (struct GNUNET_TUN_IPv4Header) + sizeof (struct GNUNET_TUN_UdpHeader) ==
ntohs (ip->total_length));
GNUNET_assert (IPPROTO_UDP == ip->protocol);
{
uint32_t sum;
+ GNUNET_assert (8 == sizeof (struct GNUNET_TUN_IcmpHeader));
icmp->crc = 0;
sum = GNUNET_CRYPTO_crc16_step (0,
icmp,