]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - net/ipv6/tcp_ipv6.c
tcp: add TCPMemoryPressuresChrono counter
[karo-tx-linux.git] / net / ipv6 / tcp_ipv6.c
index 4f4310a36a0481e2bd068e39285011ff28377ea5..0840543fc245c95fe15bf1a58bd6b98b9a42e5fc 100644 (file)
@@ -109,9 +109,9 @@ static u32 tcp_v6_init_seq(const struct sk_buff *skb)
                                tcp_hdr(skb)->source);
 }
 
-static u32 tcp_v6_init_ts_off(const struct sk_buff *skb)
+static u32 tcp_v6_init_ts_off(const struct net *net, const struct sk_buff *skb)
 {
-       return secure_tcpv6_ts_off(ipv6_hdr(skb)->daddr.s6_addr32,
+       return secure_tcpv6_ts_off(net, ipv6_hdr(skb)->daddr.s6_addr32,
                                   ipv6_hdr(skb)->saddr.s6_addr32);
 }
 
@@ -292,7 +292,8 @@ static int tcp_v6_connect(struct sock *sk, struct sockaddr *uaddr,
                                                         sk->sk_v6_daddr.s6_addr32,
                                                         inet->inet_sport,
                                                         inet->inet_dport);
-               tp->tsoffset = secure_tcpv6_ts_off(np->saddr.s6_addr32,
+               tp->tsoffset = secure_tcpv6_ts_off(sock_net(sk),
+                                                  np->saddr.s6_addr32,
                                                   sk->sk_v6_daddr.s6_addr32);
        }
 
@@ -949,7 +950,7 @@ static void tcp_v6_timewait_ack(struct sock *sk, struct sk_buff *skb)
 
        tcp_v6_send_ack(sk, skb, tcptw->tw_snd_nxt, tcptw->tw_rcv_nxt,
                        tcptw->tw_rcv_wnd >> tw->tw_rcv_wscale,
-                       tcp_time_stamp + tcptw->tw_ts_offset,
+                       tcp_time_stamp_raw() + tcptw->tw_ts_offset,
                        tcptw->tw_ts_recent, tw->tw_bound_dev_if, tcp_twsk_md5_key(tcptw),
                        tw->tw_tclass, cpu_to_be32(tw->tw_flowlabel));
 
@@ -971,7 +972,7 @@ static void tcp_v6_reqsk_send_ack(const struct sock *sk, struct sk_buff *skb,
                        tcp_rsk(req)->snt_isn + 1 : tcp_sk(sk)->snd_nxt,
                        tcp_rsk(req)->rcv_nxt,
                        req->rsk_rcv_wnd >> inet_rsk(req)->rcv_wscale,
-                       tcp_time_stamp + tcp_rsk(req)->ts_off,
+                       tcp_time_stamp_raw() + tcp_rsk(req)->ts_off,
                        req->ts_recent, sk->sk_bound_dev_if,
                        tcp_v6_md5_do_lookup(sk, &ipv6_hdr(skb)->daddr),
                        0, 0);
@@ -1909,6 +1910,7 @@ struct proto tcpv6_prot = {
        .unhash                 = inet_unhash,
        .get_port               = inet_csk_get_port,
        .enter_memory_pressure  = tcp_enter_memory_pressure,
+       .leave_memory_pressure  = tcp_leave_memory_pressure,
        .stream_memory_free     = tcp_stream_memory_free,
        .sockets_allocated      = &tcp_sockets_allocated,
        .memory_allocated       = &tcp_memory_allocated,