Page MenuHomeFreeBSD

D55546.id172797.diff
No OneTemporary

D55546.id172797.diff

diff --git a/sys/net/if_gre.c b/sys/net/if_gre.c
--- a/sys/net/if_gre.c
+++ b/sys/net/if_gre.c
@@ -1041,10 +1041,16 @@
gre_set_addr_nl(struct gre_softc *sc, struct nl_pstate *npt,
struct sockaddr *src, struct sockaddr *dst)
{
+#if defined(INET) || defined(INET6)
union {
+#ifdef INET
struct in_aliasreq in;
+#endif
+#ifdef INET6
struct in6_aliasreq in6;
+#endif
} aliasreq;
+#endif
int error;
/* XXX: this sanity check runs again in in[6]_gre_ioctl */
@@ -1057,16 +1063,18 @@
sx_xlock(&gre_ioctl_sx);
error = in_gre_ioctl(sc, SIOCSIFPHYADDR, (caddr_t)&aliasreq.in);
sx_xunlock(&gre_ioctl_sx);
+ }
#endif
#ifdef INET6
- } else if (src->sa_family == AF_INET6) {
+ else if (src->sa_family == AF_INET6) {
memcpy(&aliasreq.in6.ifra_addr, src, sizeof(struct sockaddr_in6));
memcpy(&aliasreq.in6.ifra_dstaddr, dst, sizeof(struct sockaddr_in6));
sx_xlock(&gre_ioctl_sx);
error = in6_gre_ioctl(sc, SIOCSIFPHYADDR_IN6, (caddr_t)&aliasreq.in6);
sx_xunlock(&gre_ioctl_sx);
+ }
#endif
- } else
+ else
error = EAFNOSUPPORT;
if (error == EADDRNOTAVAIL)

File Metadata

Mime Type
text/plain
Expires
Thu, Mar 26, 1:50 PM (3 h, 27 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29042806
Default Alt Text
D55546.id172797.diff (1 KB)

Event Timeline