Dear Gentle Folk,
I need a genius to help me with this one.
We have a system of hotspots in ithaca controlled by a portal server written in perl and hosted on a linux box.
Multiple different routers with wireless clients behind them such as AP’s, mikrotiks, and other linux boxes etc, hand out DHCP to wireless clients, and send the
syslog report to the portal server on port 514, daemon/info. The portal software extracts the IP and MAC address from
the syslog packet and enables that IP on our edge router to go to the net.
All our other DHCP servers send single syslog packets containing all DHCP information. The mikrotiks however are sending
mutiple packets, one per line of syslog data, such as ciaddr, yiaddr, chaddr etc. Although the first line has a DHCP ID
in it, none of the rest do, and there is no real way to determine which syslog line goes with which DHCP report. When the incoming DHCP syslog packets are sparse, they all come in, in order, but when very busy, they don’t. Further there is no real way to know if all packets have been received, for certain, for any particular DHCP ID.
Our need is to be able to scan the syslog and determine with certainty the exact yiaddr and chaddr (ip and mac) of any
dhcp request. And this has to happen immediately as the packets are arriving so there is no delay enabling that IP. With packets coming in randomly, out of order and mixed with other dhcp requests, and no way to know if all have actually come in, I am stumped as to how
to program the portal software to deal with mikrotik DHCP syslog responses.
Any help would be appreciate.
Homer W Smith
CEO Lightlink Internet