---
name: l4ip
version: 1.0.294
origin: net/l4ip
comment: L4 health check daemon for IPFILTER
arch: freebsd:9:x86:64
www: http://www.lundman.net/unix/l4ip.php
maintainer: leeym@FreeBSD.org
prefix: /usr/local
licenselogic: single
flatsize: 161998
desc: |
  The idea is that IPFilter in its current state can already do a simple L4
  round-robin in its NAT rules. However, it does not detect or sense when a
  service and/or host is down. It will continue to send requests to a downed
  service/host.

  However, IPFilter lets us add and remove rules on-the-fly so it should be
  possible to build a daemon that lets you specify "clusters". In each cluster
  you would specify its members/hosts and services. As well as a health-check
  for the service to determine its current state.

  Once a service was deemed "up" we would add a Round-Robin rule to the NAT
  table, and naturally, the reverse once we detect a service as being "down".

  In addition to this, this program can optionally add ipf rules to log for RST
  (reset) packets coming from the members of your clusters. In the situations
  where the software/port goes down, but the host itself is still working, we
  would detect failure instantly. (Since the forwarded connections to the service
  would trigger a RST packet back). If this option is enabled, l4ip spawns the
  "ipmon" command to monitor for the "log" entries given when such a packet is
  detected. l4ip will then mark the service down. This is an add-on feature and
  is strictly not necessary for functional usage. It is currently only supported
  for TCP.

  WWW: http://www.lundman.net/unix/l4ip.php
categories: [net]
files:
  /usr/local/etc/l4ip.conf.sample: 276efe4facc0932ce036a42e70f2a695faa564873347eefaf5fdbee917018ee0
  /usr/local/sbin/l4ip: 749ce279bc2bf21ca5e6c7c244fd3dd9d12d15c8475b3d4b7db4c8dbcf9fc082
  /usr/local/share/examples/l4ip/apache1.conf: fee51fb6412b3133ea167158e872439f0eb30649ad91fd88ac1fad9194a38d1a
  /usr/local/share/examples/l4ip/apache2.conf: 814fa06b1a281f93cf90c761a8979d053d6154e926d62e7e0b11450214593959
  /usr/local/share/examples/l4ip/dns1.conf: c6c46271be086f614251e82ae69231984d7e66454924fe88ef624cd149d982da
  /usr/local/share/examples/l4ip/dns2.conf: 96bf91e5028c22bffcdc236cae573acf4308292b280ee9f99711b9bc0ca78fbc
  /usr/local/share/examples/l4ip/ftp1.conf: 6d0784b9545d5d24a937578e09b3195bb0d6417943e2e6b2aab6fe26453e03ee
  /usr/local/share/examples/l4ip/ftp2.conf: fc7a6a6ca12ee967ad5798d1411e00e9265260c724a48936f78a7c5100674ca5
  /usr/local/share/examples/l4ip/ldap.conf: f015e76f6616db052e7b34a316e4d55af45f99f4860208d7d9a4beec7a774d2b
  /usr/local/share/examples/l4ip/ldap1.conf: f015e76f6616db052e7b34a316e4d55af45f99f4860208d7d9a4beec7a774d2b
  /usr/local/share/examples/l4ip/ldap2.conf: 33d001fc436e7155d5e5e44fdb82a496ab2ffb6b8e8dd39140961070d1ec8013
directories:
  /usr/local/share/examples/l4ip/: n
scripts:
  post-install: |
    [ -f /usr/local/etc/l4ip.conf ] || cp /usr/local/etc/l4ip.conf.sample /usr/local/etc/l4ip.conf
  pre-deinstall: |
    if cmp -s /usr/local/etc/l4ip.conf /usr/local/etc/l4ip.conf.sample; then rm -f /usr/local/etc/l4ip.conf; fi
