[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.