Dale Ghent wrote:

> 2) Option 2 would be to use the above mentioned ioctl-based method, but
> to remove it entirely from the critical code path. We could, at
> AFSinit() time, create a worker thread which would periodically update a
> global struct of interface telemetry. The worker thread would wake up
> every, say, 30 seconds (tunable), lock the struct via mutex, update it,
> unlock, and return to sleep. The RX and ServerPredfs code can read their
> desired values from this struct when they need it, spinning if need be.

I think this is the best approach to use.

> 4) We toss caution to the wind and let modern routers deal with UDP
> frags the way they should be and dispense with the UDP packet size
> adjustments based on MTU, or at least nail them to 1500. If you're still
> using AFS over a PPP connection... well... sorry 'bout that. We also let
> the kernel routing table do its job and dispense with selecting
> interfaces. I don't think even the NFS code jumps through these kinds of
> hoops. Is there a reason we should be? I admit I'm not too familiar with
> the inner details and history of things here, so feel free to gently
> clue me in.

Its not just PPP connections but VPN connections as well that modify
the interface MTU.  Really what you want is some mechanism that doesn't
involve polling to notify us when the configuration of an interface
changes so that we know to go retrieve the updated information.

Jeffrey Altman

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to