diff options
author | Julian Anastasov <ja@ssi.bg> | 2014-08-22 17:53:41 +0300 |
---|---|---|
committer | Simon Horman <horms@verge.net.au> | 2014-08-28 10:52:37 +0900 |
commit | eb90b0c734ad793d5f5bf230a9e9a4dcc48df8aa (patch) | |
tree | ca212cee64f83231fc9dc6e348668d27e1bf1d84 | |
parent | ea1d5d7755a3e556de78cc757d1895d5c7180548 (diff) | |
download | op-kernel-dev-eb90b0c734ad793d5f5bf230a9e9a4dcc48df8aa.zip op-kernel-dev-eb90b0c734ad793d5f5bf230a9e9a4dcc48df8aa.tar.gz |
ipvs: fix ipv6 hook registration for local replies
commit fc604767613b6d2036cdc35b660bc39451040a47
("ipvs: changes for local real server") from 2.6.37
introduced DNAT support to local real server but the
IPv6 LOCAL_OUT handler ip_vs_local_reply6() is
registered incorrectly as IPv4 hook causing any outgoing
IPv4 traffic to be dropped depending on the IP header values.
Chris tracked down the problem to CONFIG_IP_VS_IPV6=y
Bug report: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1349768
Reported-by: Chris J Arges <chris.j.arges@canonical.com>
Tested-by: Chris J Arges <chris.j.arges@canonical.com>
Signed-off-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Simon Horman <horms@verge.net.au>
-rw-r--r-- | net/netfilter/ipvs/ip_vs_core.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/netfilter/ipvs/ip_vs_core.c b/net/netfilter/ipvs/ip_vs_core.c index e683675..5c34e8d 100644 --- a/net/netfilter/ipvs/ip_vs_core.c +++ b/net/netfilter/ipvs/ip_vs_core.c @@ -1906,7 +1906,7 @@ static struct nf_hook_ops ip_vs_ops[] __read_mostly = { { .hook = ip_vs_local_reply6, .owner = THIS_MODULE, - .pf = NFPROTO_IPV4, + .pf = NFPROTO_IPV6, .hooknum = NF_INET_LOCAL_OUT, .priority = NF_IP6_PRI_NAT_DST + 1, }, |