Date: Fri, 16 Sep 2016 12:29:07 +0800 From: Marcelo Araujo <araujobsdport@gmail.com> To: Marcelo Araujo <araujo@freebsd.org> Cc: "src-committers@freebsd.org" <src-committers@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "svn-src-head@freebsd.org" <svn-src-head@freebsd.org> Subject: Re: svn commit: r305860 - head/sbin/ifconfig Message-ID: <CAOfEmZiovRf9U0fj0JPtfSq2z8Beg6cVOyBx0G%2BhK5n_TjdEtA@mail.gmail.com> In-Reply-To: <201609160422.u8G4MLN0031061@repo.freebsd.org> References: <201609160422.u8G4MLN0031061@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Ooops! Forgot to add the review link: https://reviews.freebsd.org/D7615 Best, 2016-09-16 12:22 GMT+08:00 Marcelo Araujo <araujo@freebsd.org>: > Author: araujo > Date: Fri Sep 16 04:22:21 2016 > New Revision: 305860 > URL: https://svnweb.freebsd.org/changeset/base/305860 > > Log: > Add an option called "random" that combined with "ether" can generate a > random MAC address for an Ethernet interface. > > PR: 211984 > Submitted by: pi@ > Reviewed by: gnn, cem, jhb, lidl, rpokala, wblock > Approved by: wblock (manpages) > > Modified: > head/sbin/ifconfig/af_link.c > head/sbin/ifconfig/ifconfig.8 > > Modified: head/sbin/ifconfig/af_link.c > ============================================================ > ================== > --- head/sbin/ifconfig/af_link.c Fri Sep 16 04:12:32 2016 > (r305859) > +++ head/sbin/ifconfig/af_link.c Fri Sep 16 04:22:21 2016 > (r305860) > @@ -90,13 +90,23 @@ link_getaddr(const char *addr, int which > > if (which != ADDR) > errx(1, "can't set link-level netmask or broadcast"); > - if ((temp = malloc(strlen(addr) + 2)) == NULL) > - errx(1, "malloc failed"); > - temp[0] = ':'; > - strcpy(temp + 1, addr); > - sdl.sdl_len = sizeof(sdl); > - link_addr(temp, &sdl); > - free(temp); > + if (!strcmp(addr, "random")) { > + sdl.sdl_len = sizeof(sdl); > + sdl.sdl_alen = ETHER_ADDR_LEN; > + sdl.sdl_nlen = 0; > + sdl.sdl_family = AF_LINK; > + arc4random_buf(&sdl.sdl_data, ETHER_ADDR_LEN); > + /* Non-multicast and claim it is a hardware address */ > + sdl.sdl_data[0] &= 0xfc; > + } else { > + if ((temp = malloc(strlen(addr) + 2)) == NULL) > + errx(1, "malloc failed"); > + temp[0] = ':'; > + strcpy(temp + 1, addr); > + sdl.sdl_len = sizeof(sdl); > + link_addr(temp, &sdl); > + free(temp); > + } > if (sdl.sdl_alen > sizeof(sa->sa_data)) > errx(1, "malformed link-level address"); > sa->sa_family = AF_LINK; > > Modified: head/sbin/ifconfig/ifconfig.8 > ============================================================ > ================== > --- head/sbin/ifconfig/ifconfig.8 Fri Sep 16 04:12:32 2016 > (r305859) > +++ head/sbin/ifconfig/ifconfig.8 Fri Sep 16 04:22:21 2016 > (r305860) > @@ -28,7 +28,7 @@ > .\" From: @(#)ifconfig.8 8.3 (Berkeley) 1/5/94 > .\" $FreeBSD$ > .\" > -.Dd June 8, 2016 > +.Dd September 17, 2016 > .Dt IFCONFIG 8 > .Os > .Sh NAME > @@ -145,6 +145,12 @@ is specified as a series of colon-separa > This can be used to, for example, > set a new MAC address on an Ethernet interface, though the > mechanism used is not Ethernet specific. > +Use the > +.Pq Dq random > +keyword to set a randomly generated MAC address. > +A randomly-generated MAC address might be the same as one already in use > +in the network. > +Such duplications are extremely unlikely. > If the interface is already > up when this option is used, it will be briefly brought down and > then brought back up again in order to ensure that the receive > @@ -254,7 +260,7 @@ Display subnet masks in dotted quad nota > .br > 255.255.0.0 or 255.255.255.192 > .It Sy hex > -Display subnet masks in hexidecimal, for example: > +Display subnet masks in hexadecimal, for example: > .br > 0xffff0000 or 0xffffffc0 > .El > @@ -2615,13 +2621,13 @@ and > .Cm vlandev > must both be set at the same time. > .It Cm vlanpcp Ar priority_code_point > -Priority code point > +Priority code point > .Pq Dv PCP > is an 3-bit field which refers to the IEEE 802.1p > class of service and maps to the frame priority level. > .Pp > Values in order of priority are: > -.Cm 1 > +.Cm 1 > .Pq Dv Background (lowest) , > .Cm 0 > .Pq Dv Best effort (default) , > @@ -2759,7 +2765,7 @@ interface to send the frame directly to > broadcasting the frame to the multicast group. > This is the default. > .It Fl vxlanlearn > -The forwarding table is not populated by recevied packets. > +The forwarding table is not populated by received packets. > .It Cm vxlanflush > Delete all dynamically-learned addresses from the forwarding table. > .It Cm vxlanflushall > _______________________________________________ > svn-src-head@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-head > To unsubscribe, send any mail to "svn-src-head-unsubscribe@freebsd.org" > -- -- Marcelo Araujo (__)araujo@FreeBSD.org \\\'',)http://www.FreeBSD.org <http://www.freebsd.org/> \/ \ ^ Power To Server. .\. /_)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOfEmZiovRf9U0fj0JPtfSq2z8Beg6cVOyBx0G%2BhK5n_TjdEtA>