diff options
| author | David S. Miller <davem@davemloft.net> | 2011-05-08 17:12:19 -0700 | 
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2011-05-08 21:24:06 -0700 | 
| commit | 77968b78242ee25e2a4d759f0fca8dd52df6d479 (patch) | |
| tree | 6de21f3a2efe49cb30ea8109fdfc79d30d6b27a3 /include/net/ip.h | |
| parent | e474995f290ff7bc236b549aa9a89ae445ee5b1b (diff) | |
| download | olio-linux-3.10-77968b78242ee25e2a4d759f0fca8dd52df6d479.tar.xz olio-linux-3.10-77968b78242ee25e2a4d759f0fca8dd52df6d479.zip  | |
ipv4: Pass flow keys down into datagram packet building engine.
This way ip_output.c no longer needs rt->rt_{src,dst}.
We already have these keys sitting, ready and waiting, on the stack or
in a socket structure.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/ip.h')
| -rw-r--r-- | include/net/ip.h | 8 | 
1 files changed, 5 insertions, 3 deletions
diff --git a/include/net/ip.h b/include/net/ip.h index acf8b7814c4..a4253795c5c 100644 --- a/include/net/ip.h +++ b/include/net/ip.h @@ -117,12 +117,14 @@ extern int		ip_generic_getfrag(void *from, char *to, int offset, int len, int od  extern ssize_t		ip_append_page(struct sock *sk, struct page *page,  				int offset, size_t size, int flags);  extern struct sk_buff  *__ip_make_skb(struct sock *sk, +				      struct flowi4 *fl4,  				      struct sk_buff_head *queue,  				      struct inet_cork *cork);  extern int		ip_send_skb(struct sk_buff *skb); -extern int		ip_push_pending_frames(struct sock *sk); +extern int		ip_push_pending_frames(struct sock *sk, struct flowi4 *fl4);  extern void		ip_flush_pending_frames(struct sock *sk);  extern struct sk_buff  *ip_make_skb(struct sock *sk, +				    struct flowi4 *fl4,  				    int getfrag(void *from, char *to, int offset, int len,  						int odd, struct sk_buff *skb),  				    void *from, int length, int transhdrlen, @@ -130,9 +132,9 @@ extern struct sk_buff  *ip_make_skb(struct sock *sk,  				    struct rtable **rtp,  				    unsigned int flags); -static inline struct sk_buff *ip_finish_skb(struct sock *sk) +static inline struct sk_buff *ip_finish_skb(struct sock *sk, struct flowi4 *fl4)  { -	return __ip_make_skb(sk, &sk->sk_write_queue, &inet_sk(sk)->cork.base); +	return __ip_make_skb(sk, fl4, &sk->sk_write_queue, &inet_sk(sk)->cork.base);  }  /* datagram.c */  |