|
@@ -907,7 +907,7 @@ static int __ip_append_data(struct sock *sk,
|
|
length + fragheaderlen <= mtu &&
|
|
length + fragheaderlen <= mtu &&
|
|
rt->dst.dev->features & (NETIF_F_HW_CSUM | NETIF_F_IP_CSUM) &&
|
|
rt->dst.dev->features & (NETIF_F_HW_CSUM | NETIF_F_IP_CSUM) &&
|
|
!(flags & MSG_MORE) &&
|
|
!(flags & MSG_MORE) &&
|
|
- !exthdrlen)
|
|
|
|
|
|
+ (!exthdrlen || (rt->dst.dev->features & NETIF_F_HW_ESP_TX_CSUM)))
|
|
csummode = CHECKSUM_PARTIAL;
|
|
csummode = CHECKSUM_PARTIAL;
|
|
|
|
|
|
cork->length += length;
|
|
cork->length += length;
|