type RulePosition …
const Prepend …
const Append …
type Interface …
type Protocol …
const ProtocolIPv4 …
const ProtocolIPv6 …
type Table …
const TableNAT …
const TableFilter …
const TableMangle …
type Chain …
const ChainPostrouting …
const ChainPrerouting …
const ChainOutput …
const ChainInput …
const ChainForward …
const cmdIPTablesSave …
const cmdIPTablesRestore …
const cmdIPTables …
const cmdIP6TablesRestore …
const cmdIP6TablesSave …
const cmdIP6Tables …
type RestoreCountersFlag …
const RestoreCounters …
const NoRestoreCounters …
type FlushFlag …
const FlushTables …
const NoFlushTables …
var MinCheckVersion …
var RandomFullyMinVersion …
var WaitMinVersion …
var WaitIntervalMinVersion …
var WaitSecondsMinVersion …
var WaitRestoreMinVersion …
const WaitString …
const WaitSecondsValue …
const WaitIntervalString …
const WaitIntervalUsecondsValue …
const LockfilePath16x …
const LockfilePath14x …
type runner …
func newInternal(exec utilexec.Interface, protocol Protocol, lockfilePath14x, lockfilePath16x string) Interface { … }
func New(exec utilexec.Interface, protocol Protocol) Interface { … }
func (runner *runner) EnsureChain(table Table, chain Chain) (bool, error) { … }
func (runner *runner) FlushChain(table Table, chain Chain) error { … }
func (runner *runner) DeleteChain(table Table, chain Chain) error { … }
func (runner *runner) EnsureRule(position RulePosition, table Table, chain Chain, args ...string) (bool, error) { … }
func (runner *runner) DeleteRule(table Table, chain Chain, args ...string) error { … }
func (runner *runner) IsIPv6() bool { … }
func (runner *runner) Protocol() Protocol { … }
func (runner *runner) SaveInto(table Table, buffer *bytes.Buffer) error { … }
func (runner *runner) Restore(table Table, data []byte, flush FlushFlag, counters RestoreCountersFlag) error { … }
func (runner *runner) RestoreAll(data []byte, flush FlushFlag, counters RestoreCountersFlag) error { … }
type iptablesLocker …
func (runner *runner) restoreInternal(args []string, data []byte, flush FlushFlag, counters RestoreCountersFlag) error { … }
func iptablesSaveCommand(protocol Protocol) string { … }
func iptablesRestoreCommand(protocol Protocol) string { … }
func iptablesCommand(protocol Protocol) string { … }
func (runner *runner) run(op operation, args []string) ([]byte, error) { … }
func (runner *runner) runContext(ctx context.Context, op operation, args []string) ([]byte, error) { … }
func (runner *runner) checkRule(table Table, chain Chain, args ...string) (bool, error) { … }
var hexnumRE …
func trimhex(s string) string { … }
func (runner *runner) checkRuleWithoutCheck(table Table, chain Chain, args ...string) (bool, error) { … }
func (runner *runner) checkRuleUsingCheck(args []string) (bool, error) { … }
const iptablesFlushTimeout …
const iptablesFlushPollTime …
func (runner *runner) Monitor(canary Chain, tables []Table, reloadFunc func(), interval time.Duration, stopCh <-chan struct{ … }
func (runner *runner) ChainExists(table Table, chain Chain) (bool, error) { … }
type operation …
const opCreateChain …
const opFlushChain …
const opDeleteChain …
const opListChain …
const opCheckRule …
const opDeleteRule …
func makeFullArgs(table Table, chain Chain, args ...string) []string { … }
const iptablesVersionPattern …
func getIPTablesVersion(exec utilexec.Interface, protocol Protocol) (*utilversion.Version, error) { … }
func getIPTablesWaitFlag(version *utilversion.Version) []string { … }
func getIPTablesRestoreWaitFlag(version *utilversion.Version, exec utilexec.Interface, protocol Protocol) []string { … }
func getIPTablesRestoreVersionString(exec utilexec.Interface, protocol Protocol) (string, error) { … }
func (runner *runner) HasRandomFully() bool { … }
func (runner *runner) Present() bool { … }
var iptablesNotFoundStrings …
func IsNotFoundError(err error) bool { … }
const iptablesStatusResourceProblem …
func isResourceError(err error) bool { … }
type ParseError …
type parseError …
func (e parseError) Line() int { … }
func (e parseError) Error() string { … }
type LineData …
var regexpParseError …
func parseRestoreError(str string) (ParseError, bool) { … }
func ExtractLines(lines []byte, line, count int) []LineData { … }