Logo

Linux 内核

6.13.0-rc6

快速搜索

目录

  • 开发流程
  • 提交补丁
  • 行为准则
  • 维护者手册
  • 所有开发流程文档
  • 核心 API
  • 驱动 API
  • 子系统
    • 核心子系统
    • 人机接口
    • 网络接口
      • 网络
      • NetLabel
      • InfiniBand
      • ISDN
      • MHI
    • 存储接口
    • 其他子系统
  • 锁定
  • 许可规则
  • 编写文档
  • 开发工具
  • 测试指南
  • 黑客指南
  • 跟踪
  • 故障注入
  • 实时补丁
  • 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:
请求
attributes:

[genid]

回复
attributes:

[genid]

batch-end¶

完成批量操作

attribute-set:

batch-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[genid]

newtable¶

创建一个新表。

attribute-set:

table-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

gettable¶

获取/转储表。

attribute-set:

table-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

回复
attributes:

[name]

deltable¶

删除现有表。

attribute-set:

table-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

destroytable¶

使用销毁语义删除现有表(忽略 ENOENT 错误)。

attribute-set:

table-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

newchain¶

创建一个新链。

attribute-set:

chain-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

getchain¶

获取/转储链。

attribute-set:

chain-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

回复
attributes:

[name]

delchain¶

删除现有链。

attribute-set:

chain-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

destroychain¶

使用销毁语义删除现有链(忽略 ENOENT 错误)。

attribute-set:

chain-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

newrule¶

创建一个新规则。

attribute-set:

rule-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

getrule¶

获取/转储规则。

attribute-set:

rule-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

回复
attributes:

[name]

getrule-reset¶

获取/转储规则并重置有状态表达式。

attribute-set:

rule-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

回复
attributes:

[name]

delrule¶

删除现有规则。

attribute-set:

rule-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

destroyrule¶

使用销毁语义删除现有规则(忽略 ENOENT 错误)。

attribute-set:

rule-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

newset¶

创建一个新集合。

attribute-set:

set-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

getset¶

获取/转储集合。

attribute-set:

set-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

回复
attributes:

[name]

delset¶

删除现有集合。

attribute-set:

set-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

destroyset¶

使用销毁语义删除现有集合(忽略 ENOENT 错误)。

attribute-set:

set-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

newsetelem¶

创建一个新集合元素。

attribute-set:

setelem-list-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

getsetelem¶

获取/转储集合元素。

attribute-set:

setelem-list-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

回复
attributes:

[name]

getsetelem-reset¶

获取/转储集合元素并重置有状态表达式。

attribute-set:

setelem-list-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

回复
attributes:

[name]

delsetelem¶

删除现有集合元素。

attribute-set:

setelem-list-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

destroysetelem¶

使用销毁语义删除现有集合元素。

attribute-set:

setelem-list-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

getgen¶

获取/转储规则集生成。

attribute-set:

gen-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

回复
attributes:

[name]

newobj¶

创建一个新的有状态对象。

attribute-set:

obj-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

getobj¶

获取/转储有状态对象。

attribute-set:

obj-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

回复
attributes:

[name]

delobj¶

删除现有有状态对象。

attribute-set:

obj-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

destroyobj¶

使用销毁语义删除现有有状态对象。

attribute-set:

obj-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

newflowtable¶

创建一个新流表。

attribute-set:

flowtable-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

getflowtable¶

获取/转储流表。

attribute-set:

flowtable-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

回复
attributes:

[name]

delflowtable¶

删除现有流表。

attribute-set:

flowtable-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

destroyflowtable¶

使用销毁语义删除现有流表。

attribute-set:

flowtable-attrs

fixed-header:

nfgenmsg

do:
请求
attributes:

[name]

多播组¶

  • mgmt

定义¶

nfgenmsg¶

类型:

结构体

成员:
nfgen-family (u8):

版本 (u8):

res-id (u16):

meta-keys¶

类型:

枚举

条目:
  • 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¶

类型:

枚举

条目:
  • bool

  • lshift

  • rshift

cmp-ops¶

类型:

枚举

条目:
  • eq

  • neq

  • lt

  • lte

  • gt

  • gte

object-type¶

类型:

枚举

条目:
  • unspec

  • counter

  • quota

  • ct-helper

  • limit

  • connlimit

  • tunnel

  • ct-timeout

  • secmark

  • ct-expect

  • synproxy

nat-range-flags¶

类型:

flags

条目:
  • map-ips

  • proto-specified

  • proto-random

  • persistent

  • proto-random-fully

  • proto-offset

  • netmap

表标志¶

类型:

flags

条目:
  • 休眠

  • 所有者

  • 持久

链标志¶

类型:

flags

条目:
  • 基础

  • 硬件卸载

  • 绑定

设置标志¶

类型:

flags

条目:
  • 匿名

  • 常量

  • 间隔

  • 映射

  • 超时

  • 计算

  • 对象

  • 连接

  • 表达式

查找标志¶

类型:

flags

条目:
  • 反转

连接跟踪键¶

类型:

枚举

条目:
  • 状态

  • 方向

  • 状态

  • mark

  • secmark

  • 过期

  • 助手

  • 三层协议

  • 源

  • 目标

  • protocol

  • 协议源

  • 协议目标

  • 标签

  • 数据包

  • 字节

  • 平均数据包大小

  • 区域

  • 事件掩码

  • 源 IP

  • 目标 IP

  • 源 IPv6

  • 目标 IPv6

  • 连接跟踪 ID

连接跟踪方向¶

类型:

枚举

条目:
  • 原始

  • 回复

配额标志¶

类型:

flags

条目:
  • 反转

  • 耗尽

判决代码¶

类型:

枚举

条目:
继续:

中断:

跳转:

转到:

返回:

丢弃:

接受:

窃取:

排队:

重复:

FIB 结果¶

类型:

枚举

条目:
  • oif

  • oifname

  • 地址类型

FIB 标志¶

类型:

flags

条目:
  • 源地址

  • 目标地址

  • mark

  • iif

  • oif

  • 存在

拒绝类型¶

类型:

枚举

条目:
  • ICMP 不可达

  • TCP RST

  • ICMPx 不可达

属性集¶

空属性¶

名称 (string)¶

批量属性¶

genid (u32)¶

字节序:

大端

表属性¶

名称 (string)¶

文档:

表的名称

标志 (u32)¶

字节序:

大端

文档:

标志的位掩码

枚举:

table-flags

枚举作为标志:

真

使用 (u32)¶

字节序:

大端

文档:

此表中的链数

句柄 (u64)¶

字节序:

大端

文档:

表的数字句柄

用户数据 (binary)¶

文档:

用户数据

链属性¶

表 (string)¶

文档:

包含链的表的名称

句柄 (u64)¶

字节序:

大端

文档:

链的数字句柄

名称 (string)¶

文档:

链的名称

钩子 (nest)¶

嵌套属性:

nft-hook-attrs

文档:

基础链的钩子规范

策略 (u32)¶

字节序:

大端

文档:

链的数字策略

使用 (u32)¶

字节序:

大端

文档:

对此链的引用数

类型 (string)¶

文档:

链的类型名称

计数器 (nest)¶

嵌套属性:

nft-counter-attrs

文档:

链的计数器规范

标志 (u32)¶

字节序:

大端

文档:

链标志

枚举:

chain-flags

枚举作为标志:

真

ID (u32)¶

字节序:

大端

文档:

在事务中唯一标识一个链

用户数据 (binary)¶

文档:

用户数据

计数器属性¶

字节 (u64)¶

字节序:

大端

数据包 (u64)¶

字节序:

大端

填充 (pad)¶

nft 钩子属性¶

编号 (u32)¶

字节序:

大端

优先级 (s32)¶

字节序:

大端

设备 (string)¶

文档:

网络设备名称

设备列表 (nest)¶

嵌套属性:

hook-dev-attrs

文档:

网络设备列表

钩子设备属性¶

名称 (string)¶

多属性:

真

nft 计数器属性¶

字节 (u64)¶

数据包 (u64)¶

规则属性¶

表 (string)¶

文档:

包含该规则的表的名称

链 (string)¶

文档:

包含该规则的链的名称

句柄 (u64)¶

字节序:

大端

文档:

规则的数字句柄

表达式 (nest)¶

嵌套属性:

expr-list-attrs

文档:

表达式列表

兼容性 (nest)¶

嵌套属性:

rule-compat-attrs

文档:

规则的兼容性规范

位置 (u64)¶

字节序:

大端

文档:

上一条规则的数字句柄

用户数据 (binary)¶

文档:

用户数据

ID (u32)¶

文档:

在事务中唯一标识一条规则

位置 ID (u32)¶

文档:

上一条规则的事务唯一标识符

链 ID (u32)¶

文档:

通过 ID 将规则添加到链,作为链名称的替代方法

表达式列表属性¶

元素 (nest)¶

嵌套属性:

expr-attrs

多属性:

真

表达式属性¶

名称 (string)¶

文档:

表达式类型的名称

数据(子消息)¶

子消息:

expr-ops

选择器:

名称

文档:

特定类型的数据

规则兼容属性¶

协议(二进制)¶

文档:

已处理协议的数值

标志(二进制)¶

文档:

标志的位掩码

设置属性¶

表(字符串)¶

文档:

表名

名称(字符串)¶

文档:

设置名称

标志(u32)¶

枚举:

set-flags

字节序:

大端

文档:

枚举 nft_set_flags 的位掩码

键类型(u32)¶

字节序:

大端

文档:

键数据类型,仅用于信息目的

键长度(u32)¶

字节序:

大端

文档:

键数据长度

数据类型(u32)¶

字节序:

大端

文档:

映射数据类型

数据长度(u32)¶

字节序:

大端

文档:

映射数据长度

策略(u32)¶

字节序:

大端

文档:

选择策略

描述(嵌套)¶

嵌套属性:

set-desc-attrs

文档:

设置描述

ID(u32)¶

文档:

唯一标识事务中的集合

超时(u64)¶

文档:

默认超时值

垃圾回收间隔(u32)¶

文档:

垃圾回收间隔

用户数据(二进制)¶

文档:

用户数据

填充(填充)¶

对象类型(u32)¶

字节序:

大端

文档:

有状态对象类型

句柄(u64)¶

字节序:

大端

文档:

设置句柄

表达式(嵌套)¶

嵌套属性:

expr-attrs

文档:

设置表达式

多属性:

真

表达式(嵌套)¶

嵌套属性:

set-list-attrs

文档:

表达式列表

设置描述属性¶

大小(u32)¶

字节序:

大端

文档:

集合中的元素数量

连接(嵌套)¶

嵌套属性:

set-desc-concat-attrs

文档:

字段连接的描述

多属性:

真

设置描述连接属性¶

元素(嵌套)¶

嵌套属性:

set-field-attrs

设置字段属性¶

长度(u32)¶

字节序:

大端

设置列表属性¶

元素(嵌套)¶

嵌套属性:

expr-attrs

多属性:

真

设置元素属性¶

键(嵌套)¶

嵌套属性:

data-attrs

文档:

键值

数据(嵌套)¶

嵌套属性:

data-attrs

文档:

映射的数据值

标志(二进制)¶

文档:

nft_set_elem_flags 的位掩码

超时(u64)¶

文档:

超时值

到期时间(u64)¶

文档:

到期时间

用户数据(二进制)¶

文档:

用户数据

表达式(嵌套)¶

嵌套属性:

expr-attrs

文档:

表达式

对象引用(字符串)¶

文档:

有状态对象引用

键结束(嵌套)¶

嵌套属性:

data-attrs

文档:

结束键值

表达式(嵌套)¶

嵌套属性:

expr-list-attrs

文档:

表达式列表

设置元素列表元素属性¶

元素(嵌套)¶

嵌套属性:

setelem-attrs

多属性:

真

设置元素列表属性¶

表(字符串)¶

集合(字符串)¶

元素(嵌套)¶

嵌套属性:

setelem-list-elem-attrs

集合ID(u32)¶

生成属性¶

ID(u32)¶

字节序:

大端

文档:

规则集生成 ID

进程 PID(u32)¶

字节序:

大端

进程名称(字符串)¶

对象属性¶

表(字符串)¶

文档:

包含表达式的表的名称

名称(字符串)¶

文档:

此表达式类型的名称

类型(u32)¶

枚举:

object-type

字节序:

大端

文档:

有状态对象类型

数据(子消息)¶

子消息:

obj-data

选择器:

类型

文档:

有状态对象数据

使用(u32)¶

字节序:

大端

文档:

对此表达式的引用数量

句柄(u64)¶

字节序:

大端

文档:

对象句柄

填充(填充)¶

用户数据(二进制)¶

文档:

用户数据

配额属性¶

字节(u64)¶

字节序:

大端

标志(u32)¶

字节序:

大端

枚举:

quota-flags

填充(填充)¶

已消耗(u64)¶

字节序:

大端

流表属性¶

表(字符串)¶

名称(字符串)¶

钩子(嵌套)¶

嵌套属性:

flowtable-hook-attrs

使用(u32)¶

字节序:

大端

句柄(u64)¶

字节序:

大端

填充(填充)¶

标志(u32)¶

字节序:

大端

流表钩子属性¶

编号(u32)¶

字节序:

大端

优先级 (u32)¶

字节序:

大端

设备 (nest)¶

嵌套属性:

hook-dev-attrs

expr-bitwise-attrs¶

源寄存器 (u32)¶

字节序:

大端

目标寄存器 (u32)¶

字节序:

大端

长度 (u32)¶

字节序:

大端

掩码 (nest)¶

嵌套属性:

data-attrs

异或 (nest)¶

嵌套属性:

data-attrs

操作码 (u32)¶

字节序:

大端

枚举:

bitwise-ops

数据 (nest)¶

嵌套属性:

data-attrs

expr-cmp-attrs¶

源寄存器 (u32)¶

字节序:

大端

操作码 (u32)¶

字节序:

大端

枚举:

cmp-ops

数据 (nest)¶

嵌套属性:

data-attrs

data-attrs¶

值 (binary)¶

结果 (nest)¶

嵌套属性:

verdict-attrs

verdict-attrs¶

代码 (u32)¶

字节序:

大端

枚举:

verdict-code

链 (string)¶

链 ID (u32)¶

expr-counter-attrs¶

字节数 (u64)¶

文档:

字节数

数据包数 (u64)¶

文档:

数据包数

填充 (pad)¶

expr-fib-attrs¶

目标寄存器 (u32)¶

字节序:

大端

结果 (u32)¶

字节序:

大端

枚举:

fib-result

标志 (u32)¶

字节序:

大端

枚举:

fib-flags

expr-ct-attrs¶

目标寄存器 (u32)¶

字节序:

大端

键 (u32)¶

字节序:

大端

枚举:

ct-keys

方向 (u8)¶

枚举:

ct-direction

源寄存器 (u32)¶

字节序:

大端

expr-flow-offload-attrs¶

名称 (string)¶

文档:

流卸载表名称

expr-immediate-attrs¶

目标寄存器 (u32)¶

字节序:

大端

数据 (nest)¶

嵌套属性:

data-attrs

expr-lookup-attrs¶

集合 (string)¶

文档:

要使用的集合的名称

集合 ID (u32)¶

字节序:

大端

文档:

要使用的集合的 ID

源寄存器 (u32)¶

字节序:

大端

目标寄存器 (u32)¶

字节序:

大端

标志 (u32)¶

字节序:

大端

枚举:

lookup-flags

expr-meta-attrs¶

目标寄存器 (u32)¶

字节序:

大端

键 (u32)¶

字节序:

大端

枚举:

meta-keys

源寄存器 (u32)¶

字节序:

大端

expr-nat-attrs¶

类型 (u32)¶

字节序:

大端

族 (u32)¶

字节序:

大端

最小寄存器地址 (u32)¶

字节序:

大端

最大寄存器地址 (u32)¶

字节序:

大端

最小寄存器协议 (u32)¶

字节序:

大端

最大寄存器协议 (u32)¶

字节序:

大端

标志 (u32)¶

字节序:

大端

枚举:

nat-range-flags

枚举作为标志:

真

expr-payload-attrs¶

目标寄存器 (u32)¶

字节序:

大端

基址 (u32)¶

字节序:

大端

偏移量 (u32)¶

字节序:

大端

长度 (u32)¶

字节序:

大端

源寄存器 (u32)¶

字节序:

大端

校验和类型 (u32)¶

字节序:

大端

校验和偏移量 (u32)¶

字节序:

大端

校验和标志 (u32)¶

字节序:

大端

expr-reject-attrs¶

类型 (u32)¶

字节序:

大端

枚举:

reject-types

ICMP 代码 (u8)¶

expr-target-attrs¶

名称 (string)¶

版本 (u32)¶

字节序:

大端

信息 (binary)¶

expr-tproxy-attrs¶

族 (u32)¶

字节序:

大端

寄存器地址 (u32)¶

字节序:

大端

寄存器端口 (u32)¶

字节序:

大端

expr-objref-attrs¶

即时类型 (u32)¶

字节序:

大端

即时名称 (string)¶

文档:

对象名称

设置源寄存器 (u32)¶

字节序:

大端

设置名称 (string)¶

文档:

对象映射的名称

设置 ID (u32)¶

字节序:

大端

文档:

对象映射的 ID

子消息¶

expr-ops¶

  • 按位运算
    attribute-set:

    expr-bitwise-attrs

  • 比较
    attribute-set:

    expr-cmp-attrs

  • counter
    attribute-set:

    expr-counter-attrs

  • 常量
    attribute-set:

    expr-ct-attrs

  • 斐波那契
    attribute-set:

    expr-fib-attrs

  • 流卸载
    attribute-set:

    expr-flow-offload-attrs

  • 立即数
    attribute-set:

    expr-immediate-attrs

  • 查找
    attribute-set:

    expr-lookup-attrs

  • 元数据
    attribute-set:

    expr-meta-attrs

  • 网络地址转换
    attribute-set:

    expr-nat-attrs

  • 对象引用
    attribute-set:

    expr-objref-attrs

  • 载荷
    attribute-set:

    expr-payload-attrs

  • quota
    attribute-set:

    quota-attrs

  • 拒绝
    attribute-set:

    expr-reject-attrs

  • 目标
    attribute-set:

    expr-target-attrs

  • 透明代理
    attribute-set:

    expr-tproxy-attrs

对象数据¶

  • counter
    attribute-set:

    counter-attrs

  • quota
    attribute-set:

    quota-attrs

©内核开发社区。| 由 Sphinx 5.3.0 & Alabaster 0.7.16 驱动 | 页面源代码