components/pflogd/pflogd.Solaris/pflog
author Petr Hoffmann <petr.hoffmann@oracle.com>
Tue, 08 Mar 2016 22:31:41 -0800
changeset 5565 f678cc44b3d0
permissions -rwxr-xr-x
PSARC/2014/291 PFLOGD: Packet Logging for PF PSARC/2014/292 FTP-PROXY: PF FTP-proxy supporting IPv4 NAT 22351416 deliver pflogd 22330374 deliver ftp-proxy
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5565
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
     1
#!/sbin/sh
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
     2
#
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
     3
#
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
     4
# CDDL HEADER START
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
     5
#
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
     6
# The contents of this file are subject to the terms of the
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
     7
# Common Development and Distribution License (the "License").
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
     8
# You may not use this file except in compliance with the License.
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
     9
#
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    10
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    11
# or http://www.opensolaris.org/os/licensing.
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    12
# See the License for the specific language governing permissions
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    13
# and limitations under the License.
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    14
#
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    15
# When distributing Covered Code, include this CDDL HEADER in each
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    16
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    17
# If applicable, add the following below this CDDL HEADER, with the
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    18
# fields enclosed by brackets "[]" replaced with your own identifying
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    19
# information: Portions Copyright [yyyy] [name of copyright owner]
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    20
#
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    21
# CDDL HEADER END
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    22
#
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    23
#
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    24
# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    25
#
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    26
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    27
. /lib/svc/share/smf_include.sh
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    28
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    29
PATH=$PATH:/usr/sbin
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    30
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    31
# Retrieve an unescaped property value from a method token.
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    32
# Arguments:
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    33
# - raw method token value
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    34
# Outputs:
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    35
# - unescaped property value
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    36
# Returns:
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    37
# - 0 on succes
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    38
# - 1 when unescaping failed
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    39
# - 2 when the value is empty
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    40
function get_property
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    41
{
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    42
	VALUE="$(echo "$1" | /usr/bin/sed 's/\\\(.\)/\1/g')"
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    43
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    44
	if [[ $? -ne 0 ]]; then
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    45
		exit 1
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    46
	fi
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    47
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    48
	echo "$VALUE"
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    49
}
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    50
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    51
function failure
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    52
{
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    53
	echo "An unknown error occurred. Probably either /usr/bin/sed is"
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    54
	echo "missing or system resources are exhausted."
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    55
	exit $SMF_EXIT_ERR_FATAL
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    56
}
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    57
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    58
# store and unescape property values
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    59
PFLOGD_LOGFILE="$(get_property "$2")" || failure
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    60
PFLOGD_SNAPLEN="$(get_property "$3")" || failure
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    61
PFLOGD_IFACE="$(get_property "$4")" || failure
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    62
PFLOGD_DELAY="$(get_property "$5")" || failure
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    63
PFLOGD_FILTER="$(get_property "$6")" || failure
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    64
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    65
# check property values for emptiness (pflog/filter may be empty)
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    66
if [[ -z $PFLOGD_LOGFILE ]]; then
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    67
	echo "The pflog/logfile property cannot be empty."
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    68
	exit $SMF_EXIT_ERR_FATAL
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    69
fi
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    70
if [[ -z $PFLOGD_SNAPLEN ]]; then
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    71
	echo "The pflog/snaplen property cannot be empty."
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    72
	exit $SMF_EXIT_ERR_FATAL
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    73
fi
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    74
if [[ -z $PFLOGD_IFACE ]]; then
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    75
	echo "The pflog/interface property cannot be empty."
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    76
	exit $SMF_EXIT_ERR_FATAL
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    77
fi
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    78
if [[ -z $PFLOGD_DELAY ]]; then
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    79
	echo "The pflog/delay property cannot be empty."
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    80
	exit $SMF_EXIT_ERR_FATAL
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    81
fi
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    82
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    83
case "$1" in
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    84
	start)
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    85
		# Create non-persistent capture link if it does not exist.
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    86
		echo "Checking if capture link exists.."
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    87
		dladm show-cap "$PFLOGD_IFACE"
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    88
		if [[ $? -ne 0 ]] ; then
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    89
			echo "Creating a temporary capture link.."
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    90
			dladm create-cap -t "$PFLOGD_IFACE"
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    91
			if [ $? -ne 0 ] ; then
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    92
				exit $SMF_EXIT_ERR_FATAL
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    93
			fi
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    94
		fi
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    95
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    96
		# Start the daemon.
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    97
		smf_clear_env
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    98
		pflogd -i "$PFLOGD_IFACE" -s "$PFLOGD_SNAPLEN" \
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
    99
		    -f "$PFLOGD_LOGFILE" -d "$PFLOGD_DELAY" "$PFLOGD_FILTER"
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
   100
		if [[ $? -ne 0 ]] ; then
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
   101
			exit $SMF_EXIT_ERR_FATAL
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
   102
		fi
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
   103
		;;
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
   104
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
   105
	*)
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
   106
		echo "Usage: $0 \c" >&2
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
   107
		echo "(start)" >&2
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
   108
		exit 1
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
   109
		;;
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
   110
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
   111
esac
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
   112
f678cc44b3d0 PSARC/2014/291 PFLOGD: Packet Logging for PF
Petr Hoffmann <petr.hoffmann@oracle.com>
parents:
diff changeset
   113
exit $SMF_EXIT_OK