Documentation ¶
Overview ¶
Package rait provides the core logic of rait
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Babeld ¶
type Babeld struct { SocketType string `hcl:"socket_type,optional"` // optional, control socket type, tcp or unix SocketAddr string `hcl:"socket_addr,optional"` // optional, control socket address Param string `hcl:"param,optional"` // optional, interfaces params ExtraCmd string `hcl:"extra_cmd,optional"` // optional, additional command passed to socket at the end of sync }
type Isolation ¶
type Isolation struct { IFGroup int `hcl:"ifgroup,attr"` // mandatory, interface group, for recognizing managed interfaces Transit string `hcl:"transit,optional"` // optional, the namespace to create sockets in Target string `hcl:"target,optional"` // optional, the namespace to move interfaces into }
type Peer ¶
type Peer struct { PublicKey string `hcl:"public_key,attr"` // mandatory, wireguard public key, base64 encoded Name string `hcl:"name,optional"` // optional, peer human readable name Remarks hcl.Body `hcl:"remarks,remain"` // optional, additional information Endpoint []Endpoint `hcl:"endpoint,block"` // mandatory, node endpoints }
type RAIT ¶
type RAIT struct { PrivateKey string `hcl:"private_key,attr"` // mandatory, wireguard private key, base64 encoded Name string `hcl:"name,optional"` // optional, human readable node name Peers string `hcl:"peers,attr"` // mandatory, list of peers, in hcl format Transport []Transport `hcl:"transport,block"` // mandatory, underlying transport for wireguard sockets Isolation *Isolation `hcl:"isolation,block"` // optional, params for the separation of underlay and overlay Babeld *Babeld `hcl:"babeld,block"` // optional, integration with babeld Remarks hcl.Body `hcl:"remarks,remain"` // optional, additional information }
RAIT is the model corresponding to rait.conf, for default value of fields, see NewRAIT
func (*RAIT) PublicConf ¶ added in v3.2.0
type Transport ¶
type Transport struct { AddressFamily string `hcl:"address_family,attr"` // mandatory, socket address family, ip4 or ip6 SendPort int `hcl:"send_port,attr"` // mandatory, socket send port MTU int `hcl:"mtu,attr"` // mandatory, interface mtu IFPrefix string `hcl:"ifprefix,attr"` // mandatory, interface naming prefix, should not collide between transports Address string `hcl:"address,optional"` // optional, public ip address or resolvable domain name BindAddress string `hcl:"bind_addr,optional"` // optional, socket bind address, only has effect when -b is set FwMark int `hcl:"fwmark,optional"` // optional, fwmark set on out going packets RandomPort bool `hcl:"random_port,optional"` // optional, whether to randomize listen port }
Click to show internal directories.
Click to hide internal directories.