UPSTREAM: vmlinux.lds.h: allow arch specific handling of ro_after_init data section
[firefly-linux-kernel-4.4.55.git] / include / net / tcp.h
index b64bdeea00a993c7ec0de880309e9437adc27f5f..6c480679423edd1353162e700b4f411d9ae351a3 100644 (file)
@@ -450,7 +450,7 @@ const u8 *tcp_parse_md5sig_option(const struct tcphdr *th);
 
 void tcp_v4_send_check(struct sock *sk, struct sk_buff *skb);
 void tcp_v4_mtu_reduced(struct sock *sk);
-void tcp_req_err(struct sock *sk, u32 seq);
+void tcp_req_err(struct sock *sk, u32 seq, bool abort);
 int tcp_v4_conn_request(struct sock *sk, struct sk_buff *skb);
 struct sock *tcp_create_openreq_child(const struct sock *sk,
                                      struct request_sock *req,
@@ -1171,6 +1171,8 @@ void tcp_set_state(struct sock *sk, int state);
 
 void tcp_done(struct sock *sk);
 
+int tcp_abort(struct sock *sk, int err);
+
 static inline void tcp_sack_reset(struct tcp_options_received *rx_opt)
 {
        rx_opt->dsack = 0;
@@ -1511,6 +1513,8 @@ static inline void tcp_check_send_head(struct sock *sk, struct sk_buff *skb_unli
 {
        if (sk->sk_send_head == skb_unlinked)
                sk->sk_send_head = NULL;
+       if (tcp_sk(sk)->highest_sack == skb_unlinked)
+               tcp_sk(sk)->highest_sack = NULL;
 }
 
 static inline void tcp_init_send_head(struct sock *sk)
@@ -1679,8 +1683,6 @@ static inline bool tcp_stream_memory_free(const struct sock *sk)
        return notsent_bytes < tcp_notsent_lowat(tp);
 }
 
-extern int tcp_nuke_addr(struct net *net, struct sockaddr *addr);
-
 #ifdef CONFIG_PROC_FS
 int tcp4_proc_init(void);
 void tcp4_proc_exit(void);