Family nftables netlink 規範¶
概要¶
透過 netlink 進行 Netfilter nftables 配置。
操作¶
batch-begin¶
開始一批操作
- attribute-set:
- fixed-header:
- do:
- request
- attributes:
[
genid]
- reply
- attributes:
[
genid]
batch-end¶
完成一批操作
- attribute-set:
- fixed-header:
- do:
- request
- attributes:
[
genid]
newtable¶
建立一個新表。
- attribute-set:
- fixed-header:
- do:
- request
- attributes:
[
name]
gettable¶
獲取/轉儲表。
- attribute-set:
- fixed-header:
- do:
- request
- attributes:
[
name]
- reply
- attributes:
[
name]
deltable¶
刪除現有表。
- attribute-set:
- fixed-header:
- do:
- request
- attributes:
[
name]
destroytable¶
刪除具有銷燬語義的現有表(忽略 ENOENT 錯誤)。
- attribute-set:
- fixed-header:
- do:
- request
- attributes:
[
name]
newchain¶
建立一個新鏈。
- attribute-set:
- fixed-header:
- do:
- request
- attributes:
[
name]
getchain¶
獲取/轉儲鏈。
- attribute-set:
- fixed-header:
- do:
- request
- attributes:
[
name]
- reply
- attributes:
[
name]
delchain¶
刪除現有鏈。
- attribute-set:
- fixed-header:
- do:
- request
- attributes:
[
name]
destroychain¶
刪除具有銷燬語義的現有鏈(忽略 ENOENT 錯誤)。
- attribute-set:
- fixed-header:
- do:
- request
- attributes:
[
name]
newrule¶
建立一個新規則。
- attribute-set:
- fixed-header:
- do:
- request
- attributes:
[
name]
getrule¶
獲取/轉儲規則。
- attribute-set:
- fixed-header:
- do:
- request
- attributes:
[
name]
- reply
- attributes:
[
name]
getrule-reset¶
獲取/轉儲規則並重置有狀態表達式。
- attribute-set:
- fixed-header:
- do:
- request
- attributes:
[
name]
- reply
- attributes:
[
name]
delrule¶
刪除現有規則。
- attribute-set:
- fixed-header:
- do:
- request
- attributes:
[
name]
destroyrule¶
刪除具有銷燬語義的現有規則(忽略 ENOENT 錯誤)。
- attribute-set:
- fixed-header:
- do:
- request
- attributes:
[
name]
newset¶
建立一個新集合。
getset¶
獲取/轉儲集合。
delset¶
刪除現有集合。
destroyset¶
刪除具有銷燬語義的現有集合(忽略 ENOENT 錯誤)。
newsetelem¶
建立一個新集合元素。
- attribute-set:
- fixed-header:
- do:
- request
- attributes:
[
name]
getsetelem¶
獲取/轉儲集合元素。
- attribute-set:
- fixed-header:
- do:
- request
- attributes:
[
name]
- reply
- attributes:
[
name]
getsetelem-reset¶
獲取/轉儲集合元素並重置有狀態表達式。
- attribute-set:
- fixed-header:
- do:
- request
- attributes:
[
name]
- reply
- attributes:
[
name]
delsetelem¶
刪除現有集合元素。
- attribute-set:
- fixed-header:
- do:
- request
- attributes:
[
name]
destroysetelem¶
刪除具有銷燬語義的現有集合元素。
- attribute-set:
- fixed-header:
- do:
- request
- attributes:
[
name]
getgen¶
獲取/轉儲規則集生成。
newobj¶
建立一個新的有狀態物件。
getobj¶
獲取/轉儲有狀態物件。
delobj¶
刪除現有的有狀態物件。
destroyobj¶
刪除具有銷燬語義的現有有狀態物件。
newflowtable¶
建立一個新的流表。
- attribute-set:
- fixed-header:
- do:
- request
- attributes:
[
name]
getflowtable¶
獲取/轉儲流表。
- attribute-set:
- fixed-header:
- do:
- request
- attributes:
[
name]
- reply
- attributes:
[
name]
delflowtable¶
刪除現有流表。
- attribute-set:
- fixed-header:
- do:
- request
- attributes:
[
name]
destroyflowtable¶
刪除具有銷燬語義的現有流表。
- attribute-set:
- fixed-header:
- do:
- request
- attributes:
[
name]
多播組¶
mgmt
定義¶
nfgenmsg¶
- type:
struct
- members:
- nfgen-family (
u8): - version (
u8): - res-id (
u16):
- nfgen-family (
meta-keys¶
- type:
enum
- entries:
lenprotocolprioritymarkiifoifiifnameoifnameiftypeoiftypeskuidskgidnftracertclassidsecmarknfprotol4-protobri-iifnamebri-oifnamepkttypecpuiifgroupoifgroupcgroupprandomsecpathiifkindoifkindbri-iifpvidbri-iifvprototime-nstime-daytime-hoursdifsdifnamebri-broute
bitwise-ops¶
- type:
enum
- entries:
boollshiftrshift
cmp-ops¶
- type:
enum
- entries:
eqneqltltegtgte
object-type¶
- type:
enum
- entries:
unspeccounterquotact-helperlimitconnlimittunnelct-timeoutsecmarkct-expectsynproxy
nat-range-flags¶
- type:
flags
- entries:
map-ipsproto-specifiedproto-randompersistentproto-random-fullyproto-offsetnetmap
table-flags¶
- type:
flags
- entries:
dormantownerpersist
chain-flags¶
- type:
flags
- entries:
basehw-offloadbinding
set-flags¶
- type:
flags
- entries:
anonymousconstantintervalmaptimeoutevalobjectconcatexpr
lookup-flags¶
- type:
flags
- entries:
invert
ct-keys¶
- type:
enum
- entries:
statedirectionstatusmarksecmarkexpirationhelperl3protocolsrcdstprotocolproto-srcproto-dstlabelspktsbytesavgpktzoneeventmasksrc-ipdst-ipsrc-ip6dst-ip6ct-id
ct-direction¶
- type:
enum
- entries:
originalreply
quota-flags¶
- type:
flags
- entries:
invertdepleted
verdict-code¶
- type:
enum
- entries:
- continue:
- break:
- jump:
- goto:
- return:
- drop:
- accept:
- stolen:
- queue:
- repeat:
fib-result¶
- type:
enum
- entries:
oifoifnameaddrtype
fib-flags¶
- type:
flags
- entries:
saddrdaddrmarkiifoifpresent
reject-types¶
- type:
enum
- entries:
icmp-unreachtcp-rsticmpx-unreach
屬性集¶
empty-attrs¶
name (string)¶
batch-attrs¶
genid (u32)¶
- byte-order:
big-endian
table-attrs¶
name (string)¶
- doc:
table 的名稱
flags (u32)¶
- byte-order:
big-endian
- doc:
flags 的位掩碼
- enum:
- enum-as-flags:
True
use (u32)¶
- byte-order:
big-endian
- doc:
此表中的鏈數
handle (u64)¶
- byte-order:
big-endian
- doc:
表的數字控制代碼
userdata (binary)¶
- doc:
使用者資料
chain-attrs¶
table (string)¶
- doc:
包含鏈的表的名稱
handle (u64)¶
- byte-order:
big-endian
- doc:
鏈的數字控制代碼
name (string)¶
- doc:
鏈的名稱
hook (nest)¶
- nested-attributes:
- doc:
basechains 的 hook 規範
policy (u32)¶
- byte-order:
big-endian
- doc:
鏈的數字策略
use (u32)¶
- byte-order:
big-endian
- doc:
對此鏈的引用數
type (string)¶
- doc:
鏈的型別名稱
counters (nest)¶
- nested-attributes:
- doc:
鏈的計數器規範
flags (u32)¶
- byte-order:
big-endian
- doc:
鏈 flags
- enum:
- enum-as-flags:
True
id (u32)¶
- byte-order:
big-endian
- doc:
唯一標識事務中的鏈
userdata (binary)¶
- doc:
使用者資料
counter-attrs¶
bytes (u64)¶
- byte-order:
big-endian
packets (u64)¶
- byte-order:
big-endian
pad (pad)¶
nft-hook-attrs¶
num (u32)¶
- byte-order:
big-endian
priority (s32)¶
- byte-order:
big-endian
dev (string)¶
- doc:
網路裝置名稱
devs (nest)¶
- nested-attributes:
- doc:
網路裝置列表
hook-dev-attrs¶
name (string)¶
- multi-attr:
True
nft-counter-attrs¶
bytes (u64)¶
packets (u64)¶
rule-attrs¶
table (string)¶
- doc:
包含規則的表的名稱
chain (string)¶
- doc:
包含規則的鏈的名稱
handle (u64)¶
- byte-order:
big-endian
- doc:
規則的數字控制代碼
expressions (nest)¶
- nested-attributes:
- doc:
表示式列表
compat (nest)¶
- nested-attributes:
- doc:
規則的相容性規範
position (u64)¶
- byte-order:
big-endian
- doc:
前一條規則的數字控制代碼
userdata (binary)¶
- doc:
使用者資料
id (u32)¶
- doc:
唯一標識事務中的規則
position-id (u32)¶
- doc:
前一條規則的事務唯一識別符號
chain-id (u32)¶
- doc:
透過 ID 將規則新增到鏈,作為鏈名稱的替代方法
expr-list-attrs¶
elem (nest)¶
- nested-attributes:
- multi-attr:
True
expr-attrs¶
name (string)¶
- doc:
表示式型別的名稱
data (sub-message)¶
- sub-message:
- selector:
name
- doc:
特定於型別的資料
rule-compat-attrs¶
proto (binary)¶
- doc:
處理協議的數字值
flags (binary)¶
- doc:
flags 的位掩碼
set-attrs¶
table (string)¶
- doc:
表名
name (string)¶
- doc:
設定名稱
flags (u32)¶
- enum:
- byte-order:
big-endian
- doc:
enum nft_set_flags 的位掩碼
key-type (u32)¶
- byte-order:
big-endian
- doc:
鍵資料型別,僅用於提供資訊
key-len (u32)¶
- byte-order:
big-endian
- doc:
鍵資料長度
data-type (u32)¶
- byte-order:
big-endian
- doc:
對映資料型別
data-len (u32)¶
- byte-order:
big-endian
- doc:
對映資料長度
policy (u32)¶
- byte-order:
big-endian
- doc:
選擇策略
desc (nest)¶
- nested-attributes:
- doc:
設定描述
id (u32)¶
- doc:
唯一標識事務中的設定
timeout (u64)¶
- doc:
預設超時值
gc-interval (u32)¶
- doc:
垃圾回收間隔
userdata (binary)¶
- doc:
使用者資料
pad (pad)¶
obj-type (u32)¶
- byte-order:
big-endian
- doc:
有狀態物件型別
handle (u64)¶
- byte-order:
big-endian
- doc:
設定控制代碼
expr (nest)¶
- nested-attributes:
- doc:
設定表示式
- multi-attr:
True
expressions (nest)¶
- nested-attributes:
- doc:
表示式列表
set-desc-attrs¶
size (u32)¶
- byte-order:
big-endian
- doc:
集合中的元素數
concat (nest)¶
- nested-attributes:
- doc:
欄位串聯的描述
- multi-attr:
True
set-desc-concat-attrs¶
elem (nest)¶
- nested-attributes:
set-field-attrs¶
len (u32)¶
- byte-order:
big-endian
set-list-attrs¶
elem (nest)¶
- nested-attributes:
- multi-attr:
True
setelem-attrs¶
key (nest)¶
- nested-attributes:
- doc:
鍵值
data (nest)¶
- nested-attributes:
- doc:
對映的資料值
flags (binary)¶
- doc:
nft_set_elem_flags 的位掩碼
timeout (u64)¶
- doc:
超時值
expiration (u64)¶
- doc:
到期時間
userdata (binary)¶
- doc:
使用者資料
expr (nest)¶
- nested-attributes:
- doc:
表示式
objref (string)¶
- doc:
有狀態物件引用
key-end (nest)¶
- nested-attributes:
- doc:
關閉鍵值
expressions (nest)¶
- nested-attributes:
- doc:
表示式列表
setelem-list-elem-attrs¶
elem (nest)¶
- nested-attributes:
- multi-attr:
True
setelem-list-attrs¶
table (string)¶
set (string)¶
elements (nest)¶
- nested-attributes:
set-id (u32)¶
gen-attrs¶
id (u32)¶
- byte-order:
big-endian
- doc:
規則集生成 ID
proc-pid (u32)¶
- byte-order:
big-endian
proc-name (string)¶
obj-attrs¶
table (string)¶
- doc:
包含表示式的表的名稱
name (string)¶
- doc:
此表示式型別的名稱
type (u32)¶
- enum:
- byte-order:
big-endian
- doc:
有狀態物件型別
data (sub-message)¶
- sub-message:
- selector:
type
- doc:
有狀態物件資料
use (u32)¶
- byte-order:
big-endian
- doc:
對此表示式的引用數
handle (u64)¶
- byte-order:
big-endian
- doc:
物件控制代碼
pad (pad)¶
userdata (binary)¶
- doc:
使用者資料
quota-attrs¶
bytes (u64)¶
- byte-order:
big-endian
flags (u32)¶
- byte-order:
big-endian
- enum:
pad (pad)¶
consumed (u64)¶
- byte-order:
big-endian
flowtable-attrs¶
table (string)¶
name (string)¶
hook (nest)¶
- nested-attributes:
use (u32)¶
- byte-order:
big-endian
handle (u64)¶
- byte-order:
big-endian
pad (pad)¶
flags (u32)¶
- byte-order:
big-endian
flowtable-hook-attrs¶
num (u32)¶
- byte-order:
big-endian
priority (u32)¶
- byte-order:
big-endian
devs (nest)¶
- nested-attributes:
expr-bitwise-attrs¶
sreg (u32)¶
- byte-order:
big-endian
dreg (u32)¶
- byte-order:
big-endian
len (u32)¶
- byte-order:
big-endian
mask (nest)¶
- nested-attributes:
xor (nest)¶
- nested-attributes:
op (u32)¶
- byte-order:
big-endian
- enum:
data (nest)¶
- nested-attributes:
expr-cmp-attrs¶
sreg (u32)¶
- byte-order:
big-endian
op (u32)¶
- byte-order:
big-endian
- enum:
data (nest)¶
- nested-attributes:
data-attrs¶
value (binary)¶
verdict (nest)¶
- nested-attributes:
verdict-attrs¶
code (u32)¶
- byte-order:
big-endian
- enum:
chain (string)¶
chain-id (u32)¶
expr-counter-attrs¶
bytes (u64)¶
- doc:
位元組數
packets (u64)¶
- doc:
資料包數量
pad (pad)¶
expr-fib-attrs¶
dreg (u32)¶
- byte-order:
big-endian
result (u32)¶
- byte-order:
big-endian
- enum:
flags (u32)¶
- byte-order:
big-endian
- enum:
expr-ct-attrs¶
dreg (u32)¶
- byte-order:
big-endian
key (u32)¶
- byte-order:
big-endian
- enum:
direction (u8)¶
- enum:
sreg (u32)¶
- byte-order:
big-endian
expr-flow-offload-attrs¶
name (string)¶
- doc:
流解除安裝表名稱
expr-immediate-attrs¶
dreg (u32)¶
- byte-order:
big-endian
data (nest)¶
- nested-attributes:
expr-lookup-attrs¶
set (string)¶
- doc:
要使用的集合的名稱
set id (u32)¶
- byte-order:
big-endian
- doc:
要使用的集合的 ID
sreg (u32)¶
- byte-order:
big-endian
dreg (u32)¶
- byte-order:
big-endian
flags (u32)¶
- byte-order:
big-endian
- enum:
expr-meta-attrs¶
dreg (u32)¶
- byte-order:
big-endian
key (u32)¶
- byte-order:
big-endian
- enum:
sreg (u32)¶
- byte-order:
big-endian
expr-nat-attrs¶
type (u32)¶
- byte-order:
big-endian
family (u32)¶
- byte-order:
big-endian
reg-addr-min (u32)¶
- byte-order:
big-endian
reg-addr-max (u32)¶
- byte-order:
big-endian
reg-proto-min (u32)¶
- byte-order:
big-endian
reg-proto-max (u32)¶
- byte-order:
big-endian
flags (u32)¶
- byte-order:
big-endian
- enum:
- enum-as-flags:
True
expr-payload-attrs¶
dreg (u32)¶
- byte-order:
big-endian
base (u32)¶
- byte-order:
big-endian
offset (u32)¶
- byte-order:
big-endian
len (u32)¶
- byte-order:
big-endian
sreg (u32)¶
- byte-order:
big-endian
csum-type (u32)¶
- byte-order:
big-endian
csum-offset (u32)¶
- byte-order:
big-endian
csum-flags (u32)¶
- byte-order:
big-endian
expr-reject-attrs¶
type (u32)¶
- byte-order:
big-endian
- enum:
icmp-code (u8)¶
expr-target-attrs¶
name (string)¶
rev (u32)¶
- byte-order:
big-endian
info (binary)¶
expr-tproxy-attrs¶
family (u32)¶
- byte-order:
big-endian
reg-addr (u32)¶
- byte-order:
big-endian
reg-port (u32)¶
- byte-order:
big-endian
expr-objref-attrs¶
imm-type (u32)¶
- byte-order:
big-endian
imm-name (string)¶
- doc:
物件名稱
set-sreg (u32)¶
- byte-order:
big-endian
set-name (string)¶
- doc:
物件對映的名稱
set-id (u32)¶
- byte-order:
big-endian
- doc:
物件對映的 ID
子訊息¶
expr-ops¶
- 按位
- attribute-set:
- 比較
- attribute-set:
- counter
- attribute-set:
- ct
- attribute-set:
- fib
- attribute-set:
- flow_offload
- attribute-set:
- immediate
- attribute-set:
- lookup
- attribute-set:
- meta
- attribute-set:
- nat
- attribute-set:
- objref
- attribute-set:
- payload
- attribute-set:
- quota
- attribute-set:
- reject
- attribute-set:
- target
- attribute-set:
- tproxy
- attribute-set:
obj-data¶
- counter
- attribute-set:
- quota
- attribute-set: