Merge pull request #338 from DrDoof/fix/lag-hash-default

port: make the trunk hash default reachable again, and per group
This commit is contained in:
René van Dorst
2026-08-15 21:01:09 +00:00
committed by GitHub
2 changed files with 8 additions and 3 deletions
+6 -3
View File
@@ -757,11 +757,14 @@ void port_lag_members_set(__xdata uint8_t lag, __xdata uint16_t members) __banke
{ {
print_string("port_lag_members_set, lag: "); print_byte(lag); print_string(", members: "); print_short(members); print_string("port_lag_members_set, lag: "); print_byte(lag); print_string(", members: "); print_short(members);
write_char('\n'); write_char('\n');
if (lag > 3) if (lag > 3) {
print_string("Link aggregation group must be 0-3!\n"); print_string("Link aggregation group must be 0-3!\n");
return;
}
reg_read_m(RTL837X_TRK_HASH_CTRL_BASE + (lag << 2)); reg_read_m(RTL837X_TRK_HASH_CTRL_BASE + (lag << 2));
if (!(sfr_data[0] | sfr_data [1] | sfr_data [2] | sfr_data [3])) if (!(sfr_data[0] | sfr_data[1] | sfr_data[2])
REG_SET(RTL837X_TRK_HASH_CTRL_BASE, LAG_HASH_DEFAULT); && (sfr_data[3] == LAG_HASH_RESET || sfr_data[3] == 0))
REG_SET(RTL837X_TRK_HASH_CTRL_BASE + (lag << 2), LAG_HASH_DEFAULT);
REG_WRITE(RTL837X_TRK_MBR_CTRL_BASE + (lag << 2), 0, 0, members >> 8, members & 0xff); REG_WRITE(RTL837X_TRK_MBR_CTRL_BASE + (lag << 2), 0, 0, members >> 8, members & 0xff);
} }
+2
View File
@@ -232,6 +232,8 @@
#define LAG_HASH_L4_SPORT 0x20 #define LAG_HASH_L4_SPORT 0x20
#define LAG_HASH_L4_DPORT 0x40 #define LAG_HASH_L4_DPORT 0x40
#define LAG_HASH_DEFAULT (LAG_HASH_L2_SMAC | LAG_HASH_L2_DMAC | LAG_HASH_L3_SIP | LAG_HASH_L3_DIP | LAG_HASH_L4_SPORT | LAG_HASH_L4_DPORT) #define LAG_HASH_DEFAULT (LAG_HASH_L2_SMAC | LAG_HASH_L2_DMAC | LAG_HASH_L3_SIP | LAG_HASH_L3_DIP | LAG_HASH_L4_SPORT | LAG_HASH_L4_DPORT)
#define LAG_HASH_RESET (LAG_HASH_SOURCE_PORT_NUMBER | LAG_HASH_L2_SMAC | LAG_HASH_L2_DMAC \
| LAG_HASH_L3_SIP | LAG_HASH_L3_DIP | LAG_HASH_L4_SPORT)
/* /*
* Port isolation * Port isolation