Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_xmit.c | 15 ---
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_xmit.c b/net/netfilter/ipvs/ip_vs_xmit.c
index ec10ebf246fd..5cfd914d9a39 100644
--- a/net/netfilter/ipvs/ip_vs_xmit.
In practice struct netns_ipvs is as meaningful as struct net and more
useful as it holds the ipvs specific data. So store a pointer to
struct netns_ipvs.
Update the accesses of tinfo->net to access tinfo->ipvs->net instead.
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_sync.c
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h| 2 +-
net/netfilter/ipvs/ip_vs_app.c | 3 +--
net/netfilter/ipvs/ip_vs_ftp.c | 2 +-
3 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h
index a7275ae18b96..c06bad39958d 10
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_core.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_core.c b/net/netfilter/ipvs/ip_vs_core.c
index 514596b7a324..1c9c52349b7c 100644
--- a/net/netfilter/ipvs/ip_vs_core.c
+++ b/net/
This removes the need to use the hack skb_net.
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_core.c | 15 +++
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_core.c b/net/netfilter/ipvs/ip_vs_core.c
index 9967c9fac7f7..22eae023
This allows two different ways for computing/guessing net to be
removed from ensure_mtu_is_adequate.
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_xmit.c | 11 +--
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_xmit.c b/net/netfil
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_sync.c | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_sync.c b/net/netfilter/ipvs/ip_vs_sync.c
index a0808f230cd6..98180904ccd2 100644
--- a/net/netfilter/ipvs/ip_vs_sync.c
+
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h | 4 ++--
net/netfilter/ipvs/ip_vs_app.c| 6 --
net/netfilter/ipvs/ip_vs_proto_sctp.c | 7 +++
net/netfilter/ipvs/ip_vs_proto_tcp.c | 7 +++
net/netfilter/ipvs/ip_vs_proto_udp.c | 7 +++
5 files
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_ctl.c | 17 -
1 file changed, 8 insertions(+), 9 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
index 3911cf03fef9..9a56256502b6 100644
--- a/net/netfilter/ipvs/ip_vs_ctl.c
Derive ipvs from state->net in the callers of ip_vs_out and pass it
into ip_vs_out. Removing the need to use the hack skb_net.
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_core.c | 15 ++-
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/net/netfilter
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_ctl.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
index 85a2f2699a18..851bd121ed94 100644
--- a/net/netfilter/ipvs/ip_vs_ctl.c
+++ b/net/net
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h | 2 +-
net/netfilter/ipvs/ip_vs_conn.c | 2 +-
net/netfilter/ipvs/ip_vs_ctl.c | 4 ++--
net/netfilter/ipvs/ip_vs_sync.c | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/include/net/ip_vs.h b/include/net
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h | 2 +-
net/netfilter/ipvs/ip_vs_conn.c | 4 ++--
net/netfilter/ipvs/ip_vs_core.c | 8
net/netfilter/ipvs/ip_vs_ctl.c| 12 +++-
net/netfilter/ipvs/ip_vs_proto.c | 12 ++---
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_app.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_app.c b/net/netfilter/ipvs/ip_vs_app.c
index f20f72c4ac80..951516b7783b 100644
--- a/net/netfilter/ipvs/ip_vs_app.c
+++ b/net/ne
This hack has no more users so remove it.
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h | 31 ---
1 file changed, 31 deletions(-)
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h
index 00318d63a565..d621330d423c 100644
--- a/include/net/ip_vs.h
+++
Move the hack of relying on "net_ipvs(skb_net(skb))" to dreive the ipvs up
a layer.
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h | 6 --
net/netfilter/ipvs/ip_vs_conn.c | 4 ++--
net/netfilter/ipvs/ip_vs_core.c | 8 +---
net/netfilter/ipv
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h | 2 +-
net/netfilter/ipvs/ip_vs_ctl.c | 4 ++--
net/netfilter/ipvs/ip_vs_sync.c | 11 +--
3 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h
index 3c077e8a038c.
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h | 4 ++--
net/netfilter/ipvs/ip_vs_core.c | 6 +++---
net/netfilter/ipvs/ip_vs_est.c | 8 +++-
3 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h
index 38c1fca0c1a7..
This function adds no real value and it obscures what the code is doing.
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h| 22 --
net/netfilter/ipvs/ip_vs_ctl.c | 25 ++---
2 files changed, 10 insertions(+), 37 deletions(-)
diff --gi
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_app.c | 6 ++
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_app.c b/net/netfilter/ipvs/ip_vs_app.c
index 4a2daa3976c6..cb1246912f0f 100644
--- a/net/netfilter/ipvs/ip_vs_app.c
+++ b/net/ne
The argument is unnecessary and in practice confusing,
and has caused the callers to do all manner of silly things.
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h | 2 +-
net/netfilter/ipvs/ip_vs_ftp.c | 8 ++--
net/netfilter/ipvs/ip_vs_proto_tcp.c | 4 ++--
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h | 4 ++--
net/netfilter/ipvs/ip_vs_core.c | 6 +++---
net/netfilter/ipvs/ip_vs_proto.c | 8 +++-
3 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h
index f0a39ce3bf0
Also move the tests for net_ipvs being NULL into __ip_vs_ftp_init
and __ip_vs_ftp_exit. The only places where they possibly make
sense.
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h| 4 ++--
net/netfilter/ipvs/ip_vs_app.c | 16 +---
net/netfilter/ipvs/ip_vs
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_ctl.c | 10 --
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
index ee2ec40d0f12..4f08611347a2 100644
--- a/net/netfilter/ipvs/ip_vs_ctl.c
+++ b/n
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_ctl.c | 7 +++
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
index d3407ad866bb..591f528e4ed6 100644
--- a/net/netfilter/ipvs/ip_vs_ctl.c
+++ b/net/n
This moves the hack "net_ipvs(skb_net(skb))" up one level where it
will be easier to remove.
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h | 3 ++-
net/netfilter/ipvs/ip_vs_core.c | 11 ++-
net/netfilter/ipvs/ip_vs_proto_ah_esp.c | 3 ++-
net/ne
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_ctl.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
index 81eb3ed4ce90..9c307a822962 100644
--- a/net/netfilter/ipvs/ip_vs_ctl.c
+++ b/net/net
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_sync.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_sync.c b/net/netfilter/ipvs/ip_vs_sync.c
index 98180904ccd2..e3f72cbc1204 100644
--- a/net/netfilter/ipvs/ip_vs_sync.c
+++ b/net
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h | 4 ++--
net/netfilter/ipvs/ip_vs_proto.c | 4 ++--
net/netfilter/ipvs/ip_vs_proto_sctp.c | 6 ++
net/netfilter/ipvs/ip_vs_proto_tcp.c | 6 ++
net/netfilter/ipvs/ip_vs_proto_udp.c | 6 ++
5 files chan
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_conn.c | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_conn.c b/net/netfilter/ipvs/ip_vs_conn.c
index 76cdb6c06a52..43b7a7d2ba4d 100644
--- a/net/netfilter/ipvs/ip_vs_conn.c
+++ b/n
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_sync.c | 7 +++
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_sync.c b/net/netfilter/ipvs/ip_vs_sync.c
index dc987762ca2c..304eade977d2 100644
--- a/net/netfilter/ipvs/ip_vs_sync.c
+++ b/n
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_core.c | 7 +++
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_core.c b/net/netfilter/ipvs/ip_vs_core.c
index 15661691bf7d..b25fb3309472 100644
--- a/net/netfilter/ipvs/ip_vs_core.c
+++ b/n
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h | 2 +-
net/netfilter/ipvs/ip_vs_core.c | 6 --
net/netfilter/ipvs/ip_vs_ctl.c | 3 +--
3 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h
index 828b19b23e02..b93ee28f
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_ctl.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
index 7f0635242c7f..51dab90bf184 100644
--- a/net/netfilter/ipvs/ip_vs_ctl.c
+++ b/n
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_ctl.c | 7 +++
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
index 9dab372ceedb..30ed3a93bf22 100644
--- a/net/netfilter/ipvs/ip_vs_ctl.c
+++ b/net/n
This removes the need to compute ipvs with the hack "net_ipvs(skb_net(skb))"
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_core.c | 15 +++
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_core.c b/net/netfilter/ipvs/ip_vs_core.
This will be needed later when the network namespace guessing is removed from
ip_defrag
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_core.c | 9 +
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_core.c b/net/netfilter/ipvs/ip_vs_
Stop using the hack skb_net(skb) to compute the network namespace.
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_core.c | 8 ++--
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_core.c b/net/netfilter/ipvs/ip_vs_core.c
index 7e9ee1dece
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_ctl.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
index 4ca8d64ab6f1..1e3fc8962627 100644
--- a/net/netfilter/ipvs/ip_vs_ctl.c
+++ b/net/
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h| 4 ++--
net/netfilter/ipvs/ip_vs_ctl.c | 12 ++--
net/netfilter/ipvs/ip_vs_est.c | 6 ++
3 files changed, 10 insertions(+), 12 deletions(-)
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h
index f3ddf7696
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_ctl.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
index 4f08611347a2..9169a27be6e7 100644
--- a/net/netfilter/ipvs/ip_vs_ctl.c
+++ b/net/net
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_ctl.c | 7 +++
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
index 30ed3a93bf22..6a8238adda02 100644
--- a/net/netfilter/ipvs/ip_vs_ctl.c
+++ b/net/n
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_xmit.c | 21 +
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_xmit.c b/net/netfilter/ipvs/ip_vs_xmit.c
index 5cfd914d9a39..13a678a63ed5 100644
--- a/net/netfilter/ipvs/ip_v
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h | 2 +-
net/netfilter/ipvs/ip_vs_ctl.c | 4 ++--
net/netfilter/ipvs/ip_vs_sync.c | 7 +++
3 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h
index dd7cd3a48fd4..71f4d3
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_ctl.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
index 9c307a822962..176068c3a7fe 100644
--- a/net/netfilter/ipvs/ip_vs_ctl.c
+++ b/net/net
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_ctl.c | 11 ++-
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
index 176068c3a7fe..4ca8d64ab6f1 100644
--- a/net/netfilter/ipvs/ip_vs_ctl.c
+++ b/
Don't use "net_ipvs(skb_net(skb))" as skb_net is a bad hack. Instead
use cp->ipvs and ipvs->net for the net.
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_xmit.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_xmit.c b/net/netfi
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_proto.c | 15 +++
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_proto.c b/net/netfilter/ipvs/ip_vs_proto.c
index 82ccfd2f235c..fb581babe5e2 100644
--- a/net/netfilter/ipvs/ip_vs_pr
Derive ipvs from state->net in the callers of ip_vs_in and pass it
into ip_vs_out. Removing the need to use the hack skb_net.
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_core.c | 14 +-
1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/net/netfilter/i
With sysctl_cache_bypass now a compile time constant the compiler can
figue out that it can elimiate all of the code that depends on
sysctl_cache_bypass being true.
Also remove the duplicate computation of net previously necessitated
by #ifdef CONFIG_SYSCTL
Signed-off-by: "Eric W. Biederman"
---
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_ctl.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
index 1e3fc8962627..9dab372ceedb 100644
--- a/net/netfilter/ipvs/ip_vs_ctl.c
+++ b/net/
Use the address of struct netns_ipvs in the hash not the address of
struct net. Both addresses are equally valid candidates and by using
the address of struct netns_ipvs there becomes no need deal with
struct net in this part of the code.
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipv
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h | 2 +-
net/netfilter/ipvs/ip_vs_core.c | 5 +++--
net/netfilter/ipvs/ip_vs_sync.c | 3 +--
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h
index 47a4cddb7c33..f3ddf7696
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h | 4 ++--
net/netfilter/ipvs/ip_vs_app.c | 9 +
net/netfilter/ipvs/ip_vs_core.c | 6 +++---
3 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h
index 5caafed5af2e.
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h | 2 +-
net/netfilter/ipvs/ip_vs_core.c | 2 +-
net/netfilter/ipvs/ip_vs_sync.c | 4 +---
3 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h
index b10b337ce974..47a4cddb7c3
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_ctl.c | 16
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
index 67278c6e41a3..1665db8e9f2a 100644
--- a/net/netfilter/ipvs/ip_vs_ctl.c
+
Compute ipvs early in ip_vs_genl_set_cmd and use the cached value to
access ipvs->sync_state.
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_ctl.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_sync.c | 7 +++
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_sync.c b/net/netfilter/ipvs/ip_vs_sync.c
index 280e1c03e598..58ec7850ab06 100644
--- a/net/netfilter/ipvs/ip_vs_sync.c
+++ b/n
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_ctl.c | 9 -
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
index b192bb45f697..7f0635242c7f 100644
--- a/net/netfilter/ipvs/ip_vs_ctl.c
+++ b/net
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h | 2 +-
net/netfilter/ipvs/ip_vs_ctl.c| 5 ++---
net/netfilter/ipvs/ip_vs_proto_sctp.c | 4 ++--
net/netfilter/ipvs/ip_vs_proto_tcp.c | 4 ++--
net/netfilter/ipvs/ip_vs_proto_udp.c | 6 --
5 files changed,
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h | 2 +-
net/netfilter/ipvs/ip_vs_conn.c | 4 ++--
net/netfilter/ipvs/ip_vs_ctl.c | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h
index 2d49357b328c..c88a3bf85f9
With ipvs passed into ip_vs_in_icmp and ip_vs_in_icmp_v6
they no longer need to call the hack that is skb_net.
Additionally ipvs_in_icmp no longer needs to call dev_net(skb->dev)
and can use the ipvs->net instead.
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_core.c | 36 +
Move the ugly hack net_ipvs(skb_net(skb)) up a layer in the call stack
so it is easier to remove.
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_conn.c | 10 ++
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_conn.c b/net/netfilter/
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h | 4 ++--
net/netfilter/ipvs/ip_vs_core.c | 6 +++---
net/netfilter/ipvs/ip_vs_ctl.c | 8
3 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h
index c88a3bf85f98..3
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h | 2 +-
net/netfilter/ipvs/ip_vs_conn.c | 3 +--
net/netfilter/ipvs/ip_vs_core.c | 2 +-
net/netfilter/ipvs/ip_vs_sync.c | 5 ++---
4 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/include/net/ip_vs.h b/include/n
Stop relying on "net_ipvs(skb_net(skb))" to dreive the ipvs as
skb_net is a hack.
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h | 6 --
net/netfilter/ipvs/ip_vs_conn.c | 4 ++--
net/netfilter/ipvs/ip_vs_core.c | 8
net/netfilter/ipvs/
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_sync.c | 7 +++
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_sync.c b/net/netfilter/ipvs/ip_vs_sync.c
index cd32e3ab0c4d..280e1c03e598 100644
--- a/net/netfilter/ipvs/ip_vs_sync.c
+++ b/n
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_ctl.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
index 186e49c111f3..ee2ec40d0f12 100644
--- a/net/netfilter/ipvs/ip_vs_ctl.c
+++ b/net/net
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_sync.c | 7 +++
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_sync.c b/net/netfilter/ipvs/ip_vs_sync.c
index 0b2e01aa764a..dc987762ca2c 100644
--- a/net/netfilter/ipvs/ip_vs_sync.c
+++ b/n
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h | 4 ++--
net/netfilter/ipvs/ip_vs_conn.c | 8
net/netfilter/ipvs/ip_vs_core.c | 6 +++---
3 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h
index 0ca436ef7dad..5
Storte the value of net_ipvs in a variable named ipvs so that when
there are more users struct netns_ipvs in ip_vs_in_cmp and
ip_vs_in_icmp_v6 they won't need to compute the value again.
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_core.c | 8 ++--
1 file changed, 6 insert
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_ctl.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
index b9426a5fb667..81eb3ed4ce90 100644
--- a/net/netfilter/ipvs/ip_vs_ctl.c
+++ b/net/
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_est.c | 6 ++
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_est.c b/net/netfilter/ipvs/ip_vs_est.c
index 638a301f7ee4..c86dc456c8f4 100644
--- a/net/netfilter/ipvs/ip_vs_est.c
+++ b/net/ne
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h | 2 +-
net/netfilter/ipvs/ip_vs_core.c | 6 --
net/netfilter/ipvs/ip_vs_ctl.c | 3 +--
3 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h
index b54a19eaa630..3c7040a3
In practice struct netns_ipvs is as meaningful as struct net and more
useful as it holds the ipvs specific data. So store a pointer to
struct netns_ipvs.
Update the accesses of param->net to access param->ipvs->net instead.
In functions where we are searching for an svc and filtering by net
filt
In practice struct netns_ipvs is as meaningful as struct net and more
useful as it holds the ipvs specific data. So store a pointer to
struct netns_ipvs.
Update the accesses of param->net to access param->ipvs->net instead.
When lookup up struct ip_vs_conn in a hash table replace comparisons
of
ipvs is what is actually desired so change the parameter and the modify
the callers to pass struct netns_ipvs.
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h | 4 ++--
net/netfilter/ipvs/ip_vs_conn.c | 8
net/netfilter/ipvs/ip_vs_core.c
Instead store ipvs in extra2 so that proc_do_defense_mode can easily
find the ipvs that it's value is associated with.
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_ctl.c | 8 ++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_ctl.c
The addition of sysctl_sloppy_sctp in sctp_conn_schedule resulted
in a use of ipvs before it was computed. Hoist the computation of
ipvs earlier to avoid this problem.
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_proto_sctp.c | 5 +++--
1 file changed, 3 insertions(+), 2 dele
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_ctl.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
index 2277da6b8e9f..4eb3c4aca86b 100644
--- a/net/netfilter/ipvs/ip_vs_ctl.c
+++ b/net/
Use the address of ipvs not the address of net when computing the
hash value. This removes an unncessary dependency on struct net.
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_ctl.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/net/netfilter/ipvs
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_core.c | 8 ++--
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_core.c b/net/netfilter/ipvs/ip_vs_core.c
index 1fa12edccbcc..3f33a076aaec 100644
--- a/net/netfilter/ipvs/ip_vs_core.c
+++ b/
In practice struct netns_ipvs is as meaningful as struct net and more
useful as it holds the ipvs specific data. So store a pointer to
struct netns_ipvs.
Update the accesses of conn->net to access conn->ipvs->net instead.
Signed-off-by: "Eric W. Biederman"
---
include/net/ip_vs.h
ipvs is what the code actually wants to use.
Signed-off-by: "Eric W. Biederman"
---
net/netfilter/ipvs/ip_vs_ctl.c | 15 ---
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
index 4eb3c4aca86b..5e8ef1593f3e
I am gradually working my way through the netfilter stack passing struct
down into the netfilter hooks and from the netfilter hooks and from
there down into the functions that actually care. This removes the need
for netfilter functions to guess how to figure out how to compute which
network name
On Sat, Sep 19, 2015 at 6:21 PM, roopa wrote:
> On 9/18/15, 12:55 PM, sfel...@gmail.com wrote:
>>
>> From: Scott Feldman
>>
>> Signed-off-by: Scott Feldman
>> ---
>> Documentation/networking/switchdev.txt | 24
>> 1 file changed, 12 insertions(+), 12 deletions(-)
>>
Sergei Shtylyov writes:
> Hello.
> ...
>Your patch doesn't comply to the Linux CodingStyle.
> ...
I'll fix and post v2 - apologies for messing up with that check.
-Aaron
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.o
On 9/18/15, 12:55 PM, sfel...@gmail.com wrote:
From: Scott Feldman
Signed-off-by: Scott Feldman
---
Documentation/networking/switchdev.txt | 24
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/Documentation/networking/switchdev.txt
b/Documentation
Hello. I have a Mellanox ConnectX-3 Pro EN (MCX314A-BCCT). I'm only using a
single port so it must provide IP for my host as well as connectivity for VMs.
SR-IOV VFs are working great, my KVM VMs have Ethernet and RDMA.
However, I also want to support virtio VMs. Assuming eth0 is the first port on
RDS IB mr pool has its own workqueue 'rds_ib_fmr_wq', so we need
to use queue_delayed_work() to kick the work. This was hurting
the performance since pool maintenance was less often triggered
from other path.
Signed-off-by: Santosh Shilimkar
Signed-off-by: Santosh Shilimkar
---
net/rds/ib_rdma.
This series addresses RDS connection bottlenecks on massive workloads and
improve the RDMA performance almost by 3X. RDS TCP also gets a small gain
of about 12%.
RDS is being used in massive systems with high scalability where several
hundred thousand end points and tens of thousands of local proc
From: Santosh Shilimkar
Just in case we are still handling the QP receive completion while the
rds_ibdev is released, drop the connection instead of crashing the kernel.
Signed-off-by: Santosh Shilimkar
---
net/rds/ib_cm.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/n
synchronize_rcu() slowing down un-necessarily the socket shutdown
path. It is used just kfree() the ip addresses in rds_ib_remove_ipaddr()
which is perfect usecase for kfree_rcu();
So lets use that to gain some speedup.
Signed-off-by: Santosh Shilimkar
Signed-off-by: Santosh Shilimkar
---
net/
Fix below warning by marking rds_ib_fmr_wq static
net/rds/ib_rdma.c:87:25: warning: symbol 'rds_ib_fmr_wq' was not declared.
Should it be static?
Signed-off-by: Santosh Shilimkar
Signed-off-by: Santosh Shilimkar
---
net/rds/ib_rdma.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff
For better performance, we split the receive completion IRQ handler. That
lets us acknowledge several WCE events in one call. We also limit the WC
to max 32 to avoid latency. Acknowledging several completions in one call
instead of several calls each time will provide better performance since
less
rds_ib_mr already keeps the pool handle which it associates
with. Lets use that instead of round about way of fetching
it from rds_ib_device.
No functional change.
Signed-off-by: Santosh Shilimkar
Signed-off-by: Santosh Shilimkar
---
net/rds/ib_rdma.c | 5 ++---
1 file changed, 2 insertions(+)
From: Santosh Shilimkar
All HCA drivers seems to popullate max_mr caps and few of
them do both max_mr and max_fmr.
Hence update RDS code to make use of max_mr.
Signed-off-by: Santosh Shilimkar
Signed-off-by: Santosh Shilimkar
---
net/rds/ib.c | 4 ++--
1 file changed, 2 insertions(+), 2 dele
Similar to what we did with receive CQ completion handling, we split
the transmit completion handler so that it lets us implement batched
work completion handling.
We re-use the cq_poll routine and makes use of RDS_IB_SEND_OP to
identify the send vs receive completion event handler invocation.
Si
Even with per bucket locking scheme, in a massive parallel
system with active rds sockets which could be in excess of multiple
of 10K, rds_bin_lookup() workload is siginificant because of smaller
hashtable size.
With some tests, it was found that we get modest but still nice
reduction in rds_bind_
Current process gives up if its send work over the batch limit.
The work queue will get kicked to finish off any other requests.
This fixes remainder condition from commit 443be0e5affe ("RDS: make
sure not to loop forever inside rds_send_xmit").
The restart condition is only for the case where we
1 - 100 of 134 matches
Mail list logo