#endif
 /* tcp_output.c */
 
+void tcp_skb_entail(struct sock *sk, struct sk_buff *skb);
+void tcp_mark_push(struct tcp_sock *tp, struct sk_buff *skb);
 void __tcp_push_pending_frames(struct sock *sk, unsigned int cur_mss,
                               int nonagle);
 int __tcp_retransmit_skb(struct sock *sk, struct sk_buff *skb, int segs);
 
 }
 EXPORT_SYMBOL(tcp_ioctl);
 
-static inline void tcp_mark_push(struct tcp_sock *tp, struct sk_buff *skb)
+void tcp_mark_push(struct tcp_sock *tp, struct sk_buff *skb)
 {
        TCP_SKB_CB(skb)->tcp_flags |= TCPHDR_PSH;
        tp->pushed_seq = tp->write_seq;
        return after(tp->write_seq, tp->pushed_seq + (tp->max_window >> 1));
 }
 
-static void skb_entail(struct sock *sk, struct sk_buff *skb)
+void tcp_skb_entail(struct sock *sk, struct sk_buff *skb)
 {
        struct tcp_sock *tp = tcp_sk(sk);
        struct tcp_skb_cb *tcb = TCP_SKB_CB(skb);
 #ifdef CONFIG_TLS_DEVICE
                skb->decrypted = !!(flags & MSG_SENDPAGE_DECRYPTED);
 #endif
-               skb_entail(sk, skb);
+               tcp_skb_entail(sk, skb);
                copy = size_goal;
        }
 
                        process_backlog++;
                        skb->ip_summed = CHECKSUM_PARTIAL;
 
-                       skb_entail(sk, skb);
+                       tcp_skb_entail(sk, skb);
                        copy = size_goal;
 
                        /* All packets are restored as if they have