classification
Title: UDP sendto() sends duplicate packets
Type: behavior Stage:
Components: Library (Lib) Versions: Python 3.7
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: Andy Papageorgiou, Jeffrey.Kintscher
Priority: normal Keywords:

Created on 2019-07-10 10:51 by Andy Papageorgiou, last changed 2019-07-11 06:24 by Jeffrey.Kintscher.

Messages (1)
msg347614 - (view) Author: Andy Papageorgiou (Andy Papageorgiou) Date: 2019-07-10 10:51
Wireshark reports two identical back to back packets sent for each sendto(), timing between packets is between 2 and 10us.

Note this is on a point to point ethernet (just 1 cable, no switches, routers or anything else in between) to an embedded platform (Zynq ARM) from an intel i7 Window 10 laptop from 2018. The python code is running on the laptop.

python code:
with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as s:
    s.bind(('', 5704))
    while(more_to_send == TRUE)
        <code to populate bytes_to_send>
        s.sendto(bytes_to_send, (HOST, UDP_PORT))
        data = s.recv(1024)

Wireshark log.
43204	80.146000	192.168.1.20	192.168.1.10	UDP	566	5704 → 5604 Len=524 (payload)
43205	80.146003	192.168.1.20	192.168.1.10	UDP	566	5704 → 5604 Len=524 (duplicate at payload time + 3us)
43206	80.149112	192.168.1.10	192.168.1.20	UDP	48	5604 → 5704 Len=6 (ack)
43207	80.149306	192.168.1.20	192.168.1.10	UDP	566	5704 → 5604 Len=524 (payload)
43208	80.149311	192.168.1.20	192.168.1.10	UDP	566	5704 → 5604 Len=524 (duplicate at payload time +5us)

I am suspicious this is an artefact of the point to point link.
History
Date User Action Args
2019-07-11 06:24:47Jeffrey.Kintschersetnosy: + Jeffrey.Kintscher
2019-07-10 12:02:16Andy Papageorgiousettype: behavior
2019-07-10 10:51:03Andy Papageorgioucreate