• Cedric Roux's avatar
    hotfix: fix bad RLC UM packet creation · 934f0bcf
    Cedric Roux authored
    Running TCP DL traffic with one connected UE showed a lot of
    fluctuations in throughput. After analysis it was found that
    sometimes the RLC UM PDU was not correct. It contained one byte
    more than it should. On the receiver side, the TCP packet
    contained in the RLC packet seems to be rejected by the TCP
    stack of the UE (it has one byte more than it should),
    leading to a brutal reduction of the throughput, probably due
    to some congestion detection in the TCP implementation.
    Or something.
    
    This hotfix seems to solve the problem. Using iperf in downlink
    with a 5MHz eNB, we see no more fluctuations, the traffic is
    very steady at 16.8Mb/s, as reported by the iperf server running
    on the phone. (17.5 in the PHY plot of the T tracer.)
    
    A rewrite of both the MAC and RLC UM packet generation is needed.
    The code is way too complex for what it does and may contain
    several similar problems that only trigger in specific rare
    conditions.
    934f0bcf
rlc_um_segment.c 31.6 KB