]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - net/dccp/ipv6.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
[linux.git] / net / dccp / ipv6.c
index 85c10c8f50bd1426c8521b97689a872bc6896e68..25aab672fc9907801f63ff2bd374f6db17fe28d2 100644 (file)
@@ -230,7 +230,8 @@ static int dccp_v6_send_response(const struct sock *sk, struct request_sock *req
                opt = ireq->ipv6_opt;
                if (!opt)
                        opt = rcu_dereference(np->opt);
-               err = ip6_xmit(sk, skb, &fl6, sk->sk_mark, opt, np->tclass);
+               err = ip6_xmit(sk, skb, &fl6, sk->sk_mark, opt, np->tclass,
+                              sk->sk_priority);
                rcu_read_unlock();
                err = net_xmit_eval(err);
        }
@@ -284,7 +285,7 @@ static void dccp_v6_ctl_send_reset(const struct sock *sk, struct sk_buff *rxskb)
        dst = ip6_dst_lookup_flow(ctl_sk, &fl6, NULL);
        if (!IS_ERR(dst)) {
                skb_dst_set(skb, dst);
-               ip6_xmit(ctl_sk, skb, &fl6, 0, NULL, 0);
+               ip6_xmit(ctl_sk, skb, &fl6, 0, NULL, 0, 0);
                DCCP_INC_STATS(DCCP_MIB_OUTSEGS);
                DCCP_INC_STATS(DCCP_MIB_OUTRSTS);
                return;
@@ -830,7 +831,7 @@ static int dccp_v6_connect(struct sock *sk, struct sockaddr *uaddr,
                if (fl6.flowlabel & IPV6_FLOWLABEL_MASK) {
                        struct ip6_flowlabel *flowlabel;
                        flowlabel = fl6_sock_lookup(sk, fl6.flowlabel);
-                       if (flowlabel == NULL)
+                       if (IS_ERR(flowlabel))
                                return -EINVAL;
                        fl6_sock_release(flowlabel);
                }