go.ligato.io/vpp-agent/v3@v3.5.0/proto/ligato/linux/iptables/iptables.proto (about) 1 syntax = "proto3"; 2 3 package ligato.linux.iptables; 4 5 option go_package = "go.ligato.io/vpp-agent/v3/proto/ligato/linux/iptables;linux_iptables"; 6 7 import "ligato/linux/namespace/namespace.proto"; 8 9 message RuleChain { 10 string name = 1; /* logical name of the rule chain across all configured 11 rule chains (mandatory) */ 12 linux.namespace.NetNamespace namespace = 2; /* network namespace in which this rule chain is applied */ 13 14 repeated string interfaces = 3; /* list of interfaces referred by the rules (optional) */ 15 16 enum Protocol { 17 IPV4 = 0; 18 IPV6 = 1; 19 }; 20 Protocol protocol = 4; /* protocol (address family) of the rule chain */ 21 22 enum Table { 23 FILTER = 0; 24 NAT = 1; 25 MANGLE = 2; 26 RAW = 3; 27 SECURITY = 4; 28 }; 29 Table table = 5; /* table the rule chain belongs to */ 30 31 enum ChainType { 32 CUSTOM = 0; 33 INPUT = 1; 34 OUTPUT = 2; 35 FORWARD = 3; 36 PREROUTING = 4; 37 POSTROUTING = 5; 38 39 }; 40 ChainType chain_type = 6; /* type of the chain */ 41 42 string chain_name = 7; /* name of the chain, used only for chains with CUSTOM chain_type */ 43 44 enum Policy { 45 NONE = 0; 46 ACCEPT = 1; 47 DROP = 2; 48 QUEUE = 3; 49 RETURN = 4; 50 } 51 Policy default_policy = 8; /* default policy of the chain. Used for FILTER tables only. */ 52 53 repeated string rules = 10; /* ordered list of strings containing the match and action part of 54 the rules, e.g. "-i eth0 -s 192.168.0.1 -j ACCEPT" */ 55 }