lxd: github.com/lxc/lxd/lxd/firewall Index | Files | Directories

package firewall

import "github.com/lxc/lxd/lxd/firewall"

Index

Package Files

firewall_interface.go firewall_load.go

type Firewall Uses

type Firewall interface {
    String() string
    Compat() (bool, error)

    NetworkSetupForwardingPolicy(networkName string, ipVersion uint, allow bool) error
    NetworkSetupOutboundNAT(networkName string, subnet *net.IPNet, srcIP net.IP, append bool) error
    NetworkSetupDHCPDNSAccess(networkName string, ipVersion uint) error
    NetworkSetupDHCPv4Checksum(networkName string) error
    NetworkClear(networkName string, ipVersion uint) error

    InstanceSetupBridgeFilter(projectName string, instanceName string, deviceName string, parentName string, hostName string, hwAddr string, IPv4 net.IP, IPv6 net.IP) error
    InstanceClearBridgeFilter(projectName string, instanceName string, deviceName string, parentName string, hostName string, hwAddr string, IPv4 net.IP, IPv6 net.IP) error

    InstanceSetupProxyNAT(projectName string, instanceName string, deviceName string, listen *deviceConfig.ProxyAddress, connect *deviceConfig.ProxyAddress) error
    InstanceClearProxyNAT(projectName string, instanceName string, deviceName string) error

    InstanceSetupRPFilter(projectName string, instanceName string, deviceName string, hostName string) error
    InstanceClearRPFilter(projectName string, instanceName string, deviceName string) error
}

Firewall represents an LXD firewall.

func New Uses

func New() Firewall

New returns an appropriate firewall implementation. Uses xtables if nftables isn't compatible or isn't in use already, otherwise uses nftables.

Directories

PathSynopsis
drivers

Package firewall imports 4 packages (graph) and is imported by 6 packages. Updated 2020-07-06. Refresh now. Tools for package owners.