Hi All,

<current situation>
A windows 2008 server is receiving TCP traffic from a stock exchange
and sends it, almost as is, using UDP multicast to automated high
frequancy traders.

StockExchange --TCP---> windows2008 ---MCAST-UDP---->

On average, the time it take to do the TCP to UDP translation, using
winsock, is 240 micro seconds. It can even be as high as 60,000 micro
seconds.
</current situation>

<my idea>
1. Use port mirroring to get the TCP data sent to a dedicated OpenBSD
box with two NICs. One for the TCP, the other for the multicast UDP.
2. Put the TCP port in a promiscuous mode.
3. Write my TCP->UDP logic directly into ether_input.c
</my idea>

Now for the questions:
1. Am I on the right track? or in other words how crazy is my idea?
2. What would be the latency? Can I achieve 50 microseconds between
getting the interrupt and until sending the new packet through the
NIC?
3. Which NIC/CPU/Memory should I use? Money is not a problem.

Thanks,
Dan

Reply via email to