Date: Fri, 09 Feb 2007 15:58:20 +0200 From: Artis Caune <Artis.Caune@latnet.lv> To: freebsd-net@FreeBSD.org Subject: synchronising information between kernel modules Message-ID: <45CC7DFC.7020306@latnet.lv>
next in thread | raw e-mail | index | archive | help
I would like to hear some ideas about how to synchronise information over network between two or more kernel modules. Topology: We have to FreeBSD boxes, which sit between two cisco switches and do traffic policy(shaping). Switches are connected with GigaChannel link (two physical links) and load balance traffic based on src,dst IP address. FreeBSD boxes sit between each physical GigaChannel link. Kernel module: It simpy pass or drop packets and increment counters. After every pass or drop or configuration change I need to tell other boxes about this action. I can use multicasts, like pfsync does, but multicasts are not reliable. If pfsync update is lost, it will be updated in next update or state time out. If our update is lost, specialy configuration update, bad things can happen. And there is problem with registering this module as kernel level multicast protocol - need to modify kernel sorurce and recompile. I can use ip_output and catch it on other box with pfil hooks, but it's not reliable. Maybe some kind of send_update + wait_for_ack option? I can also use userland daemon which establish conection with all peers and send/receive updates. Updates must be copied between kernel and userland.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45CC7DFC.7020306>