Summary: | [re] if_re doesn't generate MAC address if hardware has none | ||||||
---|---|---|---|---|---|---|---|
Product: | Base System | Reporter: | Evgeni Golov <evgeni> | ||||
Component: | kern | Assignee: | Warner Losh <imp> | ||||
Status: | Closed FIXED | ||||||
Severity: | Affects Only Me | CC: | emaste, freebsd, zlei | ||||
Priority: | --- | Flags: | linimon:
mfc-stable13?
|
||||
Version: | 13.0-RELEASE | ||||||
Hardware: | Any | ||||||
OS: | Any | ||||||
Attachments: |
|
Description
Evgeni Golov
2022-03-07 19:33:15 UTC
ether_gen_addr(ifp, (struct ether_addr *)eaddr); works much better if you cast properly (eaddr is a plain char array in if_re.c) Created attachment 232309 [details]
patch to use ether_gen_addr
> [1] https://www.dfrobot.com/product-2242.html
The fix is simple, but still deserves a test on hardware such as mentioned [1].
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=55747938b5c4c913f742fd03189f0c660ced7bef commit 55747938b5c4c913f742fd03189f0c660ced7bef Author: Evgeni Golov <evgeni@debian.org> AuthorDate: 2023-02-27 22:50:56 +0000 Commit: Warner Losh <imp@FreeBSD.org> CommitDate: 2023-02-27 22:51:27 +0000 if_re: Generate an address if there is none in the EEPROM There exists hardware that has no ethernet address burned into the EEPROM. Loading if_re on such a HW brings the device up with '00:00:00:00:00:00' as the address, and that doesn't get you too far in a real network. PR: 262406 Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/670 Signed-off-by: Evgeni Golov <evgeni@debian.org> Differential Revision: https://reviews.freebsd.org/D34485 sys/dev/re/if_re.c | 5 +++++ 1 file changed, 5 insertions(+) this was merged and it's slated for MFC, so i think we can close it ^Triage: assign to committer to see if there is any mfc-stable13 interest. A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=fcb6cac22397ecfc3fa9eaa9957a86a2fb639c8f commit fcb6cac22397ecfc3fa9eaa9957a86a2fb639c8f Author: Evgeni Golov <evgeni@debian.org> AuthorDate: 2023-02-27 22:50:56 +0000 Commit: Warner Losh <imp@FreeBSD.org> CommitDate: 2024-02-19 02:52:41 +0000 if_re: Generate an address if there is none in the EEPROM There exists hardware that has no ethernet address burned into the EEPROM. Loading if_re on such a HW brings the device up with '00:00:00:00:00:00' as the address, and that doesn't get you too far in a real network. PR: 262406 Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/670 Signed-off-by: Evgeni Golov <evgeni@debian.org> Differential Revision: https://reviews.freebsd.org/D34485 (cherry picked from commit 55747938b5c4c913f742fd03189f0c660ced7bef) sys/dev/re/if_re.c | 5 +++++ 1 file changed, 5 insertions(+) |