[OpenAFS-devel] N800, Mobile AFS, and changing IP addresses
Simon Wilkinson
sxw@inf.ed.ac.uk
Sun, 27 Apr 2008 11:36:19 +0100
On 27 Apr 2008, at 01:50, Jason Edgecombe wrote:
>
> So, my questions are the following:
>
> 1. Is the error message innocuous?
The error message is telling you that afsd couldn't find any
interfaces to pass in to the cache managee. I think you'll run into
problems if you are using rxbind, or any of the Net* files to
restrict which interfaces the cache manager can use.
> 2. What should be done when the network comes up, down, or gets a
> new IP?
You should generate the new list of interfaces, and then make the
AFSOP_ADVISEADDR syscall, setting 'code' to note the fact its a
refresh. See afsd_update_addresses for the Darwin version of this
code (a non-darwin version would be pretty much the same, but with a
different prototype)
If you're not using Net* restirctions, or rxbind, I think the only
thing you really need to do is to reset the list of down servers - so
servers that were marked down whilst you were disconnected, or
connected to a network which blocked AFS, get marked back up again.
> 3. How can I deal with wifi networks that block AFS?
Tune the AFS timeouts so that the user get's failure messages more
quickly?
> What should be done to make AFS work better on the N800 and other
> mobile devices with spotty network connectivity and roaming?
>
> When I chatted with Simon on IRC, he mentioned that Derrick has
> some of this done for Mac OS X. What should be done next?
You need to find a way to get afsd to notice interface event changes
on Linux. As I said on IRC, I think that DBus, combined with Network
Manager can help with this. It may also be that there are events
available to the kernel module that notify it of interface change.
I'm not sure which of these will be available on the N800.
S.