[PATCH] rockchip: board: assign up to 3 static Ethernet MAC addresses

Quentin Schulz quentin.schulz at cherry.de
Fri Jun 27 16:49:59 CEST 2025


Hi Micha,

On 6/18/25 6:24 PM, MichaIng wrote:
> Hi Quentin,
> 
>  > Please keep the ML in Cc.
> 
> Was too late for me yesterday :).
> 
>  > We currently have 137 defconfigs for Rockchip boards (git grep -l
>  > ARCH_ROCKCHIP configs/ | wc -l), so not sure 3 is a reasonable 
> threshold :)
> 
> I mean just for us/me, coding efforts and maintaining a patch, it is 
> easier to do it right there, where it is done right now for ethaddr and 
> eth1addr already for all Rockchip boards, instead of creating overrides 
> for 3 particular boards. I hope an additional eth2addr is fine for now, 
> until we found a better/more generic solution.
> 

Up to Kever, no strong opinion on this.

[...]

>  > Not sure to understand what you want to do here or what's the issue 
> sorry.
>  >
>  > You need also eth*addr for use in U-Boot (if you do PXE, TFTP, ping,
>  > whatever involving networking) so it makes sense to have them in U-Boot
>  > DT as well.
> 
> U-Boot assigns those variables to ethernet aliases on its own device 
> tree as well? Would be reasonable, but for me this is minor. At least I 

If DM_SEQ_ALIAS is enabled, I believe so.

> did not hear from a case where someone was complaining about a random 
> MAC address for network boot.
> 

I would imagine people be surprised if the same device operates under 
two different MAC addresses depending on which SW is running at the 
moment (U-Boot or Linux for example).

> What I aim for is U-Boot assigning static MAC addresses to ethernet 
> aliases defined in/for the kernel device tree, better in a more generic 
> than specific way, so it does not need to be changed again each time a 
> new SBC (with new SoC) with multiple onboard Ethernet adapters arrives. 
> Adding the aliases to the kernel device tree is then a different topic, 
> not related to U-Boot, which I however aim to achieve upstream as well. 
> If U-Boot syncs these back, it allows static MAC addresses for related 
> adapters in U-Boot phase as well, of course.
> 
>  > U-Boot may point to ethernet1 in kernel for example, in which case MAC
>  > addresses may all get swapped between U-Boot and kernel. This is
>  > theoretically possible, not sure how likely it is to happen though.
> 
> That could happpen already now with the often at least 2 aliases 
> defined. I wonder whether it can cause issues with PXE boot etc. In the 
> cases I know, a dedicated dtb is shipped as well, and I am not even sure 
> whether the network connection remains the same between U-Boot phase and 
> kernel phase? In any case, as long as any new generic MAC assignment 

I would assume the kernel to be reconfiguring the network stack while 
booting anyway, with renegotiation and all, but just a gut feeling, 
nothing to back this up.

To sum up, not much against this patch except that it's not ideal to add 
an environment variable most boards don't have a use for (but probably 
so is eth1addr :) ), and I think we would benefit from some generic 
implementation to set random Ethernet MAC addresses based on ethernet 
aliases in DT.

Cheers,
Quentin


More information about the U-Boot mailing list