On Aug 23, 2006, at 9:56 AM, Ralph Lange wrote: There's an additional local buffer, word-aligned. After stepping through the array using ifreqNext, we're memcpy'ing from pifreq to our buffer, using the same algorithm as ifreqNext to determine the number of bytes to copy. That way we're creating an additional local copy of the ifreq entry with the only difference of the pointer to it always being word-aligned.
Well - we are identifying all network interfaces on the ARM board using the original ifreqNext and our word-aligned copies. All the names are there. So I guess it can't be really random memory. Is 70 really that ridiculous? I mean, it does sound so, but why are we finding all interfaces using that big step of 70 after the first ifreq entry?
Hmm...now I'm confused again.
I agree that since you're finding all the network interfaces with the existing ifreqNext code, it would indicate that the '70' (sa_len==54) is actually correct. So the problem is that 70 is not divisible by 4? If that's the problem then perhaps the copy to a local buffer is actually the correct thing to do. OR Find where that '70' is coming from and see if you can make it into a '72'.....
Yes. No watchpoints, though. Ralf is trying to figure out looking at the code who is filling the buffer with what, why, when, and where. Not a trivial task.
Agreed.I've got about 18 other things going on so I'm afraid that I can't be of more help at the moment. -- Advanced Photon Source Argonne National Laboratory (630) 252-4793 |