svn commit: r305860 - head/sbin/ifconfig
Marcelo Araujo
araujobsdport at gmail.com
Fri Sep 16 04:29:09 UTC 2016
Ooops!
Forgot to add the review link:
https://reviews.freebsd.org/D7615
Best,
2016-09-16 12:22 GMT+08:00 Marcelo Araujo <araujo at 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 at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/svn-src-head
> To unsubscribe, send any mail to "svn-src-head-unsubscribe at freebsd.org"
>
--
--
Marcelo Araujo (__)araujo at FreeBSD.org
\\\'',)http://www.FreeBSD.org <http://www.freebsd.org/> \/ \ ^
Power To Server. .\. /_)
More information about the svn-src-head
mailing list