projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
[powerpc.git]
/
net
/
ipv4
/
ip_output.c
diff --git
a/net/ipv4/ip_output.c
b/net/ipv4/ip_output.c
index
f75ff1d
..
cff9c3a
100644
(file)
--- a/
net/ipv4/ip_output.c
+++ b/
net/ipv4/ip_output.c
@@
-86,8
+86,6
@@
int sysctl_ip_default_ttl = IPDEFTTL;
int sysctl_ip_default_ttl = IPDEFTTL;
-static int ip_fragment(struct sk_buff *skb, int (*output)(struct sk_buff*));
-
/* Generate a checksum for an outgoing IP datagram. */
__inline__ void ip_send_check(struct iphdr *iph)
{
/* Generate a checksum for an outgoing IP datagram. */
__inline__ void ip_send_check(struct iphdr *iph)
{
@@
-421,7
+419,7
@@
static void ip_copy_metadata(struct sk_buff *to, struct sk_buff *from)
* single device frame, and queue such a frame for sending.
*/
* single device frame, and queue such a frame for sending.
*/
-
static
int ip_fragment(struct sk_buff *skb, int (*output)(struct sk_buff*))
+int ip_fragment(struct sk_buff *skb, int (*output)(struct sk_buff*))
{
struct iphdr *iph;
int raw = 0;
{
struct iphdr *iph;
int raw = 0;
@@
-673,6
+671,8
@@
fail:
return err;
}
return err;
}
+EXPORT_SYMBOL(ip_fragment);
+
int
ip_generic_getfrag(void *from, char *to, int offset, int len, int odd, struct sk_buff *skb)
{
int
ip_generic_getfrag(void *from, char *to, int offset, int len, int odd, struct sk_buff *skb)
{
@@
-904,7
+904,7
@@
alloc_new_skb:
* because we have no idea what fragment will be
* the last.
*/
* because we have no idea what fragment will be
* the last.
*/
- if (datalen == length)
+ if (datalen == length
+ fraggap
)
alloclen += rt->u.dst.trailer_len;
if (transhdrlen) {
alloclen += rt->u.dst.trailer_len;
if (transhdrlen) {