There has been a number of discussions on the RB951G-2HnD and the ToH page lists that the ethernet patch is required for rev3 boards (but doesn't specifically say it breaks v1/2 boards).
https://openwrt.org/toh/mikrotik/rb951g_2hnd
Is there a reason why the patch couldn't just be merged into mainline
--- target/linux/ar71xx/files/arch/mips/ath79/mach-rb95x.c
+++ target/linux/ar71xx/files/arch/mips/ath79/mach-rb95x.c
@@ -199,6 +199,7 @@
return;
ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0 |
+ AR934X_ETH_CFG_RXD_DELAY |
AR934X_ETH_CFG_SW_ONLY_MODE);
ath79_register_mdio(0, 0x0);
@@ -209,6 +210,7 @@
ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
ath79_eth0_data.phy_mask = BIT(0);
+ ath79_eth0_pll_data.pll_1000 = 0x6f000000;
ath79_register_eth(0);
And using 6f rather than 3e to improve performance.
I'm wondering why this patch has never been included in mainline?