> > I don't even see a need for this. The offset should be within one 1/2 > page, of > > one bank. So offset >= 0 and <= 127. Length is also > 0 and > > <- 127. And offset+length is <= 127. > > I like the clean approach, but... How do you request low memory?
Duh! I got my conditions wrong. Too focused on 1/2 pages to think that two of them makes one page! Lets try again: offset < 256 0 < len < 128 if (offset < 128) offset + len < 128 else offset + len < 256 Does that look better? Reading bytes from the lower 1/2 of page 0 should give the same data as reading data from the lower 1/2 of page 42. So we can allow that, but don't be too surprised when an SFP gets it wrong and gives you rubbish. I would suggest ethtool(1) never actually does read from the lower 1/2 of any page other than 0. And i agree about documentation. I would suggest a comment in ethtool_netlink.h, and the RST documentation. Andrew