networkfabric

package
v0.26.2 Latest Latest
Warning

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

Go to latest
Published: Jul 10, 2026 License: GPL-3.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SetOVNNBCTLDebugLogging added in v0.24.0

func SetOVNNBCTLDebugLogging(enabled bool)

SetOVNNBCTLDebugLogging enables/disables ovn-nbctl syslog verbosity for this package. When disabled, ovn-nbctl "Called as ..." INFO logs are suppressed.

func SetOVSVSCTLDebugLogging added in v0.24.0

func SetOVSVSCTLDebugLogging(enabled bool)

SetOVSVSCTLDebugLogging enables/disables ovs-vsctl syslog verbosity. When disabled, ovs-vsctl "Called as ..." INFO logs are suppressed.

Types

type NetworkFabric

type NetworkFabric interface {
	// EnsureBridge はローカルノードで OVS ブリッジを作成・確認する。
	// 既存あり前提で冪等に実行される。
	// vnet: 対象ネットワークオブジェクト
	// 戻り値: (成功時は nil、既存/失敗はエラー)
	EnsureBridge(vnet *api.VirtualNetwork) error

	// EnsureOverlayMesh はローカルノード上で、指定ピアへのトンネル群を作成・確認する。
	// 冪等で実行される。
	// vnet: 対象ネットワーク
	// peers: 疎通対象のリモートノード IP リスト
	EnsureOverlayMesh(vnet *api.VirtualNetwork, peers []string) error

	// PruneOverlayMesh は不要なトンネルを削除する。
	// 例: ノード離脱時に peer リストから外れたノードへのトンネルを削除。
	PruneOverlayMesh(vnet *api.VirtualNetwork, remainPeers []string) error

	// DeleteBridge はブリッジとその配下のトンネルをすべて削除する。
	// 削除前に必ず libvirt net destroy/undefine が完了していることを前提とする。
	DeleteBridge(vnet *api.VirtualNetwork) error

	// GetBridgeStatus はブリッジ存在状態と peer 数を返す。
	// 監視・drift 検知用。
	GetBridgeStatus(vnet *api.VirtualNetwork) (exists bool, peerCount int, err error)
}

NetworkFabric は OVS などのオーバーレイネットワーク実体操作を担当する。 controller 層がこのインターフェースを通じて、libvirt とは独立に overlay を管理する。

type OVNFabric added in v0.18.0

type OVNFabric struct {
	// contains filtered or unexported fields
}

OVNFabric は OVN を優先して利用する Fabric 実装。 現段階では geneve オーバーレイを OVN で扱い、既存 vxlan は OVS 実装へ委譲する。

func NewOVNFabric added in v0.18.0

func NewOVNFabric() *OVNFabric

NewOVNFabric は OVNFabric インスタンスを生成する。

func (*OVNFabric) DeleteBridge added in v0.18.0

func (o *OVNFabric) DeleteBridge(vnet *api.VirtualNetwork) error

func (*OVNFabric) EnsureBridge added in v0.18.0

func (o *OVNFabric) EnsureBridge(vnet *api.VirtualNetwork) error

func (*OVNFabric) EnsureOverlayMesh added in v0.18.0

func (o *OVNFabric) EnsureOverlayMesh(vnet *api.VirtualNetwork, peers []string) error

func (*OVNFabric) GetBridgeStatus added in v0.18.0

func (o *OVNFabric) GetBridgeStatus(vnet *api.VirtualNetwork) (bool, int, error)

func (*OVNFabric) PruneOverlayMesh added in v0.18.0

func (o *OVNFabric) PruneOverlayMesh(vnet *api.VirtualNetwork, remainPeers []string) error

type OVSFabric

type OVSFabric struct {
}

OVSFabric はシェルコマンドベースの OVS/VXLAN 実装。 本番環境では将来 libopenswitch バインディングへの切り替えを前提に、 ここではコマンド呼び出しでプロトタイピングする。

func NewOVSFabric

func NewOVSFabric() *OVSFabric

NewOVSFabric は OVSFabric インスタンスを生成する。

func (*OVSFabric) DeleteBridge

func (o *OVSFabric) DeleteBridge(vnet *api.VirtualNetwork) error

DeleteBridge はブリッジをすべて削除する。

func (*OVSFabric) EnsureBridge

func (o *OVSFabric) EnsureBridge(vnet *api.VirtualNetwork) error

EnsureBridge は OVS ブリッジを作成または確認する。

func (*OVSFabric) EnsureOverlayMesh added in v0.18.0

func (o *OVSFabric) EnsureOverlayMesh(vnet *api.VirtualNetwork, peers []string) error

EnsureOverlayMesh はピアノードへのオーバーレイトンネルを作成・確認する。

func (*OVSFabric) GetBridgeStatus

func (o *OVSFabric) GetBridgeStatus(vnet *api.VirtualNetwork) (bool, int, error)

GetBridgeStatus はブリッジ状態を返す。

func (*OVSFabric) PruneOverlayMesh added in v0.18.0

func (o *OVSFabric) PruneOverlayMesh(vnet *api.VirtualNetwork, remainPeers []string) error

PruneOverlayMesh は残すべきピア以外のトンネルを削除する。

type PeerNode

type PeerNode struct {
	NodeName   string // ノード名
	UnderlayIP string // underlay インターフェース IP
}

PeerNode はメッシュ構成用のピア情報。

Jump to

Keyboard shortcuts

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