mirror of
https://github.com/yggdrasil-network/yggdrasil-go.git
synced 2025-04-29 06:35:07 +03:00
1. implemented network prefix load from config file
This commit is contained in:
parent
c7bca5d212
commit
ff860e71c3
4 changed files with 10 additions and 5 deletions
|
@ -31,7 +31,7 @@ import (
|
||||||
"github.com/RiV-chain/RiV-mesh/src/defaults"
|
"github.com/RiV-chain/RiV-mesh/src/defaults"
|
||||||
|
|
||||||
"github.com/RiV-chain/RiV-mesh/src/core"
|
"github.com/RiV-chain/RiV-mesh/src/core"
|
||||||
"github.com/RiV-chain/RiV-mesh/src/ipv6rwc"
|
//"github.com/RiV-chain/RiV-mesh/src/ipv6rwc"
|
||||||
"github.com/RiV-chain/RiV-mesh/src/multicast"
|
"github.com/RiV-chain/RiV-mesh/src/multicast"
|
||||||
"github.com/RiV-chain/RiV-mesh/src/tun"
|
"github.com/RiV-chain/RiV-mesh/src/tun"
|
||||||
"github.com/RiV-chain/RiV-mesh/src/version"
|
"github.com/RiV-chain/RiV-mesh/src/version"
|
||||||
|
@ -301,6 +301,7 @@ func run(args yggArgs, ctx context.Context) {
|
||||||
options := []core.SetupOption{
|
options := []core.SetupOption{
|
||||||
core.NodeInfo(cfg.NodeInfo),
|
core.NodeInfo(cfg.NodeInfo),
|
||||||
core.NodeInfoPrivacy(cfg.NodeInfoPrivacy),
|
core.NodeInfoPrivacy(cfg.NodeInfoPrivacy),
|
||||||
|
core.NetworkDomain(cfg.NetworkDomain),
|
||||||
}
|
}
|
||||||
for _, addr := range cfg.Listen {
|
for _, addr := range cfg.Listen {
|
||||||
options = append(options, core.ListenAddress(addr))
|
options = append(options, core.ListenAddress(addr))
|
||||||
|
@ -364,7 +365,7 @@ func run(args yggArgs, ctx context.Context) {
|
||||||
tun.InterfaceName(cfg.IfName),
|
tun.InterfaceName(cfg.IfName),
|
||||||
tun.InterfaceMTU(cfg.IfMTU),
|
tun.InterfaceMTU(cfg.IfMTU),
|
||||||
}
|
}
|
||||||
if n.tun, err = tun.New(ipv6rwc.NewReadWriteCloser(n.core), logger, options...); err != nil {
|
if n.tun, err = tun.New(n.core, logger, options...); err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
if n.admin != nil && n.tun != nil {
|
if n.admin != nil && n.tun != nil {
|
||||||
|
|
|
@ -17,7 +17,7 @@ type Subnet [8]byte
|
||||||
// The 8th bit of the last byte is used to signal nodes (0) or /64 prefixes (1).
|
// The 8th bit of the last byte is used to signal nodes (0) or /64 prefixes (1).
|
||||||
// Nodes that configure this differently will be unable to communicate with each other using IP packets, though routing and the DHT machinery *should* still work.
|
// Nodes that configure this differently will be unable to communicate with each other using IP packets, though routing and the DHT machinery *should* still work.
|
||||||
func (c *Core) GetPrefix() [1]byte {
|
func (c *Core) GetPrefix() [1]byte {
|
||||||
return [...]byte{0xfc}
|
return c.config.networkdomain.Prefix
|
||||||
}
|
}
|
||||||
|
|
||||||
// IsValid returns true if an address falls within the range used by nodes in the network.
|
// IsValid returns true if an address falls within the range used by nodes in the network.
|
||||||
|
|
|
@ -14,6 +14,8 @@ func (c *Core) _applyOption(opt SetupOption) {
|
||||||
c.config.nodeinfo = v
|
c.config.nodeinfo = v
|
||||||
case NodeInfoPrivacy:
|
case NodeInfoPrivacy:
|
||||||
c.config.nodeinfoPrivacy = v
|
c.config.nodeinfoPrivacy = v
|
||||||
|
case NetworkDomain:
|
||||||
|
c.config.networkdomain = v
|
||||||
case AllowedPublicKey:
|
case AllowedPublicKey:
|
||||||
pk := [32]byte{}
|
pk := [32]byte{}
|
||||||
copy(pk[:], v)
|
copy(pk[:], v)
|
||||||
|
@ -41,4 +43,5 @@ func (a ListenAddress) isSetupOption() {}
|
||||||
func (a Peer) isSetupOption() {}
|
func (a Peer) isSetupOption() {}
|
||||||
func (a NodeInfo) isSetupOption() {}
|
func (a NodeInfo) isSetupOption() {}
|
||||||
func (a NodeInfoPrivacy) isSetupOption() {}
|
func (a NodeInfoPrivacy) isSetupOption() {}
|
||||||
|
func (a NetworkDomain) isSetupOption() {}
|
||||||
func (a AllowedPublicKey) isSetupOption() {}
|
func (a AllowedPublicKey) isSetupOption() {}
|
||||||
|
|
|
@ -91,9 +91,10 @@ func MaximumMTU() uint64 {
|
||||||
|
|
||||||
// Init initialises the TUN module. You must have acquired a Listener from
|
// Init initialises the TUN module. You must have acquired a Listener from
|
||||||
// the Mesh core before this point and it must not be in use elsewhere.
|
// the Mesh core before this point and it must not be in use elsewhere.
|
||||||
func New(rwc *ipv6rwc.ReadWriteCloser, log core.Logger, opts ...SetupOption) (*TunAdapter, error) {
|
func New(core *core.Core, log core.Logger, opts ...SetupOption) (*TunAdapter, error) {
|
||||||
tun := &TunAdapter{
|
tun := &TunAdapter{
|
||||||
rwc: rwc,
|
core: core,
|
||||||
|
rwc: ipv6rwc.NewReadWriteCloser(core),
|
||||||
log: log,
|
log: log,
|
||||||
}
|
}
|
||||||
for _, opt := range opts {
|
for _, opt := range opts {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue