UDP receive depends on pbuf::tot_len to determine the UDP packet size, but this field is updated when a new packet is appended to the list by calling pbuf_cat. This could mean that multiple UDP packets appear to be a single packet.
To solve this, pbufs need to be chained without modifying the pbuf::tot_len field.
UDP receive depends on
pbuf::tot_len
to determine the UDP packet size, but this field is updated when a new packet is appended to the list by callingpbuf_cat
. This could mean that multiple UDP packets appear to be a single packet.To solve this,
pbufs
need to be chained without modifying thepbuf::tot_len
field.