]> Pileus Git - ~andy/linux/blobdiff - net/ipv4/tcp.c
tunneling: Add generic Tunnel segmentation.
[~andy/linux] / net / ipv4 / tcp.c
index 7a5ba48c2cc985616aff8d2ca524c5cd4cc39e8d..8d14573ade772f62378da2f90393806d4069ae04 100644 (file)
@@ -1409,10 +1409,10 @@ static void tcp_service_net_dma(struct sock *sk, bool wait)
                return;
 
        last_issued = tp->ucopy.dma_cookie;
-       dma_async_memcpy_issue_pending(tp->ucopy.dma_chan);
+       dma_async_issue_pending(tp->ucopy.dma_chan);
 
        do {
-               if (dma_async_memcpy_complete(tp->ucopy.dma_chan,
+               if (dma_async_is_tx_complete(tp->ucopy.dma_chan,
                                              last_issued, &done,
                                              &used) == DMA_SUCCESS) {
                        /* Safe to free early-copied skbs now */
@@ -1754,7 +1754,7 @@ int tcp_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
                                tcp_service_net_dma(sk, true);
                                tcp_cleanup_rbuf(sk, copied);
                        } else
-                               dma_async_memcpy_issue_pending(tp->ucopy.dma_chan);
+                               dma_async_issue_pending(tp->ucopy.dma_chan);
                }
 #endif
                if (copied >= target) {
@@ -1847,7 +1847,7 @@ do_prequeue:
                                        break;
                                }
 
-                               dma_async_memcpy_issue_pending(tp->ucopy.dma_chan);
+                               dma_async_issue_pending(tp->ucopy.dma_chan);
 
                                if ((offset + used) == skb->len)
                                        copied_early = true;
@@ -3044,6 +3044,7 @@ struct sk_buff *tcp_tso_segment(struct sk_buff *skb,
                               SKB_GSO_TCP_ECN |
                               SKB_GSO_TCPV6 |
                               SKB_GSO_GRE |
+                              SKB_GSO_UDP_TUNNEL |
                               0) ||
                             !(type & (SKB_GSO_TCPV4 | SKB_GSO_TCPV6))))
                        goto out;