* [GIT PULL nf] Second Round of IPVS Fixes for v4.7 @ 2016-07-07 18:30 Simon Horman 2016-07-07 18:30 ` [PATCH nf] ipvs: fix bind to link-local mcast IPv6 address in backup Simon Horman 2016-07-11 10:04 ` [GIT PULL nf] Second Round of IPVS Fixes for v4.7 Pablo Neira Ayuso 0 siblings, 2 replies; 3+ messages in thread From: Simon Horman @ 2016-07-07 18:30 UTC (permalink / raw) To: Pablo Neira Ayuso Cc: lvs-devel, netdev, netfilter-devel, Wensong Zhang, Julian Anastasov, Simon Horman Hi Pablo, please consider this IPVS fix for v4.7. The fix from Quentin Armitage allows the backup sync daemon to be bound to a link-local mcast IPv6 address as is already the case for IPv4. The following changes since commit 62131e5d735226074cba53095545d76b491e5003: netfilter: nft_meta: set skb->nf_trace appropriately (2016-06-23 14:15:33 +0200) are available in the git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs.git tags/ipvs-fixes2-for-v4.7 for you to fetch changes up to 3777ed688fba82d0bd43f9fc1ebbc6abe788576d: ipvs: fix bind to link-local mcast IPv6 address in backup (2016-07-07 20:21:32 +0200) ---------------------------------------------------------------- Quentin Armitage (1): ipvs: fix bind to link-local mcast IPv6 address in backup net/netfilter/ipvs/ip_vs_sync.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) ^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH nf] ipvs: fix bind to link-local mcast IPv6 address in backup 2016-07-07 18:30 [GIT PULL nf] Second Round of IPVS Fixes for v4.7 Simon Horman @ 2016-07-07 18:30 ` Simon Horman 2016-07-11 10:04 ` [GIT PULL nf] Second Round of IPVS Fixes for v4.7 Pablo Neira Ayuso 1 sibling, 0 replies; 3+ messages in thread From: Simon Horman @ 2016-07-07 18:30 UTC (permalink / raw) To: Pablo Neira Ayuso Cc: lvs-devel, netdev, netfilter-devel, Wensong Zhang, Julian Anastasov, Quentin Armitage, Simon Horman From: Quentin Armitage <quentin@armitage.org.uk> When using HEAD from https://git.kernel.org/cgit/utils/kernel/ipvsadm/ipvsadm.git/, the command: ipvsadm --start-daemon backup --mcast-interface eth0.60 \ --mcast-group ff02::1:81 fails with the error message: Argument list too long whereas both: ipvsadm --start-daemon master --mcast-interface eth0.60 \ --mcast-group ff02::1:81 and: ipvsadm --start-daemon backup --mcast-interface eth0.60 \ --mcast-group 224.0.0.81 are successful. The error message "Argument list too long" isn't helpful. The error occurs because an IPv6 address is given in backup mode. The error is in make_receive_sock() in net/netfilter/ipvs/ip_vs_sync.c, since it fails to set the interface on the address or the socket before calling inet6_bind() (via sock->ops->bind), where the test 'if (!sk->sk_bound_dev_if)' failed. Setting sock->sk->sk_bound_dev_if on the socket before calling inet6_bind() resolves the issue. Fixes: d33288172e72 ("ipvs: add more mcast parameters for the sync daemon") Signed-off-by: Quentin Armitage <quentin@armitage.org.uk> Acked-by: Julian Anastasov <ja@ssi.bg> Signed-off-by: Simon Horman <horms@verge.net.au> --- net/netfilter/ipvs/ip_vs_sync.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/net/netfilter/ipvs/ip_vs_sync.c b/net/netfilter/ipvs/ip_vs_sync.c index 803001a45aa1..1b07578bedf3 100644 --- a/net/netfilter/ipvs/ip_vs_sync.c +++ b/net/netfilter/ipvs/ip_vs_sync.c @@ -1545,7 +1545,8 @@ error: /* * Set up receiving multicast socket over UDP */ -static struct socket *make_receive_sock(struct netns_ipvs *ipvs, int id) +static struct socket *make_receive_sock(struct netns_ipvs *ipvs, int id, + int ifindex) { /* multicast addr */ union ipvs_sockaddr mcast_addr; @@ -1566,6 +1567,7 @@ static struct socket *make_receive_sock(struct netns_ipvs *ipvs, int id) set_sock_size(sock->sk, 0, result); get_mcast_sockaddr(&mcast_addr, &salen, &ipvs->bcfg, id); + sock->sk->sk_bound_dev_if = ifindex; result = sock->ops->bind(sock, (struct sockaddr *)&mcast_addr, salen); if (result < 0) { pr_err("Error binding to the multicast addr\n"); @@ -1868,7 +1870,7 @@ int start_sync_thread(struct netns_ipvs *ipvs, struct ipvs_sync_daemon_cfg *c, if (state == IP_VS_STATE_MASTER) sock = make_send_sock(ipvs, id); else - sock = make_receive_sock(ipvs, id); + sock = make_receive_sock(ipvs, id, dev->ifindex); if (IS_ERR(sock)) { result = PTR_ERR(sock); goto outtinfo; -- 2.7.0.rc3.207.g0ac5344 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [GIT PULL nf] Second Round of IPVS Fixes for v4.7 2016-07-07 18:30 [GIT PULL nf] Second Round of IPVS Fixes for v4.7 Simon Horman 2016-07-07 18:30 ` [PATCH nf] ipvs: fix bind to link-local mcast IPv6 address in backup Simon Horman @ 2016-07-11 10:04 ` Pablo Neira Ayuso 1 sibling, 0 replies; 3+ messages in thread From: Pablo Neira Ayuso @ 2016-07-11 10:04 UTC (permalink / raw) To: Simon Horman Cc: lvs-devel, netdev, netfilter-devel, Wensong Zhang, Julian Anastasov On Thu, Jul 07, 2016 at 08:30:21PM +0200, Simon Horman wrote: > Hi Pablo, > > please consider this IPVS fix for v4.7. > > The fix from Quentin Armitage allows the backup sync daemon to > be bound to a link-local mcast IPv6 address as is already the case > for IPv4. > > The following changes since commit 62131e5d735226074cba53095545d76b491e5003: > > netfilter: nft_meta: set skb->nf_trace appropriately (2016-06-23 14:15:33 +0200) > > are available in the git repository at: > > https://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs.git tags/ipvs-fixes2-for-v4.7 Also pulled, thanks. ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-07-11 10:04 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-07-07 18:30 [GIT PULL nf] Second Round of IPVS Fixes for v4.7 Simon Horman 2016-07-07 18:30 ` [PATCH nf] ipvs: fix bind to link-local mcast IPv6 address in backup Simon Horman 2016-07-11 10:04 ` [GIT PULL nf] Second Round of IPVS Fixes for v4.7 Pablo Neira Ayuso
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).