mirror of
https://github.com/opnsense/src.git
synced 2026-06-03 13:58:30 -04:00
setkey(8): extract prefixlen calculation info helper
While there, hide AF_INET case under #ifdef INET. Reviewed by: ae Discussed with: bz Sponsored by: NVidia networking MFC after: 1 week Differential revision: https://reviews.freebsd.org/D40300
This commit is contained in:
parent
6a71277c30
commit
2c1296a3c5
1 changed files with 23 additions and 33 deletions
|
|
@ -787,6 +787,23 @@ setkeymsg0(struct sadb_msg *msg, unsigned type, unsigned satype, size_t l)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
setkeymsg_plen(struct addrinfo *s)
|
||||
{
|
||||
switch (s->ai_addr->sa_family) {
|
||||
#ifdef INET
|
||||
case AF_INET:
|
||||
return (sizeof(struct in_addr) << 3);
|
||||
#endif
|
||||
#ifdef INET6
|
||||
case AF_INET6:
|
||||
return (sizeof(struct in6_addr) << 3);
|
||||
#endif
|
||||
default:
|
||||
return (-1);
|
||||
}
|
||||
}
|
||||
|
||||
/* XXX NO BUFFER OVERRUN CHECK! BAD BAD! */
|
||||
static int
|
||||
setkeymsg_spdaddr(unsigned type, unsigned upper, vchar_t *policy,
|
||||
|
|
@ -825,18 +842,9 @@ setkeymsg_spdaddr(unsigned type, unsigned upper, vchar_t *policy,
|
|||
|
||||
if (s->ai_addr->sa_family != d->ai_addr->sa_family)
|
||||
continue;
|
||||
switch (s->ai_addr->sa_family) {
|
||||
case AF_INET:
|
||||
plen = sizeof(struct in_addr) << 3;
|
||||
break;
|
||||
#ifdef INET6
|
||||
case AF_INET6:
|
||||
plen = sizeof(struct in6_addr) << 3;
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
plen = setkeymsg_plen(s);
|
||||
if (plen == -1)
|
||||
continue;
|
||||
}
|
||||
|
||||
/* set src */
|
||||
sa = s->ai_addr;
|
||||
|
|
@ -954,18 +962,9 @@ setkeymsg_addr(unsigned type, unsigned satype, struct addrinfo *srcs,
|
|||
|
||||
if (s->ai_addr->sa_family != d->ai_addr->sa_family)
|
||||
continue;
|
||||
switch (s->ai_addr->sa_family) {
|
||||
case AF_INET:
|
||||
plen = sizeof(struct in_addr) << 3;
|
||||
break;
|
||||
#ifdef INET6
|
||||
case AF_INET6:
|
||||
plen = sizeof(struct in6_addr) << 3;
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
plen = setkeymsg_plen(s);
|
||||
if (plen == -1)
|
||||
continue;
|
||||
}
|
||||
|
||||
/* set src */
|
||||
sa = s->ai_addr;
|
||||
|
|
@ -1140,18 +1139,9 @@ setkeymsg_add(unsigned type, unsigned satype, struct addrinfo *srcs,
|
|||
|
||||
if (s->ai_addr->sa_family != d->ai_addr->sa_family)
|
||||
continue;
|
||||
switch (s->ai_addr->sa_family) {
|
||||
case AF_INET:
|
||||
plen = sizeof(struct in_addr) << 3;
|
||||
break;
|
||||
#ifdef INET6
|
||||
case AF_INET6:
|
||||
plen = sizeof(struct in6_addr) << 3;
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
plen = setkeymsg_plen(s);
|
||||
if (plen == -1)
|
||||
continue;
|
||||
}
|
||||
|
||||
/* set src */
|
||||
sa = s->ai_addr;
|
||||
|
|
|
|||
Loading…
Reference in a new issue