Logo

Linux 核心

6.16.0-rc4

快速搜尋

目錄

  • 開發流程
  • 提交補丁
  • 行為準則
  • 維護者手冊
  • 所有開發流程文件
  • 核心 API
  • 驅動 API
  • 子系統
    • 核心子系統
    • 人機介面
    • 網路介面
      • 網路
      • NetLabel
      • InfiniBand
      • ISDN
      • MHI
    • 儲存介面
    • 其他子系統
  • 鎖定
  • 許可規則
  • 編寫文件
  • 開發工具
  • 測試指南
  • 駭客指南
  • 跟蹤
  • 故障注入
  • Livepatching
  • Rust
  • 管理
  • 構建系統
  • 報告問題
  • 使用者空間工具
  • 使用者空間 API
  • 韌體
  • 韌體和裝置樹
  • CPU 架構
  • 未排序的文件
  • 翻譯

本頁

  • 顯示原始碼

Family nftables netlink 規範¶

目錄

  • Family nftables netlink 規範

    • 概要

    • 操作

      • batch-begin

      • batch-end

      • newtable

      • gettable

      • deltable

      • destroytable

      • newchain

      • getchain

      • delchain

      • destroychain

      • newrule

      • getrule

      • getrule-reset

      • delrule

      • destroyrule

      • newset

      • getset

      • delset

      • destroyset

      • newsetelem

      • getsetelem

      • getsetelem-reset

      • delsetelem

      • destroysetelem

      • getgen

      • newobj

      • getobj

      • delobj

      • destroyobj

      • newflowtable

      • getflowtable

      • delflowtable

      • destroyflowtable

    • 多播組

    • 定義

      • nfgenmsg

      • meta-keys

      • bitwise-ops

      • cmp-ops

      • object-type

      • nat-range-flags

      • table-flags

      • chain-flags

      • set-flags

      • lookup-flags

      • ct-keys

      • ct-direction

      • quota-flags

      • verdict-code

      • fib-result

      • fib-flags

      • reject-types

    • 屬性集

      • empty-attrs

      • batch-attrs

      • table-attrs

      • chain-attrs

      • counter-attrs

      • nft-hook-attrs

      • hook-dev-attrs

      • nft-counter-attrs

      • rule-attrs

      • expr-list-attrs

      • expr-attrs

      • rule-compat-attrs

      • set-attrs

      • set-desc-attrs

      • set-desc-concat-attrs

      • set-field-attrs

      • set-list-attrs

      • setelem-attrs

      • setelem-list-elem-attrs

      • setelem-list-attrs

      • gen-attrs

      • obj-attrs

      • quota-attrs

      • flowtable-attrs

      • flowtable-hook-attrs

      • expr-bitwise-attrs

      • expr-cmp-attrs

      • data-attrs

      • verdict-attrs

      • expr-counter-attrs

      • expr-fib-attrs

      • expr-ct-attrs

      • expr-flow-offload-attrs

      • expr-immediate-attrs

      • expr-lookup-attrs

      • expr-meta-attrs

      • expr-nat-attrs

      • expr-payload-attrs

      • expr-reject-attrs

      • expr-target-attrs

      • expr-tproxy-attrs

      • expr-objref-attrs

    • 子訊息

      • expr-ops

      • obj-data

概要¶

透過 netlink 進行 Netfilter nftables 配置。

操作¶

batch-begin¶

開始一批操作

attribute-set:

batch-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[genid]

reply
attributes:

[genid]

batch-end¶

完成一批操作

attribute-set:

batch-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[genid]

newtable¶

建立一個新表。

attribute-set:

table-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

gettable¶

獲取/轉儲表。

attribute-set:

table-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

reply
attributes:

[name]

deltable¶

刪除現有表。

attribute-set:

table-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

destroytable¶

刪除具有銷燬語義的現有表(忽略 ENOENT 錯誤)。

attribute-set:

table-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

newchain¶

建立一個新鏈。

attribute-set:

chain-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

getchain¶

獲取/轉儲鏈。

attribute-set:

chain-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

reply
attributes:

[name]

delchain¶

刪除現有鏈。

attribute-set:

chain-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

destroychain¶

刪除具有銷燬語義的現有鏈(忽略 ENOENT 錯誤)。

attribute-set:

chain-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

newrule¶

建立一個新規則。

attribute-set:

rule-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

getrule¶

獲取/轉儲規則。

attribute-set:

rule-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

reply
attributes:

[name]

getrule-reset¶

獲取/轉儲規則並重置有狀態表達式。

attribute-set:

rule-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

reply
attributes:

[name]

delrule¶

刪除現有規則。

attribute-set:

rule-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

destroyrule¶

刪除具有銷燬語義的現有規則(忽略 ENOENT 錯誤)。

attribute-set:

rule-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

newset¶

建立一個新集合。

attribute-set:

set-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

getset¶

獲取/轉儲集合。

attribute-set:

set-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

reply
attributes:

[name]

delset¶

刪除現有集合。

attribute-set:

set-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

destroyset¶

刪除具有銷燬語義的現有集合(忽略 ENOENT 錯誤)。

attribute-set:

set-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

newsetelem¶

建立一個新集合元素。

attribute-set:

setelem-list-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

getsetelem¶

獲取/轉儲集合元素。

attribute-set:

setelem-list-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

reply
attributes:

[name]

getsetelem-reset¶

獲取/轉儲集合元素並重置有狀態表達式。

attribute-set:

setelem-list-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

reply
attributes:

[name]

delsetelem¶

刪除現有集合元素。

attribute-set:

setelem-list-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

destroysetelem¶

刪除具有銷燬語義的現有集合元素。

attribute-set:

setelem-list-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

getgen¶

獲取/轉儲規則集生成。

attribute-set:

gen-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

reply
attributes:

[name]

newobj¶

建立一個新的有狀態物件。

attribute-set:

obj-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

getobj¶

獲取/轉儲有狀態物件。

attribute-set:

obj-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

reply
attributes:

[name]

delobj¶

刪除現有的有狀態物件。

attribute-set:

obj-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

destroyobj¶

刪除具有銷燬語義的現有有狀態物件。

attribute-set:

obj-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

newflowtable¶

建立一個新的流表。

attribute-set:

flowtable-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

getflowtable¶

獲取/轉儲流表。

attribute-set:

flowtable-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

reply
attributes:

[name]

delflowtable¶

刪除現有流表。

attribute-set:

flowtable-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

destroyflowtable¶

刪除具有銷燬語義的現有流表。

attribute-set:

flowtable-attrs

fixed-header:

nfgenmsg

do:
request
attributes:

[name]

多播組¶

  • mgmt

定義¶

nfgenmsg¶

type:

struct

members:
nfgen-family (u8):

version (u8):

res-id (u16):

meta-keys¶

type:

enum

entries:
  • len

  • protocol

  • priority

  • mark

  • iif

  • oif

  • iifname

  • oifname

  • iftype

  • oiftype

  • skuid

  • skgid

  • nftrace

  • rtclassid

  • secmark

  • nfproto

  • l4-proto

  • bri-iifname

  • bri-oifname

  • pkttype

  • cpu

  • iifgroup

  • oifgroup

  • cgroup

  • prandom

  • secpath

  • iifkind

  • oifkind

  • bri-iifpvid

  • bri-iifvproto

  • time-ns

  • time-day

  • time-hour

  • sdif

  • sdifname

  • bri-broute

bitwise-ops¶

type:

enum

entries:
  • bool

  • lshift

  • rshift

cmp-ops¶

type:

enum

entries:
  • eq

  • neq

  • lt

  • lte

  • gt

  • gte

object-type¶

type:

enum

entries:
  • unspec

  • counter

  • quota

  • ct-helper

  • limit

  • connlimit

  • tunnel

  • ct-timeout

  • secmark

  • ct-expect

  • synproxy

nat-range-flags¶

type:

flags

entries:
  • map-ips

  • proto-specified

  • proto-random

  • persistent

  • proto-random-fully

  • proto-offset

  • netmap

table-flags¶

type:

flags

entries:
  • dormant

  • owner

  • persist

chain-flags¶

type:

flags

entries:
  • base

  • hw-offload

  • binding

set-flags¶

type:

flags

entries:
  • anonymous

  • constant

  • interval

  • map

  • timeout

  • eval

  • object

  • concat

  • expr

lookup-flags¶

type:

flags

entries:
  • invert

ct-keys¶

type:

enum

entries:
  • state

  • direction

  • status

  • mark

  • secmark

  • expiration

  • helper

  • l3protocol

  • src

  • dst

  • protocol

  • proto-src

  • proto-dst

  • labels

  • pkts

  • bytes

  • avgpkt

  • zone

  • eventmask

  • src-ip

  • dst-ip

  • src-ip6

  • dst-ip6

  • ct-id

ct-direction¶

type:

enum

entries:
  • original

  • reply

quota-flags¶

type:

flags

entries:
  • invert

  • depleted

verdict-code¶

type:

enum

entries:
continue:

break:

jump:

goto:

return:

drop:

accept:

stolen:

queue:

repeat:

fib-result¶

type:

enum

entries:
  • oif

  • oifname

  • addrtype

fib-flags¶

type:

flags

entries:
  • saddr

  • daddr

  • mark

  • iif

  • oif

  • present

reject-types¶

type:

enum

entries:
  • icmp-unreach

  • tcp-rst

  • icmpx-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:

table-flags

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:

nft-hook-attrs

doc:

basechains 的 hook 規範

policy (u32)¶

byte-order:

big-endian

doc:

鏈的數字策略

use (u32)¶

byte-order:

big-endian

doc:

對此鏈的引用數

type (string)¶

doc:

鏈的型別名稱

counters (nest)¶

nested-attributes:

nft-counter-attrs

doc:

鏈的計數器規範

flags (u32)¶

byte-order:

big-endian

doc:

鏈 flags

enum:

chain-flags

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:

hook-dev-attrs

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:

expr-list-attrs

doc:

表示式列表

compat (nest)¶

nested-attributes:

rule-compat-attrs

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:

expr-attrs

multi-attr:

True

expr-attrs¶

name (string)¶

doc:

表示式型別的名稱

data (sub-message)¶

sub-message:

expr-ops

selector:

name

doc:

特定於型別的資料

rule-compat-attrs¶

proto (binary)¶

doc:

處理協議的數字值

flags (binary)¶

doc:

flags 的位掩碼

set-attrs¶

table (string)¶

doc:

表名

name (string)¶

doc:

設定名稱

flags (u32)¶

enum:

set-flags

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:

set-desc-attrs

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:

expr-attrs

doc:

設定表示式

multi-attr:

True

expressions (nest)¶

nested-attributes:

set-list-attrs

doc:

表示式列表

set-desc-attrs¶

size (u32)¶

byte-order:

big-endian

doc:

集合中的元素數

concat (nest)¶

nested-attributes:

set-desc-concat-attrs

doc:

欄位串聯的描述

multi-attr:

True

set-desc-concat-attrs¶

elem (nest)¶

nested-attributes:

set-field-attrs

set-field-attrs¶

len (u32)¶

byte-order:

big-endian

set-list-attrs¶

elem (nest)¶

nested-attributes:

expr-attrs

multi-attr:

True

setelem-attrs¶

key (nest)¶

nested-attributes:

data-attrs

doc:

鍵值

data (nest)¶

nested-attributes:

data-attrs

doc:

對映的資料值

flags (binary)¶

doc:

nft_set_elem_flags 的位掩碼

timeout (u64)¶

doc:

超時值

expiration (u64)¶

doc:

到期時間

userdata (binary)¶

doc:

使用者資料

expr (nest)¶

nested-attributes:

expr-attrs

doc:

表示式

objref (string)¶

doc:

有狀態物件引用

key-end (nest)¶

nested-attributes:

data-attrs

doc:

關閉鍵值

expressions (nest)¶

nested-attributes:

expr-list-attrs

doc:

表示式列表

setelem-list-elem-attrs¶

elem (nest)¶

nested-attributes:

setelem-attrs

multi-attr:

True

setelem-list-attrs¶

table (string)¶

set (string)¶

elements (nest)¶

nested-attributes:

setelem-list-elem-attrs

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:

object-type

byte-order:

big-endian

doc:

有狀態物件型別

data (sub-message)¶

sub-message:

obj-data

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:

quota-flags

pad (pad)¶

consumed (u64)¶

byte-order:

big-endian

flowtable-attrs¶

table (string)¶

name (string)¶

hook (nest)¶

nested-attributes:

flowtable-hook-attrs

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:

hook-dev-attrs

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:

data-attrs

xor (nest)¶

nested-attributes:

data-attrs

op (u32)¶

byte-order:

big-endian

enum:

bitwise-ops

data (nest)¶

nested-attributes:

data-attrs

expr-cmp-attrs¶

sreg (u32)¶

byte-order:

big-endian

op (u32)¶

byte-order:

big-endian

enum:

cmp-ops

data (nest)¶

nested-attributes:

data-attrs

data-attrs¶

value (binary)¶

verdict (nest)¶

nested-attributes:

verdict-attrs

verdict-attrs¶

code (u32)¶

byte-order:

big-endian

enum:

verdict-code

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:

fib-result

flags (u32)¶

byte-order:

big-endian

enum:

fib-flags

expr-ct-attrs¶

dreg (u32)¶

byte-order:

big-endian

key (u32)¶

byte-order:

big-endian

enum:

ct-keys

direction (u8)¶

enum:

ct-direction

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:

data-attrs

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:

lookup-flags

expr-meta-attrs¶

dreg (u32)¶

byte-order:

big-endian

key (u32)¶

byte-order:

big-endian

enum:

meta-keys

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:

nat-range-flags

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:

reject-types

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:

    expr-bitwise-attrs

  • 比較
    attribute-set:

    expr-cmp-attrs

  • counter
    attribute-set:

    expr-counter-attrs

  • ct
    attribute-set:

    expr-ct-attrs

  • fib
    attribute-set:

    expr-fib-attrs

  • flow_offload
    attribute-set:

    expr-flow-offload-attrs

  • immediate
    attribute-set:

    expr-immediate-attrs

  • lookup
    attribute-set:

    expr-lookup-attrs

  • meta
    attribute-set:

    expr-meta-attrs

  • nat
    attribute-set:

    expr-nat-attrs

  • objref
    attribute-set:

    expr-objref-attrs

  • payload
    attribute-set:

    expr-payload-attrs

  • quota
    attribute-set:

    quota-attrs

  • reject
    attribute-set:

    expr-reject-attrs

  • target
    attribute-set:

    expr-target-attrs

  • tproxy
    attribute-set:

    expr-tproxy-attrs

obj-data¶

  • counter
    attribute-set:

    counter-attrs

  • quota
    attribute-set:

    quota-attrs

©The kernel development community. | Powered by Sphinx 5.3.0 & Alabaster 0.7.16 | Page source