summaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
authormichael-west <michael.west@ettus.com>2014-03-19 17:09:38 -0700
committerBen Hilburn <ben.hilburn@ettus.com>2014-03-26 17:27:46 -0700
commitea8890d52c011fa161e17129268bd369628eb603 (patch)
tree2e98c69bdb358963f79302320793526d2fa02838 /firmware
parent6962543fec1b186bed4ad1332ee601eff07af1e1 (diff)
downloaduhd-ea8890d52c011fa161e17129268bd369628eb603.tar.gz
uhd-ea8890d52c011fa161e17129268bd369628eb603.tar.bz2
uhd-ea8890d52c011fa161e17129268bd369628eb603.zip
BUG #396: X3x0: Packet loss within burst while running full duplex overnight
- Disabled all packet forwarding
Diffstat (limited to 'firmware')
-rw-r--r--firmware/x300/x300/x300_main.c22
1 files changed, 9 insertions, 13 deletions
diff --git a/firmware/x300/x300/x300_main.c b/firmware/x300/x300/x300_main.c
index 809f181ba..d7fd32ac3 100644
--- a/firmware/x300/x300/x300_main.c
+++ b/firmware/x300/x300/x300_main.c
@@ -377,20 +377,16 @@ static void update_forwarding(const uint8_t e)
* packets can be forwarded. If one of the Ethernet interfaces is not
* connected, data backs up until the first interface becomes unresponsive.
*
- * And for more fun, we had to re-enable forwarding of packets that were not
- * addressed to this device's MAC address to work around an issue that was
- * causing sequence errors.
+ * //update forwarding rules
+ * uint32_t forward = 0;
+ * if (!link_state_route_proto_causes_cycle_cached(e, (e+1)%2))
+ * {
+ * forward |= (1 << 0); //forward bcast
+ * forward |= (1 << 1); //forward not mac dest
+ * }
+ * const uint32_t eth_base = (e == 0)? SR_ETHINT0 : SR_ETHINT1;
+ * wb_poke32(SR_ADDR(SET0_BASE, eth_base + 8 + 4), forward);
*/
- //update forwarding rules
- uint32_t forward = 0;
- if (!link_state_route_proto_causes_cycle_cached(e, (e+1)%2))
- {
- //FIXME: Uncomment when forwarding of broadcasts is properly handled
- //forward |= (1 << 0); //forward bcast
- forward |= (1 << 1); //forward not mac dest
- }
- const uint32_t eth_base = (e == 0)? SR_ETHINT0 : SR_ETHINT1;
- wb_poke32(SR_ADDR(SET0_BASE, eth_base + 8 + 4), forward);
}