Forum Discussion
Chris_Phillips
Nimbostratus
Jun 15, 2007converting UDP connections to TCP
I'm going out on a limb in the way i'm asking this... but how can I convert UDP packet payloads into TCP connections on the server side?
i'm aware this is normally a really stupid thoughtless question showing i don't understand TCP/IP any more than my cat. but my situation is that i have a bunch of Cisco Catalyst switches which only send syslog data as UDP packets. these packets are (to my knowledge) only ever one packet long, and just hit the remote syslog server and get logged. i'm wanting to put a virtual server infront of my syslog servers, to provide a better architecture, and would really like to be able to somehow craft an irule to take the UDP payload content and convert it to a TCP connection to whichever backend server i'm currently connected to. this should then be able to provide a more scalable and reliable architecture for otherwise unreliable traffic. any clues which way iRules would do this?
As i can take a UDP::payload or TCP::payload and do whatever i want with that raw data in an iRule i'm trusting you guys and girls can tell me how to put that payload into TCP onwards...
Thanks
Chris
- hoolio
Cirrostratus
I'm going to go out on a limb here and say this isn't possible. When you define a virtual server, you need to specify a protocol of UDP or TCP. The clientside and serverside profiles have to be the same protocol. I don't know of anyway to work around this. But if someone else has ideas, I'd like to see. - Chris_Phillips
Nimbostratus
no, there's no mechanism on the client side, but i can say that if a switch can get a syslog message in UDP to one of my two pairs of LTM 6400's then from that point on i can guarantee that it will reach one of the 4 members of the syslog server pool via tcp, which can't give me that level of assurance / resilience from a single IP address. - JRahm
Admin
You could use BEEP depending on your Cisco OS level - Chris_Phillips
Nimbostratus
IOS for our catalyst switches (2950, 2960, 3750 etc...) only go up to 12.2, not sure why cisco haven't released 12.4 or even 12.3 for them, but that's life. if they did then they'd be able to use TCP syslog in the first place and i wouldn't be writing this thread... - Chris_Phillips
Nimbostratus
saw this thread just now, and maybe this is more of a tanglible approach to take.... just in my situation i'd want to use the udp payload as the log message itself and never forward to a pool. - hoolio
Cirrostratus
That's an interesting approach. In 9.4 you can access a VIP from the command line of the BIG-IP itself. You might be able to configure syslog-ng to use a VIP as the destination for messages. I haven't tested it and I assume it's not something F5 would necessarily support, but it might work. - Chris_Phillips
Nimbostratus
well it's totally syslog centric, but i wouldn't be suprised if there are few other angles for doing something like this. i guess this raises issues about what an LTM is used for and how is it considered by the given end user... may well be a bastardisation / misuse of the system... mind you we're using our LTM's as NTP servers, which is probably about as bad! - hoolio
Cirrostratus
I'm not sure what the logic was in previous versions or why it was changed in 9.4. However, it's handy being able to test the VIP directly from the BIG-IP. You can also reference a VIP from a rule. However, for reasons unknown, I don't think you can add a VIP as a node in a pool (yet?).
Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects