aboutgitcodebugslistschat
path: root/tap.c
diff options
context:
space:
mode:
Diffstat (limited to 'tap.c')
-rw-r--r--tap.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/tap.c b/tap.c
index 89be383..844ee43 100644
--- a/tap.c
+++ b/tap.c
@@ -165,9 +165,7 @@ void tap_ip_send(const struct ctx *c, const struct in6_addr *src, uint8_t proto,
memcpy(data, in, len);
- if (iph->protocol == IPPROTO_TCP) {
- csum_tcp4(iph);
- } else if (iph->protocol == IPPROTO_UDP) {
+ if (iph->protocol == IPPROTO_UDP) {
struct udphdr *uh = (struct udphdr *)(iph + 1);
csum_udp4(uh, iph->saddr, iph->daddr, uh + 1, len - sizeof(*uh));
@@ -196,13 +194,8 @@ void tap_ip_send(const struct ctx *c, const struct in6_addr *src, uint8_t proto,
ip6h->hop_limit = proto;
ip6h->version = 0;
ip6h->nexthdr = 0;
- if (proto == IPPROTO_TCP) {
- struct tcphdr *th = (struct tcphdr *)(ip6h + 1);
- th->check = 0;
- th->check = csum_unaligned(ip6h, len + sizeof(*ip6h),
- 0);
- } else if (proto == IPPROTO_UDP) {
+ if (proto == IPPROTO_UDP) {
struct udphdr *uh = (struct udphdr *)(ip6h + 1);
csum_udp6(uh, &ip6h->saddr, &ip6h->daddr,