Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UDP connections from Windows XP #45

Open
ODg opened this issue Apr 17, 2013 · 4 comments
Open

UDP connections from Windows XP #45

ODg opened this issue Apr 17, 2013 · 4 comments

Comments

@ODg
Copy link

ODg commented Apr 17, 2013

Using XC-2s to bridge networks.
Using the latest sc_ethernet for my bridging app, different OS(win7, vista, linux) can connect/transmit UDP with neglible transmission errors/loss due to my radio connection between the 2 XC-2s.
TCP-Connections behave as expected, little bit slower than pure UDP.

Common scenario includes, streaming 1 high bandwidth UDP stream or multiple slower UDP streams.

If Windows XP is used, UDP connections are notably slower, i.e. higher loss, lower sustainable bandwidth.

Promiscuous mode is selected and mac_filter should let everything through.

Ethernet server is started and mac_rx called, my processing done, mac_tx on other XC-2 executed.

Other OS behave as expected with same hardware/firmware.

@ODg
Copy link
Author

ODg commented Apr 19, 2013

Further tinkering with stack defines alleviates the problem somewhat.
Previous settings:
NUM_MII_RX_BUF 12
NUM_MII_TX_BUF 4

ETHERNET_RX_BUFSIZE 8192

every other OS expect Windows XP can stream 10+ Mbit/s
XP caps out at ~8 Mbit

Raising the NUM_MII_RX_BUF to (32) and ETHERNET_RX_BUFSIZE to 32 or 47k somehow allows for UDP streams from a WinXP side to reach 10+ Mbit/s.

Any hint why this happens?
Is it a problem pertaining only to XP?
The default bufsize and number of bufs seems insufficient for receiving high bandwidth streams from XP machines.

Or can someone address the logic behind this?

Greetings
ODg

@ODg ODg closed this as completed Apr 19, 2013
@ODg ODg reopened this Apr 19, 2013
@ODg
Copy link
Author

ODg commented Apr 19, 2013

Hit the wrong button.
I don't consider this closed as the problem exists and newer boards with fewer cores/tiles and memory can't easily use as much space as i on a XC-2.

@ajwlucas
Copy link
Member

Hi,

Can you submit a support ticket at http://www.xmos.com/contact/support with the necessary scripts and program to duplicate the issue?

Thanks,
Andy

@ODg
Copy link
Author

ODg commented Apr 19, 2013

It won't be easy to replicate as the received network traffic (by the first XC-2) is sent over a high bandwidth radio system, but i guess it can be replicated by a straight connection between to boards, and sent out again by a second XC-2.

In essence receive unfiltered traffic, process for radio, send over radio. Receive and process network messages on the other side and send out again.

Increasing the bufs and bufsize was the only change performed to get the UDP streams from Windows XP to somewhat work. Other OS perform fine with lower settings/defines.

I'll try to scrap some code together.

Performance testing was done using iperf on both sides and sending fairly large packets (1448 Bytes of payload) with relativly high bandwidths 10+Mbit/s.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants