Add support for IPv6 over MPLS pseudowire aka mpw(4)
authordenis <denis@openbsd.org>
Wed, 3 Jan 2018 19:39:36 +0000 (19:39 +0000)
committerdenis <denis@openbsd.org>
Wed, 3 Jan 2018 19:39:36 +0000 (19:39 +0000)
OK claudio@ jca@

sys/net/if_ethersubr.c

index 8041fd2..f0daddd 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: if_ethersubr.c,v 1.246 2017/05/31 05:59:09 mpi Exp $  */
+/*     $OpenBSD: if_ethersubr.c,v 1.247 2018/01/03 19:39:36 denis Exp $        */
 /*     $NetBSD: if_ethersubr.c,v 1.19 1996/05/07 02:40:30 thorpej Exp $        */
 
 /*
@@ -248,6 +248,11 @@ ether_output(struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst,
                                memcpy(edst, LLADDR(satosdl(dst)),
                                    sizeof(edst));
                                break;
+                       case AF_INET6:
+                               error = nd6_resolve(ifp, rt, m, dst, edst);
+                               if (error)
+                                       return (error == EAGAIN ? 0 : error);
+                               break;
                        case AF_INET:
                        case AF_MPLS:
                                error = arpresolve(ifp, rt, m, dst, edst);