The following series is aiming at adding full NAT support to IPVS. The approach is via a minimal change to IPVS (make friends with nf_conntrack) and adding a netfilter matcher (xt_ipvs + libxt_ipvs). Example usage: % ipvsadm -A -t 192.168.100.30:8080 -s rr % ipvsadm -a -t 192.168.100.30:8080 -r 192.168.10.20:8080 -m # ... # SNAT for VIP 192.168.100.30:8080 % iptables -t nat -A POSTROUTING -m ipvs --vaddr 192.168.100.30/32 --vport 8080 \ > -j SNAT --to-source 192.168.10.10 Comments? Changes to the linux kernel: Hannes Eder (4): IPVS: debugging output for ip_vs_update_conntrack IPVS: make friends with nf_conntrack netfilter: xt_ipvs (netfilter matcher for ipvs) IPVS: prefix EnterFunction and LeaveFunction msg with "IPVS:" include/linux/netfilter/xt_ipvs.h | 32 +++++++ include/net/ip_vs.h | 24 +++-- net/netfilter/Kconfig | 8 ++ net/netfilter/Makefile | 1 net/netfilter/ipvs/ip_vs_core.c | 36 -------- net/netfilter/ipvs/ip_vs_proto.c | 1 net/netfilter/ipvs/ip_vs_xmit.c | 54 ++++++++++++ net/netfilter/xt_ipvs.c | 171 +++++++++++++++++++++++++++++++++++++ 8 files changed, 279 insertions(+), 48 deletions(-) create mode 100644 include/linux/netfilter/xt_ipvs.h create mode 100644 net/netfilter/xt_ipvs.c Changes to iptables: Hannes Eder (1): libxt_ipvs: user space lib for netfilter matcher xt_ipvs extensions/libxt_ipvs.c | 350 +++++++++++++++++++++++++++++++++++++ extensions/libxt_ipvs.man | 7 + include/linux/netfilter/xt_ipvs.h | 32 +++ 3 files changed, 389 insertions(+), 0 deletions(-) create mode 100644 extensions/libxt_ipvs.c create mode 100644 extensions/libxt_ipvs.man create mode 100644 include/linux/netfilter/xt_ipvs.h Cheers, -Hannes -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html