There is an issue documented here that showcases a problem with how the netmask filters out the address range.
I think this has to do with how the network length is converted to a "character length." See here:
|
let network_len = net.prefix() as usize / 4; |
In the aforementioned issue, a prefix length of 7 was given. The network_len would then be calculated as 1 "character," leaving 3 bits to be modified by the address rather than preserved by the netmask.