[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1359374145.8120.8.camel@jlt4.sipsolutions.net>
Date: Mon, 28 Jan 2013 12:55:45 +0100
From: Johannes Berg <johannes@...solutions.net>
To: netdev@...r.kernel.org
Cc: linux-wireless@...r.kernel.org
Subject: TCP connection in suspend (to RAM)
Hi,
I'm working on a feature by which our device (Intel WiFi) will establish
a TCP connection while the host is asleep, in order to receive a wakeup
signal over the connection. There are a few configuration parameters,
but it's basically pretty simple, it establishes a connection, sending
configurable data in a configurable interval on it and wakes up the host
if it receives (certain) data on the connection or the connection breaks
(or we get disconnected from the AP, yadda yadda.)
The implementation is complex, but I've narrowed the configuration down
to configuring the IP addresses (v4 only), ports, and the data related
parameters like the interval etc.
I have two questions:
1) I'm currently making userspace configure the destination/gateway MAC
address. I could look up the route at configuration time, but it
might have changed by the time we suspend and use it. At suspend
time, I can no longer look up the route since that might require ARP
queries. Does that seem reasonable, or is there a trick I could use?
2) I'm making userspace configure the source port, and while some
special cases might want this it seems like normally the kernel
should pick an unused port. Does it seem acceptable to create a
socket at configuration time, use inet_csk_get_port() to get an
unused port and hang on to it until the configuration is removed
again some time later (after suspend/resume)?
Thanks,
johannes
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists