MCPcopy Create free account
hub / github.com/F-Stack/f-stack / sctp_get_ifa_hash_val

Function sctp_get_ifa_hash_val

freebsd/netinet/sctputil.c:5270–5302  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5268}
5269
5270uint32_t
5271sctp_get_ifa_hash_val(struct sockaddr *addr)
5272{
5273 switch (addr->sa_family) {
5274#ifdef INET
5275 case AF_INET:
5276 {
5277 struct sockaddr_in *sin;
5278
5279 sin = (struct sockaddr_in *)addr;
5280 return (sin->sin_addr.s_addr ^ (sin->sin_addr.s_addr >> 16));
5281 }
5282#endif
5283#ifdef INET6
5284 case AF_INET6:
5285 {
5286 struct sockaddr_in6 *sin6;
5287 uint32_t hash_of_addr;
5288
5289 sin6 = (struct sockaddr_in6 *)addr;
5290 hash_of_addr = (sin6->sin6_addr.s6_addr32[0] +
5291 sin6->sin6_addr.s6_addr32[1] +
5292 sin6->sin6_addr.s6_addr32[2] +
5293 sin6->sin6_addr.s6_addr32[3]);
5294 hash_of_addr = (hash_of_addr ^ (hash_of_addr >> 16));
5295 return (hash_of_addr);
5296 }
5297#endif
5298 default:
5299 break;
5300 }
5301 return (0);
5302}
5303
5304struct sctp_ifa *
5305sctp_find_ifa_by_addr(struct sockaddr *addr, uint32_t vrf_id, int holds_lock)

Callers 2

sctp_find_ifa_by_addrFunction · 0.85
sctp_add_addr_to_vrfFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected