* Hash an IPv4 4-tuple. */
| 83 | * Hash an IPv4 4-tuple. |
| 84 | */ |
| 85 | uint32_t |
| 86 | rss_hash_ip4_4tuple(struct in_addr src, u_short srcport, struct in_addr dst, |
| 87 | u_short dstport) |
| 88 | { |
| 89 | uint8_t data[sizeof(src) + sizeof(dst) + sizeof(srcport) + |
| 90 | sizeof(dstport)]; |
| 91 | u_int datalen; |
| 92 | |
| 93 | datalen = 0; |
| 94 | bcopy(&src, &data[datalen], sizeof(src)); |
| 95 | datalen += sizeof(src); |
| 96 | bcopy(&dst, &data[datalen], sizeof(dst)); |
| 97 | datalen += sizeof(dst); |
| 98 | bcopy(&srcport, &data[datalen], sizeof(srcport)); |
| 99 | datalen += sizeof(srcport); |
| 100 | bcopy(&dstport, &data[datalen], sizeof(dstport)); |
| 101 | datalen += sizeof(dstport); |
| 102 | return (rss_hash(datalen, data)); |
| 103 | } |
| 104 | |
| 105 | /* |
| 106 | * Calculate an appropriate ipv4 2-tuple or 4-tuple given the given |
no test coverage detected