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
Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git]
/
net
/
ipv4
/
ipvs
/
ip_vs_core.c
diff --git
a/net/ipv4/ipvs/ip_vs_core.c
b/net/ipv4/ipvs/ip_vs_core.c
index
5fb257d
..
3f47ad8
100644
(file)
--- a/
net/ipv4/ipvs/ip_vs_core.c
+++ b/
net/ipv4/ipvs/ip_vs_core.c
@@
-22,6
+22,7
@@
*
* Changes:
* Paul `Rusty' Russell properly handle non-linear skbs
*
* Changes:
* Paul `Rusty' Russell properly handle non-linear skbs
+ * Harald Welte don't use nfcache
*
*/
*
*/
@@
-242,10
+243,10
@@
ip_vs_sched_persist(struct ip_vs_service *svc,
if (ports[1] == svc->port) {
/* Check if a template already exists */
if (svc->port != FTPPORT)
if (ports[1] == svc->port) {
/* Check if a template already exists */
if (svc->port != FTPPORT)
- ct = ip_vs_c
onn
_in_get(iph->protocol, snet, 0,
+ ct = ip_vs_c
t
_in_get(iph->protocol, snet, 0,
iph->daddr, ports[1]);
else
iph->daddr, ports[1]);
else
- ct = ip_vs_c
onn
_in_get(iph->protocol, snet, 0,
+ ct = ip_vs_c
t
_in_get(iph->protocol, snet, 0,
iph->daddr, 0);
if (!ct || !ip_vs_check_template(ct)) {
iph->daddr, 0);
if (!ct || !ip_vs_check_template(ct)) {
@@
-271,14
+272,14
@@
ip_vs_sched_persist(struct ip_vs_service *svc,
iph->daddr,
ports[1],
dest->addr, dest->port,
iph->daddr,
ports[1],
dest->addr, dest->port,
-
0
,
+
IP_VS_CONN_F_TEMPLATE
,
dest);
else
ct = ip_vs_conn_new(iph->protocol,
snet, 0,
iph->daddr, 0,
dest->addr, 0,
dest);
else
ct = ip_vs_conn_new(iph->protocol,
snet, 0,
iph->daddr, 0,
dest->addr, 0,
-
0
,
+
IP_VS_CONN_F_TEMPLATE
,
dest);
if (ct == NULL)
return NULL;
dest);
if (ct == NULL)
return NULL;
@@
-297,10
+298,10
@@
ip_vs_sched_persist(struct ip_vs_service *svc,
* port zero template: <protocol,caddr,0,vaddr,0,daddr,0>
*/
if (svc->fwmark)
* port zero template: <protocol,caddr,0,vaddr,0,daddr,0>
*/
if (svc->fwmark)
- ct = ip_vs_c
onn
_in_get(IPPROTO_IP, snet, 0,
+ ct = ip_vs_c
t
_in_get(IPPROTO_IP, snet, 0,
htonl(svc->fwmark), 0);
else
htonl(svc->fwmark), 0);
else
- ct = ip_vs_c
onn
_in_get(iph->protocol, snet, 0,
+ ct = ip_vs_c
t
_in_get(iph->protocol, snet, 0,
iph->daddr, 0);
if (!ct || !ip_vs_check_template(ct)) {
iph->daddr, 0);
if (!ct || !ip_vs_check_template(ct)) {
@@
-325,14
+326,14
@@
ip_vs_sched_persist(struct ip_vs_service *svc,
snet, 0,
htonl(svc->fwmark), 0,
dest->addr, 0,
snet, 0,
htonl(svc->fwmark), 0,
dest->addr, 0,
-
0
,
+
IP_VS_CONN_F_TEMPLATE
,
dest);
else
ct = ip_vs_conn_new(iph->protocol,
snet, 0,
iph->daddr, 0,
dest->addr, 0,
dest);
else
ct = ip_vs_conn_new(iph->protocol,
snet, 0,
iph->daddr, 0,
dest->addr, 0,
-
0
,
+
IP_VS_CONN_F_TEMPLATE
,
dest);
if (ct == NULL)
return NULL;
dest);
if (ct == NULL)
return NULL;
@@
-425,7
+426,7
@@
ip_vs_schedule(struct ip_vs_service *svc, const struct sk_buff *skb)
return NULL;
IP_VS_DBG(6, "Schedule fwd:%c c:%u.%u.%u.%u:%u v:%u.%u.%u.%u:%u "
return NULL;
IP_VS_DBG(6, "Schedule fwd:%c c:%u.%u.%u.%u:%u v:%u.%u.%u.%u:%u "
- "d:%u.%u.%u.%u:%u
flg:%X
cnt:%d\n",
+ "d:%u.%u.%u.%u:%u
conn->flags:%X conn->ref
cnt:%d\n",
ip_vs_fwd_tag(cp),
NIPQUAD(cp->caddr), ntohs(cp->cport),
NIPQUAD(cp->vaddr), ntohs(cp->vport),
ip_vs_fwd_tag(cp),
NIPQUAD(cp->caddr), ntohs(cp->cport),
NIPQUAD(cp->vaddr), ntohs(cp->vport),
@@
-529,13
+530,10
@@
static unsigned int ip_vs_post_routing(unsigned int hooknum,
const struct net_device *out,
int (*okfn)(struct sk_buff *))
{
const struct net_device *out,
int (*okfn)(struct sk_buff *))
{
- if (!((*pskb)->
nfcache & NFC_IPVS_PROPERTY
))
+ if (!((*pskb)->
ipvs_property
))
return NF_ACCEPT;
return NF_ACCEPT;
-
/* The packet was sent from IPVS, exit this chain */
/* The packet was sent from IPVS, exit this chain */
- (*okfn)(*pskb);
-
- return NF_STOLEN;
+ return NF_STOP;
}
u16 ip_vs_checksum_complete(struct sk_buff *skb, int offset)
}
u16 ip_vs_checksum_complete(struct sk_buff *skb, int offset)
@@
-701,7
+699,7
@@
static int ip_vs_out_icmp(struct sk_buff **pskb, int *related)
/* do the statistics and put it back */
ip_vs_out_stats(cp, skb);
/* do the statistics and put it back */
ip_vs_out_stats(cp, skb);
- skb->
nfcache |= NFC_IPVS_PROPERTY
;
+ skb->
ipvs_property = 1
;
verdict = NF_ACCEPT;
out:
verdict = NF_ACCEPT;
out:
@@
-739,7
+737,7
@@
ip_vs_out(unsigned int hooknum, struct sk_buff **pskb,
EnterFunction(11);
EnterFunction(11);
- if (skb->
nfcache & NFC_IPVS_PROPERTY
)
+ if (skb->
ipvs_property
)
return NF_ACCEPT;
iph = skb->nh.iph;
return NF_ACCEPT;
iph = skb->nh.iph;
@@
-821,7
+819,7
@@
ip_vs_out(unsigned int hooknum, struct sk_buff **pskb,
ip_vs_set_state(cp, IP_VS_DIR_OUTPUT, skb, pp);
ip_vs_conn_put(cp);
ip_vs_set_state(cp, IP_VS_DIR_OUTPUT, skb, pp);
ip_vs_conn_put(cp);
- skb->
nfcache |= NFC_IPVS_PROPERTY
;
+ skb->
ipvs_property = 1
;
LeaveFunction(11);
return NF_ACCEPT;
LeaveFunction(11);
return NF_ACCEPT;
@@
-1008,11
+1006,10
@@
ip_vs_in(unsigned int hooknum, struct sk_buff **pskb,
if (sysctl_ip_vs_expire_nodest_conn) {
/* try to expire the connection immediately */
ip_vs_conn_expire_now(cp);
if (sysctl_ip_vs_expire_nodest_conn) {
/* try to expire the connection immediately */
ip_vs_conn_expire_now(cp);
- } else {
- /* don't restart its timer, and silently
- drop the packet. */
- __ip_vs_conn_put(cp);
}
}
+ /* don't restart its timer, and silently
+ drop the packet. */
+ __ip_vs_conn_put(cp);
return NF_DROP;
}
return NF_DROP;
}