From f72b63e92f040104a289d5f38047c3688fa76593 Mon Sep 17 00:00:00 2001 From: David Gibson Date: Wed, 19 Oct 2022 11:43:50 +1100 Subject: Remove support for TCP packets from tap_ip_send() tap_ip_send() is never used for TCP packets, we're unlikely to use it for that in future, and the handling of TCP packets makes other cleanups unnecessarily awkward. Remove it. This is the only user of csum_tcp4(), so we can remove that as well. Signed-off-by: David Gibson Signed-off-by: Stefano Brivio --- tap.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) (limited to 'tap.c') 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, -- cgit v1.2.3