Index: /src/router/services/sysinit/sysinit-broadcom.c =================================================================== --- /src/router/services/sysinit/sysinit-broadcom.c (revision 8453) +++ /src/router/services/sysinit/sysinit-broadcom.c (revision 8455) @@ -362,4 +362,6 @@ nvram_unset ("port_swap"); + int need_reboot = 0; + switch (brand) { @@ -396,4 +398,5 @@ { nvram_set ("et0macaddr", "00:16:E3:00:00:10"); //fix for missing cfe default = dead LAN ports. + need_reboot = 1; } break; @@ -407,4 +410,5 @@ { nvram_set ("et0macaddr", "00:0C:6E:00:00:10"); //fix for missing cfe default = dead LAN ports. + need_reboot = 1; } break; @@ -565,5 +569,8 @@ } - /* fix il0macaddr to be lanmac+2*/ + /* fix il0macaddr to be lanmac+2 */ + if (nvram_get ("il0macaddr") = NULL) + need_reboot = 1; + unsigned char mac[20]; if (nvram_match ("port_swap", "1")) @@ -613,4 +620,12 @@ break; } + + if (need_reboot) + { + cprintf ("Need reboot now to set some mac addresses\n"); + nvram_commit (); + kill (1, SIGTERM); + exit (0); + } /* Modules */