[PATCH] Add CTDB_REQ_TUNNEL for new protocol

Volker Lendecke Volker.Lendecke at SerNet.DE
Thu Oct 5 14:24:41 UTC 2017


On Fri, Oct 06, 2017 at 01:01:31AM +1100, Amitay Isaacs wrote:
> Are you talking about source3/lib/messages_ctdb.[ch]?

That would be the Samba-side user of what I mean, sure. On a more
basic level we do

r.hdr.operation  = CTDB_REQ_MESSAGE;

to send messages.

> As you might have guessed, the tunnel implementation is pretty similar
> to srvid mesages.  One of the main differences is you can register
> an endpoint with unique id only once on a node.  It's essential that
> there is only one "service" daemon (e.g. database daemon) running
> on a node.

Oh, that would be a very worthwhile addition to
CTDB_CONTROL_REGISTER_SRVID :-)

> Also, you cannot tunnel a packet between two different
> tunnel ids. 

What do you mean by that exactly?

One thing for example the srvid based messaging misses is the ability
to listen for dying clients with a srvid. This could contribute to a
socket-like interface based on srvid messaging too I guess.

> I feel this will ensure that the design of a "service" will
> remain coherent and there will be cleaner interfaces between services.
> That's why I decided to avoid srvid based messaging to forgo the
> temptation of violating inter-service interfaces.

It's your design, your code, of course. But I feel that we have a
transport that can carry anything already, and if there's one thing
ctdb does not need is more complexity :-)

Volker

-- 
SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: +49-551-370000-0, fax: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
http://www.sernet.de, mailto:kontakt at sernet.de



More information about the samba-technical mailing list