All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hans Schillstrom <hans.schillstrom@ericsson.com>
To: Simon Horman <horms@verge.net.au>
Cc: Julian Anastasov <ja@ssi.bg>,
	LVS-Devel <lvs-devel@vger.kernel.org>,
	"wensong@linux-vs.org" <wensong@linux-vs.org>,
	"daniel.lezcano@free.fr" <daniel.lezcano@free.fr>
Subject: Re: [v2 PATCH 0/4] IPVS: Backup Adding Ipv6 and Persistence support
Date: Mon, 1 Nov 2010 11:04:28 +0100	[thread overview]
Message-ID: <201011011104.29280.hans.schillstrom@ericsson.com> (raw)
In-Reply-To: <20101030231601.GA5908@verge.net.au>

On Sunday 31 October 2010 01:16:02 Simon Horman wrote:
> On Sat, Oct 30, 2010 at 05:55:32PM +0300, Julian Anastasov wrote:
> >
[ snip ]
> >
> > 	- What is the right thing to do in ip_vs_conn_fill_param_sync
> > 	when ip_vs_pe_get() does not find PE? May be to drop
> > 	connection? May be in ip_vs_process_message() we should
> > 	use one pointer for end of message (it was 'p' before now),
> > 	so that we can skip connections, for example, when some
> > 	mandatory parameter as PE is not supported. We should not
> > 	drop the whole sync message. When message is invalid it
> > 	should be dropped but lack of support should not hurt
> > 	other connections. In the case for PE may be
> > 	ip_vs_conn_fill_param_sync() should return 1 if
> > 	PE is unknown (ip_vs_pe_get). Then caller will continue
> > 	with next connection if result > 0 or will drop message
> > 	if result < 0 as in current patch. May be the pe_name
> > 	presence should be the first check in
> > 	ip_vs_conn_fill_param_sync.
>
> 	Yes, I agree with this.

I will fix that.

>
> >	Also note that p->pe is
> > 	pointer without reference while called in ip_vs_sched_persist.
> > 	In our case with ip_vs_conn_fill_param_sync we should
> > 	put this reference after calling ip_vs_proc_conn().
> > 	May be ip_vs_find_dest should check that p->pe matches
> > 	svc->pe. ip_vs_try_bind_dest should provide p->pe too
> > 	for this check. But we must somehow ignore new conns
> > 	with PE if they don't have cp->dest (service) because
> > 	it is risky to attach PE that is not held by svc.
> > 	It is bad that the check for p->pe is before
> > 	ip_vs_find_dest.
>
> 	I have a patch, "IPVS: Add persistence engine to connection entry"
> 	that attaches the pe to the connection rather than the dest.
> 	In this case, if pe is NULL, then the connection doesn't use
> 	pe, which is fine. If its non-NULL, its there so there is no
> 	problem in that case either.
>
> 	I think this resolves the issue that you raise.

As mention before I will include that patch.

[ snip ]

> >
> > 	- Note that pe_data is leaked when ip_vs_proc_conn() fails
> > 	to create connection. May be PE info for non-templates
> > 	should be ignored?
>
> 	Yes I think it should be ignored in that case.

OK

>
> > 	And we need a way to know if
> > 	ip_vs_proc_conn called ip_vs_conn_new at all and that
> > 	it succeeded so that we can safely free pe_data.
>
> 	Perhaps ip_vs_proc_conn() could just free pe_data if
> 	it is present but ip_vs_conn_new() is not called.
>
Hmmm, I missed that one....

> >
> > 	Simon should tell what happens if some PE updates
> > 	ct->pe_data, may be we should replace it too for the
> > 	case when ip_vs_proc_conn works with existing template?
>
> 	At this stage there is no facility for updating PE data.
> 	But I think replacing it should be fine, so long as
> 	the appropriate locking is in place.

OK

>
> > v2 PATCH 4/4
> > 	May be we should add configuration option if sync is enabled
> > 	to default to version 0 because how we solve the problem if
> > 	backup can not be upgraded?
>
> 	I think that defaulting to v1 and having an option
> 	to move back to v0 would make more sense. Initially
> 	I would expect people to need to use v0 for the reason
> 	that you describe. But once the backup has been upgraded then,
> 	bugs not withstanding, there shouldn't be a reason not to use v1
> 	moving forward.
OK, but then I need to add sending of version_0

[ snip ]

I will start cooking a v3 soon

--
Regards
Hans Schillstrom <hans.schillstrom@ericsson.com>

  reply	other threads:[~2010-11-01 10:04 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-29 12:15 [v2 PATCH 0/4] IPVS: Backup Adding Ipv6 and Persistence support Hans Schillstrom
2010-10-30 14:55 ` Julian Anastasov
2010-10-30 23:16   ` Simon Horman
2010-11-01 10:04     ` Hans Schillstrom [this message]
2010-11-01 15:30     ` Hans Schillstrom
2010-11-01 21:56       ` Julian Anastasov
2010-11-03 20:08     ` Hans Schillstrom
2010-11-06  0:56       ` Simon Horman
2010-11-06 10:02         ` Hans Schillstrom
2010-11-06 11:49           ` Simon Horman
2010-11-06 14:07         ` Julian Anastasov
2010-11-06 14:34           ` Simon Horman
2010-11-06 18:57             ` Julian Anastasov
2010-11-08  6:21               ` Simon Horman
2010-11-08  8:51                 ` Julian Anastasov
2010-11-08 11:16                   ` Simon Horman
2010-11-08 15:07                     ` Hans Schillstrom
2010-11-08 21:45                       ` Simon Horman
2010-11-08 20:59                     ` Julian Anastasov
2010-11-08 21:49                       ` Simon Horman
2010-11-08 23:01                         ` Julian Anastasov
2010-11-09  0:43                           ` Simon Horman
2010-11-08 15:15                 ` Hans Schillstrom
2010-11-08 22:00                   ` Simon Horman
2010-11-08 22:23                     ` Hans Schillstrom
2010-11-09  0:39                       ` Simon Horman
2010-11-08 23:19                     ` Julian Anastasov
2010-11-09  0:48                       ` Simon Horman
2010-11-01 10:03   ` Hans Schillstrom
2010-11-01 21:53     ` Julian Anastasov
2010-11-01 22:47       ` Hans Schillstrom
2010-11-02  0:17         ` Julian Anastasov
2010-11-02  6:13           ` Hans Schillstrom
2010-11-01 12:16   ` [v2 PATCH 0/4] IPVS: Backup Adding Ipv6 and Persistence support -> option_param skip ? Hans Schillstrom

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201011011104.29280.hans.schillstrom@ericsson.com \
    --to=hans.schillstrom@ericsson.com \
    --cc=daniel.lezcano@free.fr \
    --cc=horms@verge.net.au \
    --cc=ja@ssi.bg \
    --cc=lvs-devel@vger.kernel.org \
    --cc=wensong@linux-vs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.