+++ /dev/null
-#
-# Ethernet frame types
-# This file describes some of the various Ethernet
-# protocol types that are used on Ethernet networks.
-#
-# This list could be found on:
-# http://www.iana.org/assignments/ethernet-numbers
-#
-# <name> <hexnumber> <alias1>...<alias35> #Comment
-#
-IPv4 0800 ip ip4 # Internet IP (IPv4)
-X25 0805
-ARP 0806 ether-arp #
-FR_ARP 0808 # Frame Relay ARP [RFC1701]
-BPQ 08FF # G8BPQ AX.25 Ethernet Packet
-DEC 6000 # DEC Assigned proto
-DNA_DL 6001 # DEC DNA Dump/Load
-DNA_RC 6002 # DEC DNA Remote Console
-DNA_RT 6003 # DEC DNA Routing
-LAT 6004 # DEC LAT
-DIAG 6005 # DEC Diagnostics
-CUST 6006 # DEC Customer use
-SCA 6007 # DEC Systems Comms Arch
-TEB 6558 # Trans Ether Bridging [RFC1701]
-RAW_FR 6559 # Raw Frame Relay [RFC1701]
-AARP 80F3 # Appletalk AARP
-ATALK 809B # Appletalk
-802_1Q 8100 8021q 1q 802.1q dot1q # 802.1Q Virtual LAN tagged frame
-IPX 8137 # Novell IPX
-NetBEUI 8191 # NetBEUI
-IPv6 86DD ip6 # IP version 6
-PPP 880B # PPP
-ATMMPOA 884C # MultiProtocol over ATM
-PPP_DISC 8863 # PPPoE discovery messages
-PPP_SES 8864 # PPPoE session messages
-ATMFATE 8884 # Frame-based ATM Transport over Ethernet
-LOOP 9000 loopback # loop proto
+++ /dev/null
-#!/sbin/runscript
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-extra_commands="save panic"
-extra_started_commands="reload"
-
-ebtables_bin="/sbin/ebtables"
-ebtables_save=${EBTABLES_SAVE}
-
-depend() {
- before net
- use logger
-}
-
-ebtables_tables() {
- for table in filter nat broute; do
- if ${ebtables_bin} -t ${table} -L > /dev/null 2>&1; then
- echo -n "${table} "
- fi
- done
-}
-
-set_table_policy() {
- local chains table=$1 policy=$2
- case ${table} in
- nat) chains="PREROUTING POSTROUTING OUTPUT";;
- broute) chains="BROUTING";;
- filter) chains="INPUT FORWARD OUTPUT";;
- *) chains="";;
- esac
- local chain
- for chain in ${chains} ; do
- ${ebtables_bin} -t ${table} -P ${chain} ${policy}
- done
-}
-
-checkconfig() {
- if [ ! -f ${ebtables_save} ] ; then
- eerror "Not starting ebtables. First create some rules then run:"
- eerror "/etc/init.d/ebtables save"
- return 1
- fi
- return 0
-}
-
-start() {
- checkconfig || return 1
- ebegin "Loading ebtables state and starting bridge firewall"
- ${ebtables_bin}-restore ${SAVE_RESTORE_OPTIONS} < "${ebtables_save}"
- eend $?
-}
-
-stop() {
- if [ "${SAVE_ON_STOP}" = "yes" ] ; then
- save || return 1
- fi
- ebegin "Stopping bridge firewall"
- local a
- for a in $(ebtables_tables); do
- set_table_policy $a ACCEPT
-
- ${ebtables_bin} -t $a -F
- ${ebtables_bin} -t $a -X
- done
- eend $?
-}
-
-reload() {
- ebegin "Flushing bridge firewall"
- local a
- for a in $(ebtables_tables); do
- ${ebtables_bin} -t $a -F
- ${ebtables_bin} -t $a -X
- done
- eend $?
-
- start
-}
-
-save() {
- ebegin "Saving ebtables state"
- touch "${ebtables_save}"
- chmod 0600 "${ebtables_save}"
- ${ebtables_bin}-save $(ebtables_tables) ${SAVE_RESTORE_OPTIONS} > "${ebtables_save}"
- eend $?
-}
-
-panic() {
- service_started ebtables && svc_stop
-
- local a
- ebegin "Dropping all packets forwarded on bridges"
- for a in $(ebtables_tables); do
- ${ebtables_bin} -t $a -F
- ${ebtables_bin} -t $a -X
-
- set_table_policy $a DROP
- done
- eend $?
-}