diff options
author | michael-west <michael.west@ettus.com> | 2014-03-19 17:09:38 -0700 |
---|---|---|
committer | Ben Hilburn <ben.hilburn@ettus.com> | 2014-03-26 17:27:46 -0700 |
commit | ea8890d52c011fa161e17129268bd369628eb603 (patch) | |
tree | 2e98c69bdb358963f79302320793526d2fa02838 /firmware | |
parent | 6962543fec1b186bed4ad1332ee601eff07af1e1 (diff) | |
download | uhd-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.c | 22 |
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); } |