]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - net/dccp/output.c
[TCP/DCCP]: Introduce net_xmit_eval
[net-next-2.6.git] / net / dccp / output.c
index 0994b13f0f15cd7b97e3f027771d6cf90897d63e..ef22f3cc791a2cd45b1ef7b01f95684d4f53ae45 100644 (file)
@@ -125,16 +125,7 @@ static int dccp_transmit_skb(struct sock *sk, struct sk_buff *skb)
 
                memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt));
                err = icsk->icsk_af_ops->queue_xmit(skb, sk, 0);
-               if (err <= 0)
-                       return err;
-
-               /* NET_XMIT_CN is special. It does not guarantee,
-                * that this packet is lost. It tells that device
-                * is about to start to drop packets or already
-                * drops some packets of the same priority and
-                * invokes us to send less aggressively.
-                */
-               return err == NET_XMIT_CN ? 0 : err;
+               return net_xmit_eval(err);
        }
        return -ENOBUFS;
 }
@@ -426,8 +417,7 @@ int dccp_send_reset(struct sock *sk, enum dccp_reset_codes code)
                if (skb != NULL) {
                        memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt));
                        err = inet_csk(sk)->icsk_af_ops->queue_xmit(skb, sk, 0);
-                       if (err == NET_XMIT_CN)
-                               err = 0;
+                       return net_xmit_eval(err);
                }
        }