Module Name: src Committed By: yamaguchi Date: Tue Oct 19 07:40:53 UTC 2021
Modified Files: src/sys/net/lagg: if_lagg.c Log Message: lagg: clear I/G bitg and set G/L bit in a generated MAC address To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/sys/net/lagg/if_lagg.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/net/lagg/if_lagg.c diff -u src/sys/net/lagg/if_lagg.c:1.13 src/sys/net/lagg/if_lagg.c:1.14 --- src/sys/net/lagg/if_lagg.c:1.13 Tue Oct 12 08:30:58 2021 +++ src/sys/net/lagg/if_lagg.c Tue Oct 19 07:40:52 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: if_lagg.c,v 1.13 2021/10/12 08:30:58 yamaguchi Exp $ */ +/* $NetBSD: if_lagg.c,v 1.14 2021/10/19 07:40:52 yamaguchi Exp $ */ /* * Copyright (c) 2005, 2006 Reyk Floeter <r...@openbsd.org> @@ -20,7 +20,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_lagg.c,v 1.13 2021/10/12 08:30:58 yamaguchi Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_lagg.c,v 1.14 2021/10/19 07:40:52 yamaguchi Exp $"); #ifdef _KERNEL_OPT #include "opt_inet.h" @@ -416,6 +416,8 @@ lagg_clone_create(struct if_clone *ifc, switch (lagg_iftype) { case LAGG_IF_TYPE_ETHERNET: cprng_fast(sc->sc_lladdr_rand, sizeof(sc->sc_lladdr_rand)); + sc->sc_lladdr_rand[0] &= 0xFE; /* clear I/G bit */ + sc->sc_lladdr_rand[0] |= 0x02; /* set G/L bit */ lagg_lladdr_cpy(sc->sc_lladdr, sc->sc_lladdr_rand); ether_set_vlan_cb((struct ethercom *)ifp, lagg_vlan_cb); ether_ifattach(ifp, sc->sc_lladdr);