i'm not sure this answers the problems with the previous patch. i noticed some
changes in netif.c not directly related to the patch with netgetl changed to returning a ulong.
i left that alone, since those changes still make sense to me. perhaps the return value would be
better u32int. i don't know.
previous comments:
proposal to allow access to a device's mtu limits. mintu <= mtu <= maxtu.
mintu and maxtu are supposed to be "hardware" limits. in the case of igbe,
it's difficult to shuffle the pool so no reconfiguration is required, but in the
general case, Netif->mtu() is called (if it exists) to modify mtu.
the file /net/ether$i/mtu contains the three 11-digit numbers: mintu, mtu, maxtu.
this is part of a script i use to set up interfaces for my aoe initiator
mtu = 8192
for(n in 1 2 3){
bind -a '#l'^$n /net
ether = /net/ether^$n
<>$ether/clone{
i=`{read}
echo mtu $mtu>$ether/$i/ctl
}
}
this does not yet play nicely in an ethernet configuration or with ip/ipconfig
because they don't know about it and the ipifc mtu is not directly connected to
the hardware mtu. perhaps a new option could force setting of the hardware's
mtu. and in all cases the hardware's mtu setting should be a ceiling to the ipifc
mtu.
in any event, i think that's to tackle later after we have access to hw mtu settings.
- erik
|