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