There is a C++ project that is on GitHub [login to view URL]
This simple program was designed to mirror UDP packets from one port to another port.
I need the Linux code modified to support a buffer of user specified size which buffers x packets and allows for packet sequence correction. packet sequence number is from the "identification" field in IP header. See attached tcpdump showing how UDP packets arriving slightly out of sequence on my system. I want the user to be able to add a -p <packets to buffer> flag like:
udp_reflector -p 10 -s pcap0 2010 -d [login to view URL] 4010
in this example command I want the. udp reflector program to:
read packets from the UDP source port into the buffer and once 10 packets are reached in the buffer then for every following packet received, push out the next ordered sequence packet.
Understand that the packet sequence number is 16bit and will loop once it gets to 65535 the next packet will be 0, 1, 2, 3 etc.
If the buffer is full and a packet is missing i.e. ( we have sent packet 1000 but dont have packet 1001) skip this packet and continue by pushing out the next best ordered packet (eg packet 1002).
If for example we are have already sent out packet sequence number 1000 and any packet with sequence less that 990 (current packet sent minus buffer size) comes in, we do not add this packet to the buffer, effectively dropping it.
7 freelancers are bidding on average $151 for this job
Heyy I am expert in computer networking and socket programming and I can help you....................................................................................