opnsense-src/sys/net
Maxim Shalomikhin 604d34c23f net: ether_gen_addr: fix address generation
Some errors in ether_gen_addr() caused us to generate MAC addresses out
of range, and the ones that were within range had other errors causing
the pool of addresses that we might actually generate to shrink.

Fix both prblems by using only two bytes of the digest and then OR'ing
against the mask, which has the appropriate byte set for the fourth
octet of the range already; essentially, our digest is only contributing
the last two octets.

Change is the author, but any blame for the commit message goes to
kevans.

PR:		256850
Relnotes:	yes
2025-07-02 14:33:52 -05:00
..
altq altq: Stop checking for failures from malloc(M_WAITOK) 2024-09-03 18:25:19 +08:00
route machine/stdarg.h -> sys/stdarg.h 2025-06-11 17:39:02 +01:00
bpf.c bpf: avoid panic on multiple readers 2025-04-09 09:39:01 +02:00
bpf.h bpf: Make bpf.h self-contained 2025-05-03 20:44:45 +00:00
bpf_buffer.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
bpf_buffer.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
bpf_filter.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
bpf_jitter.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
bpf_jitter.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
bpf_zerocopy.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
bpf_zerocopy.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
bpfdesc.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
bridgestp.c bridge: store a bridge_iflist pointer in ifnet 2025-04-09 09:39:01 +02:00
bridgestp.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
debugnet.c debugnet: Use precise types when accessing mbuf contents 2024-10-11 13:23:25 +00:00
debugnet.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
debugnet_inet.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
debugnet_int.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
dlt.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
dummymbuf.c dummymbuf: add 'enlarge' 2025-01-17 17:00:08 +01:00
ethernet.h sys/net: add a new ether_vlanid_t type 2025-04-15 23:42:59 +02:00
firewire.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ieee8023ad_lacp.c machine/stdarg.h -> sys/stdarg.h 2025-06-11 17:39:02 +01:00
ieee8023ad_lacp.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ieee_oui.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if.c if_vlan: add a prototype for vlan_input_p 2025-06-25 16:29:54 +01:00
if.h ifnet: Add handling for toggling IFF_ALLMULTI in ifhwioctl() 2024-09-06 16:58:44 +00:00
if_arp.h Support ARP for 802 networks 2024-04-23 12:30:53 -04:00
if_bridge.c bridge: Remove a redundant assignment of if_type 2025-06-16 22:35:40 +08:00
if_bridgevar.h bridge: allow IP addresses on members to be disabled 2025-05-05 22:47:36 +01:00
if_clone.c if_clone: Use static initializers 2025-03-06 12:51:44 +08:00
if_clone.h if_clone: Use static initializers 2025-03-06 12:51:44 +08:00
if_dead.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
if_disc.c net: Remove unneeded NULL check for the allocated ifnet 2024-06-28 18:16:29 +08:00
if_dl.h link_addr: be more strict about address formats 2025-05-15 01:02:52 +01:00
if_edsc.c net: Remove unneeded NULL check for the allocated ifnet 2024-06-28 18:16:29 +08:00
if_enc.c if_enc(4): Use new KPI to create enc interface 2024-10-12 21:37:53 +08:00
if_enc.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_epair.c net: Remove unneeded NULL check for the allocated ifnet 2024-06-28 18:16:29 +08:00
if_ethersubr.c net: ether_gen_addr: fix address generation 2025-07-02 14:33:52 -05:00
if_fwsubr.c if_firewire: Make firewire_broadcastaddr static const 2025-06-01 22:47:24 +08:00
if_gif.c bpf: Make BPF interop consistent with if_loop 2024-04-19 14:48:37 -04:00
if_gif.h sys: Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:24 -06:00
if_gre.c bpf: Make BPF interop consistent with if_loop 2024-04-19 14:48:37 -04:00
if_gre.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
if_infiniband.c if_infininband: Support BPF write for broadcast frames 2025-02-23 16:13:09 -08:00
if_ipsec.c ipsec: allow it to work with unmapped mbufs 2025-01-13 21:29:32 +02:00
if_ipsec.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_lagg.c lagg: Use static initializers 2025-03-06 12:51:44 +08:00
if_lagg.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_llatbl.c if_llatbl: Fix a typo in a KASSERT message 2024-01-20 21:00:22 +01:00
if_llatbl.h sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
if_llc.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
if_loop.c net: Remove unneeded NULL check for the allocated ifnet 2024-06-28 18:16:29 +08:00
if_me.c bpf: Make BPF interop consistent with if_loop 2024-04-19 14:48:37 -04:00
if_media.c sys: don't panic on ifm_status being NULL 2025-05-06 21:22:18 -07:00
if_media.h net: if_media fix syntax/build 2025-02-08 17:10:27 -07:00
if_mib.c sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_mib.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_ovpn.c if_ovpn: fix use-after-free of mbuf 2025-04-01 16:15:29 +02:00
if_ovpn.h spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
if_pflog.h pf: make log(matches) more useful 2025-02-21 09:11:03 +01:00
if_pfsync.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
if_private.h sys/net: Add IPSEC_OFFLOAD interface cap and methods structure 2024-07-12 06:29:32 +03:00
if_stf.c machine/stdarg.h -> sys/stdarg.h 2025-06-11 17:39:02 +01:00
if_stf.h if_stf: make if_stf.h self-contained 2021-12-17 12:38:34 +01:00
if_strings.h <net/if_strings.h>: Conditionally export table of bit names 2025-04-28 13:05:38 -04:00
if_tap.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
if_tun.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_tuntap.c Internal scheduling priorities: Always use symbolic ones 2025-06-17 22:08:02 -04:00
if_types.h sys: add MBIM (mobile broadband interface module) interface type. 2025-01-20 23:39:17 +00:00
if_var.h send tags: add a status report method 2025-06-10 02:47:12 +03:00
if_vlan.c if_vlan: Fix up if_type before attaching the interface 2025-06-27 00:37:13 +08:00
if_vlan_var.h if_vlan: add a prototype for vlan_input_p 2025-06-25 16:29:54 +01:00
if_vxlan.c if_vxlan(4): Prefer SYSCTL_INT over TUNABLE_INT 2025-01-27 23:54:43 +08:00
if_vxlan.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ifdi_if.m ifdi: fix signature mismatch for null_priv_ioctl 2025-02-25 09:21:51 -05:00
iflib.c iflib: Some style(9) tweaks 2025-06-06 18:04:42 +08:00
iflib.h iflib(4): Replace admin taskqueue group with per-interface taskqueues 2025-01-24 14:08:12 -07:00
ifq.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
ifq.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
infiniband.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
mp_ring.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
mp_ring.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
mppc.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
mppcc.c sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
mppcd.c sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
netisr.c netisr: fix compilation without VIMAGE 2025-01-16 20:32:53 -08:00
netisr.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
netisr_internal.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
netmap.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
netmap_legacy.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
netmap_user.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
netmap_virt.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
paravirt.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
pfil.c pfil: PFIL_PASS never frees the mbuf 2024-01-29 14:10:19 +01:00
pfil.h sys: Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:24 -06:00
pfkeyv2.h sys/pfkeyv2.h: define extensions for ipsec inline accel control 2024-07-12 06:29:31 +03:00
pflow.h pflow: show socket status in verbose mode 2024-01-25 17:37:51 +01:00
pfvar.h pf: Refactor the six ways to find TCP options into one new function. 2025-06-27 16:55:16 +02:00
ppp_defs.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
radix.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
radix.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
rndis.h net: Fix typo (triple S) 2023-12-27 20:24:32 -07:00
route.c net: route: convert routing statistics to a sysctl 2024-10-23 22:15:55 -05:00
route.h ipfw: migrate ipfw to 32-bit size rule numbers 2025-03-03 21:15:17 +03:00
rss_config.c sys: Remove $FreeBSD$: two-line .c pattern 2023-08-16 11:54:30 -06:00
rss_config.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
rtsock.c socket: Move SO_SETFIB handling to protocol layers 2025-02-06 14:16:21 +00:00
sff8436.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
sff8472.h net/sff8472.h: add double-include protection 2025-04-29 06:20:10 +03:00
slcompress.c tcp: extend the use of the th_flags accessor function 2024-11-29 09:48:23 +01:00
slcompress.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
toeplitz.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
toeplitz.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
vnet.c machine/stdarg.h -> sys/stdarg.h 2025-06-11 17:39:02 +01:00
vnet.h vnet: remove unneeded backslash 2024-03-15 12:17:04 -07:00