git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Revert to Fedora kernel-2.6.17-1.2187_FC5 patched with vs2.0.2.1; there are too many...
[linux-2.6.git]
/
net
/
ipv4
/
ip_output.c
diff --git
a/net/ipv4/ip_output.c
b/net/ipv4/ip_output.c
index
a2ede16
..
20b1704
100644
(file)
--- a/
net/ipv4/ip_output.c
+++ b/
net/ipv4/ip_output.c
@@
-53,6
+53,7
@@
#include <linux/mm.h>
#include <linux/string.h>
#include <linux/errno.h>
#include <linux/mm.h>
#include <linux/string.h>
#include <linux/errno.h>
+#include <linux/config.h>
#include <linux/socket.h>
#include <linux/sockios.h>
#include <linux/socket.h>
#include <linux/sockios.h>
@@
-408,7
+409,6
@@
static void ip_copy_metadata(struct sk_buff *to, struct sk_buff *from)
nf_bridge_get(to->nf_bridge);
#endif
#endif
nf_bridge_get(to->nf_bridge);
#endif
#endif
- skb_copy_secmark(to, from);
}
/*
}
/*
@@
-440,7
+440,6
@@
int ip_fragment(struct sk_buff *skb, int (*output)(struct sk_buff*))
iph = skb->nh.iph;
if (unlikely((iph->frag_off & htons(IP_DF)) && !skb->local_df)) {
iph = skb->nh.iph;
if (unlikely((iph->frag_off & htons(IP_DF)) && !skb->local_df)) {
- IP_INC_STATS(IPSTATS_MIB_FRAGFAILS);
icmp_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED,
htonl(dst_mtu(&rt->u.dst)));
kfree_skb(skb);
icmp_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED,
htonl(dst_mtu(&rt->u.dst)));
kfree_skb(skb);
@@
-527,8
+526,6
@@
int ip_fragment(struct sk_buff *skb, int (*output)(struct sk_buff*))
err = output(skb);
err = output(skb);
- if (!err)
- IP_INC_STATS(IPSTATS_MIB_FRAGCREATES);
if (err || !frag)
break;
if (err || !frag)
break;
@@
-652,6
+649,9
@@
slow_path:
/*
* Put this fragment into the sending queue.
*/
/*
* Put this fragment into the sending queue.
*/
+
+ IP_INC_STATS(IPSTATS_MIB_FRAGCREATES);
+
iph->tot_len = htons(len + hlen);
ip_send_check(iph);
iph->tot_len = htons(len + hlen);
ip_send_check(iph);
@@
-659,8
+659,6
@@
slow_path:
err = output(skb2);
if (err)
goto fail;
err = output(skb2);
if (err)
goto fail;
-
- IP_INC_STATS(IPSTATS_MIB_FRAGCREATES);
}
kfree_skb(skb);
IP_INC_STATS(IPSTATS_MIB_FRAGOKS);
}
kfree_skb(skb);
IP_INC_STATS(IPSTATS_MIB_FRAGOKS);
@@
-745,7
+743,7
@@
static inline int ip_ufo_append_data(struct sock *sk,
if (!err) {
/* specify the length of each IP datagram fragment*/
skb_shinfo(skb)->gso_size = mtu - fragheaderlen;
if (!err) {
/* specify the length of each IP datagram fragment*/
skb_shinfo(skb)->gso_size = mtu - fragheaderlen;
- skb_shinfo(skb)->gso_type = SKB_GSO_UDP;
+ skb_shinfo(skb)->gso_type = SKB_GSO_UDP
V4
;
__skb_queue_tail(&sk->sk_write_queue, skb);
return 0;
__skb_queue_tail(&sk->sk_write_queue, skb);
return 0;
@@
-1090,7
+1088,7
@@
ssize_t ip_append_page(struct sock *sk, struct page *page,
if ((sk->sk_protocol == IPPROTO_UDP) &&
(rt->u.dst.dev->features & NETIF_F_UFO)) {
skb_shinfo(skb)->gso_size = mtu - fragheaderlen;
if ((sk->sk_protocol == IPPROTO_UDP) &&
(rt->u.dst.dev->features & NETIF_F_UFO)) {
skb_shinfo(skb)->gso_size = mtu - fragheaderlen;
- skb_shinfo(skb)->gso_type = SKB_GSO_UDP;
+ skb_shinfo(skb)->gso_type = SKB_GSO_UDP
V4
;
}
}