ip: Report qdisc packet drops
[deliverable/linux.git] / net / ipv6 / raw.c
index 506841030fbee0dab9fe980d8f717e407babc06f..7d675b8d82d36813e2229d6abfe31ffdeec7d4be 100644 (file)
@@ -642,7 +642,7 @@ static int rawv6_send_hdrinc(struct sock *sk, void *from, int length,
        err = NF_HOOK(PF_INET6, NF_INET_LOCAL_OUT, skb, NULL, rt->u.dst.dev,
                      dst_output);
        if (err > 0)
-               err = np->recverr ? net_xmit_errno(err) : 0;
+               err = net_xmit_errno(err);
        if (err)
                goto error;
 out:
@@ -653,6 +653,8 @@ error_fault:
        kfree_skb(skb);
 error:
        IP6_INC_STATS(sock_net(sk), rt->rt6i_idev, IPSTATS_MIB_OUTDISCARDS);
+       if (err == -ENOBUFS && !np->recverr)
+               err = 0;
        return err;
 }
 
This page took 0.024716 seconds and 5 git commands to generate.