ip: fix wrong radix for iphash() (thanks yoann padioleau)
yoann padioleaus report on 9fans: > I think I’ve found a bug in the network stack. > in 9/ip/ip.h there is > struct Ipht > { > Lock; > Iphash *tab[Nipht]; > }; > > where Night is 521, > > but then in 9/ip/ipaux.c there is > > ulong > iphash(uchar *sa, ushort sp, uchar *da, ushort dp) > { > return ((sa[IPaddrlen-1]<<24) ^ (sp << 16) ^ (da[IPaddrlen-1]<<8) ^ dp ) % Nhash; > } > > where Nhash is just 64,
This commit is contained in:
parent
90b4fe9cf6
commit
94333d83ab
2 changed files with 1 additions and 2 deletions
|
@ -37,7 +37,6 @@ enum
|
|||
{
|
||||
Addrlen= 64,
|
||||
Maxproto= 20,
|
||||
Nhash= 64,
|
||||
Maxincall= 10,
|
||||
Nchans= 1024,
|
||||
MAClen= 16, /* longest mac address */
|
||||
|
|
|
@ -238,7 +238,7 @@ parsemac(uchar *to, char *from, int len)
|
|||
ulong
|
||||
iphash(uchar *sa, ushort sp, uchar *da, ushort dp)
|
||||
{
|
||||
return ((sa[IPaddrlen-1]<<24) ^ (sp << 16) ^ (da[IPaddrlen-1]<<8) ^ dp ) % Nhash;
|
||||
return ((sa[IPaddrlen-1]<<24) ^ (sp << 16) ^ (da[IPaddrlen-1]<<8) ^ dp ) % Nipht;
|
||||
}
|
||||
|
||||
void
|
||||
|
|
Loading…
Reference in a new issue