Documentation

Overview

    Package ebtables allows to control the ebtables Linux-based bridging firewall. Both chains and rules can be added, deleted and modified. For ebtables specific documentation see: http://ebtables.netfilter.org/

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    This section is empty.

    Types

    type Chain

    type Chain string

      Chain is an Ebtables chain type

      const (
      	ChainPostrouting Chain = "POSTROUTING"
      	ChainPrerouting  Chain = "PREROUTING"
      	ChainOutput      Chain = "OUTPUT"
      	ChainInput       Chain = "INPUT"
      	ChainBrouting    Chain = "BROUTING"
      )

        Chains that are built-in in ebtables

        type Interface

        type Interface interface {
        	// GetVersion returns the "X.Y.Z" semver string for ebtables.
        	GetVersion() (string, error)
        	// EnsureRule checks if the specified rule is present and, if not, creates it.  If the rule existed, return true.
        	// WARNING: ebtables does not provide check operation like iptables do. Hence we have to do a string match of args.
        	// Input args must follow the format and sequence of ebtables list output. Otherwise, EnsureRule will always create
        	// new rules and causing duplicates.
        	EnsureRule(position RulePosition, table Table, chain Chain, args ...string) (bool, error)
        	// DeleteRule checks if the specified rule is present and, if so, deletes it.
        	DeleteRule(table Table, chain Chain, args ...string) error
        	// EnsureChain checks if the specified chain is present and, if not, creates it.  If the rule existed, return true.
        	EnsureChain(table Table, chain Chain) (bool, error)
        	// DeleteChain deletes the specified chain.  If the chain did not exist, return error.
        	DeleteChain(table Table, chain Chain) error
        	// FlushChain flush the specified chain.  If the chain did not exist, return error.
        	FlushChain(table Table, chain Chain) error
        }

          Interface for running ebtables commands. Implementations must be goroutine-safe.

          func New

          func New(exec utilexec.Interface) Interface

            New returns a new Interface which will exec ebtables.

            type RulePosition

            type RulePosition string

              RulePosition is the rule position within a table

              const (
              	Prepend RulePosition = "-I"
              	Append  RulePosition = "-A"
              )

                Relative position for a new rule

                type Table

                type Table string

                  Table is an Ebtables table type

                  const (
                  	TableNAT    Table = "nat"
                  	TableFilter Table = "filter"
                  	TableBroute Table = "broute"
                  )

                    Tables available in ebtables by default

                    Source Files