conntrack

package
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 19, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package conntrack は、外から入って DNAT されたフローを Plan に収束させる(仕様 6.1 節、 設計文書 7a.8 節 Phase 3)。「宣言状態に収束させる」1 手順だけを持つ:Dump → 判定 → 削除。 nftables テーブルの差し替えの後に走らせる。internal/dataplane/linuxkernel の一部で、 internal/vpsd を import しない(設計文書 7a.7 節)。

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Converge

func Converge(rules []Rule, wgNet netip.Prefix) (int, error)

Converge は対象のフローを Dump し、現在のルールで許されないものを削除する。削除数を返す。

Types

type Rule

type Rule struct {
	Proto       proto.Proto
	ListenPort  proto.PortRange
	AgentAddr   netip.Addr // DNAT 先(エージェントのアドレス)
	SourceDeny  []netip.Prefix
	SourceAllow []netip.Prefix
}

Rule は収束の判定に使う、ルールの部分集合。カーネルモードで有効なものだけを渡す。

func RulesFromPlan

func RulesFromPlan(plan planner.Plan) []Rule

RulesFromPlan は、Plan の Transparent(カーネルモード)のポートから収束の判定材料を作る (design.md 6.1, 7a.8 節 Phase 3)。Plan.Ports は無効なルールとエージェントが未登録のルールを 既に除いているので、ここでは検査し直さない。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL