From: Simon Wunderlich <sw@simonwunderlich.de>
To: b.a.t.m.a.n@lists.open-mesh.org
Cc: Hans-Werner Hilse <hwhilse@gmail.com>
Subject: Re: [B.A.T.M.A.N.] [RFC] alfred: implement TCP support for server-to-server communication
Date: Mon, 21 Mar 2016 13:29:19 +0100 [thread overview]
Message-ID: <4157766.3ikgnCPmEQ@prime> (raw)
In-Reply-To: <e5bc47fb3a536ddda2923e4d85773cb4@hilses.de>
[-- Attachment #1: Type: text/plain, Size: 1541 bytes --]
Hello Hans-Werner,
On Monday 21 March 2016 10:38:55 Hans-Werner Hilse wrote:
> Hi,
>
> Am 2016-03-21 10:13, schrieb Sven Eckelmann:
> >> +int connect_tcp(struct interface *interface, const struct in6_addr
> >> *dest)
> >> +{
> >> [...]
> >> +}
> >> +
> >
> > Wouldn't this hang for a while and make the alfred server
> > "unresponsive"
> > when the remote is not reachable at this moment?.
>
> Yes, it most definitely would, you're right.
>
> If the route I'm following is generally right, I think I'll work on this
> part (*that* I can make into a different commit). The connect() can be
> made non-blocking, and I would add the socket and the request to send to
> a list (possibly using the transaction list that already exists right
> now).
I think you are on the right track - in the ticket, we discussed whether we do
TCP or just decrease the fragment size, but doing TCP is probably the more
reliable option to do.
I agree that we should definitely use nonblocking operation.
I was also thinking that we might want to use TCP in general when the packet
size reaches a certain threshold (e.g. >3kB), and always use UDP for small
packets. Then we would also not need the commandline option (unless you think
we should leave a way to force a mode). Any thoughts on that?
I don't think you have to split your patch further, at least I don't see a
good way right now. I didn't do a deep review yet, but can do in the next
iteration with the nonblocking stuff implemented. :)
Thanks a lot for taking care of this!
Simon
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2016-03-21 12:29 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-21 9:03 [B.A.T.M.A.N.] [RFC] alfred: implement TCP support for server-to-server Hans-Werner Hilse
2016-03-21 9:03 ` [B.A.T.M.A.N.] [RFC] alfred: implement TCP support for server-to-server communication Hans-Werner Hilse
2016-03-21 9:13 ` Sven Eckelmann
2016-03-21 9:38 ` Hans-Werner Hilse
2016-03-21 12:29 ` Simon Wunderlich [this message]
2016-03-21 13:25 ` Andrew Lunn
2016-03-27 18:26 ` [B.A.T.M.A.N.] [RFC v2] " Hans-Werner Hilse
2016-03-27 18:37 ` Hans-Werner Hilse
2016-04-22 18:37 ` jens
2016-04-24 22:02 ` Hans-Werner Hilse
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=4157766.3ikgnCPmEQ@prime \
--to=sw@simonwunderlich.de \
--cc=b.a.t.m.a.n@lists.open-mesh.org \
--cc=hwhilse@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox