nex

package
v0.5.7 Latest Latest
Warning

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

Go to latest
Published: Jun 6, 2020 License: Apache-2.0 Imports: 24 Imported by: 7

Documentation

Index

Constants

View Source
const (
	NotFoundPrefix  = "not found"
	TxnFailedPrefix = "txn failed"
)
View Source
const (
	NetworkKind    = "Network"
	MemberListKind = "MemberList"
)

Variables

View Source
var (
	MaxMessageSize    = 4 * 1024 * 1024
	GRPCServerOptions = []grpc.ServerOption{
		grpc.MaxRecvMsgSize(MaxMessageSize),
		grpc.MaxSendMsgSize(MaxMessageSize),
	}
)
View Source
var ConfigPath = flag.String("config", "/etc/nex/nex.yml", "config file location")
View Source
var Version string = "undefined"

Functions

func AddNetwork

func AddNetwork(n *Network) error

func ApplyDefaults added in v0.4.7

func ApplyDefaults(n *Network)

func ApplyNetworkUpdate added in v0.4.8

func ApplyNetworkUpdate(net *Network, update *NetworkUpdateRequest)

func CheckDupes

func CheckDupes(objs []Object) error

func DeleteMembers

func DeleteMembers(macs []string) error

func DeleteNetwork

func DeleteNetwork(name string) error

func DeleteObjects

func DeleteObjects(objs []Object) error

func Errorf

func Errorf(message string, err error) error

func EtcdClient

func EtcdClient() (*clientv3.Client, error)

func FindMacIpv4

func FindMacIpv4(mac net.HardwareAddr) (net.IP, error)

func IndexExists

func IndexExists(o Object) bool

func Init

func Init()

func IsNotFound

func IsNotFound(err error) bool

func IsTxnFailed

func IsTxnFailed(err error) bool

func LoadConfig

func LoadConfig() error

func NewLease4

func NewLease4(mac net.HardwareAddr, network string, pkt dhcp.Packet) (net.IP, error)

func NotFound

func NotFound(message string) error

func Read

func Read(obj Object) error

func ReadNew added in v0.5.1

func ReadNew(obj Object) error

ReadNew reads an object form the datastore, and does not throw an error if the object is not found.

func ReadObjects

func ReadObjects(objs []Object) (int, error)

func RecycleExpiredLeases

func RecycleExpiredLeases(members []*Member) error

func RegisterNexServer

func RegisterNexServer(s *grpc.Server, srv NexServer)

func RenewLease

func RenewLease(mac net.HardwareAddr, network string) error

func RunLeaseManager

func RunLeaseManager()

func RunObjectTx

func RunObjectTx(otx ObjectTx) error

func TxnFailed

func TxnFailed(message string) error

func UpdateNetwork added in v0.4.8

func UpdateNetwork(r *NetworkUpdateRequest) error

func ValidateMac

func ValidateMac(mac string) error

func Write

func Write(obj Object) error

func WriteObjects

func WriteObjects(objs []Object, opts ...WriteOpt) error

Types

type AddMemberRequest

type AddMemberRequest struct {
	Network              string   `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty" yaml:"network,omitempty" mapstructure:"network,omitempty"`
	Mac                  []string `protobuf:"bytes,2,rep,name=mac,proto3" json:"mac,omitempty" yaml:"mac,omitempty" mapstructure:"mac,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte   `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32    `json:"-" yaml:"-" mapstructure:"-"`
}

memberhsip ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

func (*AddMemberRequest) Descriptor

func (*AddMemberRequest) Descriptor() ([]byte, []int)

func (*AddMemberRequest) GetMac

func (m *AddMemberRequest) GetMac() []string

func (*AddMemberRequest) GetNetwork

func (m *AddMemberRequest) GetNetwork() string

func (*AddMemberRequest) ProtoMessage

func (*AddMemberRequest) ProtoMessage()

func (*AddMemberRequest) Reset

func (m *AddMemberRequest) Reset()

func (*AddMemberRequest) String

func (m *AddMemberRequest) String() string

func (*AddMemberRequest) XXX_DiscardUnknown

func (m *AddMemberRequest) XXX_DiscardUnknown()

func (*AddMemberRequest) XXX_Marshal

func (m *AddMemberRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*AddMemberRequest) XXX_Merge

func (m *AddMemberRequest) XXX_Merge(src proto.Message)

func (*AddMemberRequest) XXX_Size

func (m *AddMemberRequest) XXX_Size() int

func (*AddMemberRequest) XXX_Unmarshal

func (m *AddMemberRequest) XXX_Unmarshal(b []byte) error

type AddMemberResponse

type AddMemberResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte   `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32    `json:"-" yaml:"-" mapstructure:"-"`
}

func (*AddMemberResponse) Descriptor

func (*AddMemberResponse) Descriptor() ([]byte, []int)

func (*AddMemberResponse) ProtoMessage

func (*AddMemberResponse) ProtoMessage()

func (*AddMemberResponse) Reset

func (m *AddMemberResponse) Reset()

func (*AddMemberResponse) String

func (m *AddMemberResponse) String() string

func (*AddMemberResponse) XXX_DiscardUnknown

func (m *AddMemberResponse) XXX_DiscardUnknown()

func (*AddMemberResponse) XXX_Marshal

func (m *AddMemberResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*AddMemberResponse) XXX_Merge

func (m *AddMemberResponse) XXX_Merge(src proto.Message)

func (*AddMemberResponse) XXX_Size

func (m *AddMemberResponse) XXX_Size() int

func (*AddMemberResponse) XXX_Unmarshal

func (m *AddMemberResponse) XXX_Unmarshal(b []byte) error

type AddMembersResponse

type AddMembersResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte   `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32    `json:"-" yaml:"-" mapstructure:"-"`
}

func (*AddMembersResponse) Descriptor

func (*AddMembersResponse) Descriptor() ([]byte, []int)

func (*AddMembersResponse) ProtoMessage

func (*AddMembersResponse) ProtoMessage()

func (*AddMembersResponse) Reset

func (m *AddMembersResponse) Reset()

func (*AddMembersResponse) String

func (m *AddMembersResponse) String() string

func (*AddMembersResponse) XXX_DiscardUnknown

func (m *AddMembersResponse) XXX_DiscardUnknown()

func (*AddMembersResponse) XXX_Marshal

func (m *AddMembersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*AddMembersResponse) XXX_Merge

func (m *AddMembersResponse) XXX_Merge(src proto.Message)

func (*AddMembersResponse) XXX_Size

func (m *AddMembersResponse) XXX_Size() int

func (*AddMembersResponse) XXX_Unmarshal

func (m *AddMembersResponse) XXX_Unmarshal(b []byte) error

type AddNetworkRequest

type AddNetworkRequest struct {
	Network              *Network `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty" yaml:"network,omitempty" mapstructure:"network,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte   `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32    `json:"-" yaml:"-" mapstructure:"-"`
}

func (*AddNetworkRequest) Descriptor

func (*AddNetworkRequest) Descriptor() ([]byte, []int)

func (*AddNetworkRequest) GetNetwork

func (m *AddNetworkRequest) GetNetwork() *Network

func (*AddNetworkRequest) ProtoMessage

func (*AddNetworkRequest) ProtoMessage()

func (*AddNetworkRequest) Reset

func (m *AddNetworkRequest) Reset()

func (*AddNetworkRequest) String

func (m *AddNetworkRequest) String() string

func (*AddNetworkRequest) XXX_DiscardUnknown

func (m *AddNetworkRequest) XXX_DiscardUnknown()

func (*AddNetworkRequest) XXX_Marshal

func (m *AddNetworkRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*AddNetworkRequest) XXX_Merge

func (m *AddNetworkRequest) XXX_Merge(src proto.Message)

func (*AddNetworkRequest) XXX_Size

func (m *AddNetworkRequest) XXX_Size() int

func (*AddNetworkRequest) XXX_Unmarshal

func (m *AddNetworkRequest) XXX_Unmarshal(b []byte) error

type AddNetworkResponse

type AddNetworkResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte   `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32    `json:"-" yaml:"-" mapstructure:"-"`
}

func (*AddNetworkResponse) Descriptor

func (*AddNetworkResponse) Descriptor() ([]byte, []int)

func (*AddNetworkResponse) ProtoMessage

func (*AddNetworkResponse) ProtoMessage()

func (*AddNetworkResponse) Reset

func (m *AddNetworkResponse) Reset()

func (*AddNetworkResponse) String

func (m *AddNetworkResponse) String() string

func (*AddNetworkResponse) XXX_DiscardUnknown

func (m *AddNetworkResponse) XXX_DiscardUnknown()

func (*AddNetworkResponse) XXX_Marshal

func (m *AddNetworkResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*AddNetworkResponse) XXX_Merge

func (m *AddNetworkResponse) XXX_Merge(src proto.Message)

func (*AddNetworkResponse) XXX_Size

func (m *AddNetworkResponse) XXX_Size() int

func (*AddNetworkResponse) XXX_Unmarshal

func (m *AddNetworkResponse) XXX_Unmarshal(b []byte) error

type AddressRange

type AddressRange struct {
	Begin                string   `protobuf:"bytes,1,opt,name=begin,proto3" json:"begin,omitempty" yaml:"begin,omitempty" mapstructure:"begin,omitempty"`
	End                  string   `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty" yaml:"end,omitempty" mapstructure:"end,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte   `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32    `json:"-" yaml:"-" mapstructure:"-"`
}

func (*AddressRange) Descriptor

func (*AddressRange) Descriptor() ([]byte, []int)

func (*AddressRange) GetBegin

func (m *AddressRange) GetBegin() string

func (*AddressRange) GetEnd

func (m *AddressRange) GetEnd() string

func (*AddressRange) MarshalYAML

func (x *AddressRange) MarshalYAML() (interface{}, error)

func (*AddressRange) Offset

func (a *AddressRange) Offset(ip net.IP) int

func (*AddressRange) ProtoMessage

func (*AddressRange) ProtoMessage()

func (*AddressRange) Reset

func (m *AddressRange) Reset()

func (*AddressRange) Select

func (a *AddressRange) Select(offset int) net.IP

func (*AddressRange) Size

func (a *AddressRange) Size() int

func (*AddressRange) String

func (m *AddressRange) String() string

func (*AddressRange) XXX_DiscardUnknown

func (m *AddressRange) XXX_DiscardUnknown()

func (*AddressRange) XXX_Marshal

func (m *AddressRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*AddressRange) XXX_Merge

func (m *AddressRange) XXX_Merge(src proto.Message)

func (*AddressRange) XXX_Size

func (m *AddressRange) XXX_Size() int

func (*AddressRange) XXX_Unmarshal

func (m *AddressRange) XXX_Unmarshal(b []byte) error

type Addrs

type Addrs struct {
	Ip4 net.IP
	Ip6 net.IP
}

func ResolveName

func ResolveName(name string) ([]*Addrs, error)

type ChangeList added in v0.5.6

type ChangeList struct {
	Net                  string      `protobuf:"bytes,1,opt,name=net,proto3" json:"net,omitempty" yaml:"net,omitempty" mapstructure:"net,omitempty"`
	List                 []*IDChange `protobuf:"bytes,2,rep,name=list,proto3" json:"list,omitempty" yaml:"list,omitempty" mapstructure:"list,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte      `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32       `json:"-" yaml:"-" mapstructure:"-"`
}

func (*ChangeList) Descriptor added in v0.5.6

func (*ChangeList) Descriptor() ([]byte, []int)

func (*ChangeList) GetList added in v0.5.6

func (m *ChangeList) GetList() []*IDChange

func (*ChangeList) GetNet added in v0.5.6

func (m *ChangeList) GetNet() string

func (*ChangeList) ProtoMessage added in v0.5.6

func (*ChangeList) ProtoMessage()

func (*ChangeList) Reset added in v0.5.6

func (m *ChangeList) Reset()

func (*ChangeList) String added in v0.5.6

func (m *ChangeList) String() string

func (*ChangeList) XXX_DiscardUnknown added in v0.5.6

func (m *ChangeList) XXX_DiscardUnknown()

func (*ChangeList) XXX_Marshal added in v0.5.6

func (m *ChangeList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ChangeList) XXX_Merge added in v0.5.6

func (m *ChangeList) XXX_Merge(src proto.Message)

func (*ChangeList) XXX_Size added in v0.5.6

func (m *ChangeList) XXX_Size() int

func (*ChangeList) XXX_Unmarshal added in v0.5.6

func (m *ChangeList) XXX_Unmarshal(b []byte) error

type ChangeMemberIDResponse added in v0.5.6

type ChangeMemberIDResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte   `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32    `json:"-" yaml:"-" mapstructure:"-"`
}

func (*ChangeMemberIDResponse) Descriptor added in v0.5.6

func (*ChangeMemberIDResponse) Descriptor() ([]byte, []int)

func (*ChangeMemberIDResponse) ProtoMessage added in v0.5.6

func (*ChangeMemberIDResponse) ProtoMessage()

func (*ChangeMemberIDResponse) Reset added in v0.5.6

func (m *ChangeMemberIDResponse) Reset()

func (*ChangeMemberIDResponse) String added in v0.5.6

func (m *ChangeMemberIDResponse) String() string

func (*ChangeMemberIDResponse) XXX_DiscardUnknown added in v0.5.6

func (m *ChangeMemberIDResponse) XXX_DiscardUnknown()

func (*ChangeMemberIDResponse) XXX_Marshal added in v0.5.6

func (m *ChangeMemberIDResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ChangeMemberIDResponse) XXX_Merge added in v0.5.6

func (m *ChangeMemberIDResponse) XXX_Merge(src proto.Message)

func (*ChangeMemberIDResponse) XXX_Size added in v0.5.6

func (m *ChangeMemberIDResponse) XXX_Size() int

func (*ChangeMemberIDResponse) XXX_Unmarshal added in v0.5.6

func (m *ChangeMemberIDResponse) XXX_Unmarshal(b []byte) error

type Config

type Config struct {
	Dhcpd DhcpdConfig `yaml:"dhcpd"`
	Etcd  EtcdConfig  `yaml:"etcd"`
	Nexd  NexdConfig  `yaml:"nexd"`
	Debug bool        `yaml:"debug"`
	Trace bool        `yaml:"trace"`
}
var Current *Config

type CountSet

type CountSet struct {
	Size   int
	Values []int
}

func (CountSet) Add

func (cs CountSet) Add() (int, CountSet, error)

func (CountSet) Next

func (cs CountSet) Next() (int, int)

func (CountSet) Remove

func (cs CountSet) Remove(i int) CountSet

type DeleteMembersRequest

type DeleteMembersRequest struct {
	Network              string   `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty" yaml:"network,omitempty" mapstructure:"network,omitempty"`
	List                 []string `protobuf:"bytes,2,rep,name=list,proto3" json:"list,omitempty" yaml:"list,omitempty" mapstructure:"list,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte   `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32    `json:"-" yaml:"-" mapstructure:"-"`
}

func (*DeleteMembersRequest) Descriptor

func (*DeleteMembersRequest) Descriptor() ([]byte, []int)

func (*DeleteMembersRequest) GetList

func (m *DeleteMembersRequest) GetList() []string

func (*DeleteMembersRequest) GetNetwork

func (m *DeleteMembersRequest) GetNetwork() string

func (*DeleteMembersRequest) ProtoMessage

func (*DeleteMembersRequest) ProtoMessage()

func (*DeleteMembersRequest) Reset

func (m *DeleteMembersRequest) Reset()

func (*DeleteMembersRequest) String

func (m *DeleteMembersRequest) String() string

func (*DeleteMembersRequest) XXX_DiscardUnknown

func (m *DeleteMembersRequest) XXX_DiscardUnknown()

func (*DeleteMembersRequest) XXX_Marshal

func (m *DeleteMembersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DeleteMembersRequest) XXX_Merge

func (m *DeleteMembersRequest) XXX_Merge(src proto.Message)

func (*DeleteMembersRequest) XXX_Size

func (m *DeleteMembersRequest) XXX_Size() int

func (*DeleteMembersRequest) XXX_Unmarshal

func (m *DeleteMembersRequest) XXX_Unmarshal(b []byte) error

type DeleteMembersResponse

type DeleteMembersResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte   `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32    `json:"-" yaml:"-" mapstructure:"-"`
}

func (*DeleteMembersResponse) Descriptor

func (*DeleteMembersResponse) Descriptor() ([]byte, []int)

func (*DeleteMembersResponse) ProtoMessage

func (*DeleteMembersResponse) ProtoMessage()

func (*DeleteMembersResponse) Reset

func (m *DeleteMembersResponse) Reset()

func (*DeleteMembersResponse) String

func (m *DeleteMembersResponse) String() string

func (*DeleteMembersResponse) XXX_DiscardUnknown

func (m *DeleteMembersResponse) XXX_DiscardUnknown()

func (*DeleteMembersResponse) XXX_Marshal

func (m *DeleteMembersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DeleteMembersResponse) XXX_Merge

func (m *DeleteMembersResponse) XXX_Merge(src proto.Message)

func (*DeleteMembersResponse) XXX_Size

func (m *DeleteMembersResponse) XXX_Size() int

func (*DeleteMembersResponse) XXX_Unmarshal

func (m *DeleteMembersResponse) XXX_Unmarshal(b []byte) error

type DeleteNetworkRequest

type DeleteNetworkRequest struct {
	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty" yaml:"name,omitempty" mapstructure:"name,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte   `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32    `json:"-" yaml:"-" mapstructure:"-"`
}

func (*DeleteNetworkRequest) Descriptor

func (*DeleteNetworkRequest) Descriptor() ([]byte, []int)

func (*DeleteNetworkRequest) GetName

func (m *DeleteNetworkRequest) GetName() string

func (*DeleteNetworkRequest) ProtoMessage

func (*DeleteNetworkRequest) ProtoMessage()

func (*DeleteNetworkRequest) Reset

func (m *DeleteNetworkRequest) Reset()

func (*DeleteNetworkRequest) String

func (m *DeleteNetworkRequest) String() string

func (*DeleteNetworkRequest) XXX_DiscardUnknown

func (m *DeleteNetworkRequest) XXX_DiscardUnknown()

func (*DeleteNetworkRequest) XXX_Marshal

func (m *DeleteNetworkRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DeleteNetworkRequest) XXX_Merge

func (m *DeleteNetworkRequest) XXX_Merge(src proto.Message)

func (*DeleteNetworkRequest) XXX_Size

func (m *DeleteNetworkRequest) XXX_Size() int

func (*DeleteNetworkRequest) XXX_Unmarshal

func (m *DeleteNetworkRequest) XXX_Unmarshal(b []byte) error

type DeleteNetworkResponse

type DeleteNetworkResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte   `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32    `json:"-" yaml:"-" mapstructure:"-"`
}

func (*DeleteNetworkResponse) Descriptor

func (*DeleteNetworkResponse) Descriptor() ([]byte, []int)

func (*DeleteNetworkResponse) ProtoMessage

func (*DeleteNetworkResponse) ProtoMessage()

func (*DeleteNetworkResponse) Reset

func (m *DeleteNetworkResponse) Reset()

func (*DeleteNetworkResponse) String

func (m *DeleteNetworkResponse) String() string

func (*DeleteNetworkResponse) XXX_DiscardUnknown

func (m *DeleteNetworkResponse) XXX_DiscardUnknown()

func (*DeleteNetworkResponse) XXX_Marshal

func (m *DeleteNetworkResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DeleteNetworkResponse) XXX_Merge

func (m *DeleteNetworkResponse) XXX_Merge(src proto.Message)

func (*DeleteNetworkResponse) XXX_Size

func (m *DeleteNetworkResponse) XXX_Size() int

func (*DeleteNetworkResponse) XXX_Unmarshal

func (m *DeleteNetworkResponse) XXX_Unmarshal(b []byte) error

type DhcpdConfig

type DhcpdConfig struct {
	Interface      string `yaml:"interface"`
	InterfaceIndex int    `yaml:"interface_index"`
}

type EtcdConfig

type EtcdConfig struct {
	Host      string `yaml:"host"`
	Port      int    `yaml:"port"`
	Cert      string `yaml:"cert"`
	Key       string `yaml:"key"`
	CAcert    string `yaml:"cacert"`
	MaxSizeMB int    `yaml:"maxsize"`
}

func (EtcdConfig) HasTls

func (c EtcdConfig) HasTls() bool

type GetMembersRequest

type GetMembersRequest struct {
	Network              string   `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty" yaml:"network,omitempty" mapstructure:"network,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte   `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32    `json:"-" yaml:"-" mapstructure:"-"`
}

func (*GetMembersRequest) Descriptor

func (*GetMembersRequest) Descriptor() ([]byte, []int)

func (*GetMembersRequest) GetNetwork

func (m *GetMembersRequest) GetNetwork() string

func (*GetMembersRequest) ProtoMessage

func (*GetMembersRequest) ProtoMessage()

func (*GetMembersRequest) Reset

func (m *GetMembersRequest) Reset()

func (*GetMembersRequest) String

func (m *GetMembersRequest) String() string

func (*GetMembersRequest) XXX_DiscardUnknown

func (m *GetMembersRequest) XXX_DiscardUnknown()

func (*GetMembersRequest) XXX_Marshal

func (m *GetMembersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GetMembersRequest) XXX_Merge

func (m *GetMembersRequest) XXX_Merge(src proto.Message)

func (*GetMembersRequest) XXX_Size

func (m *GetMembersRequest) XXX_Size() int

func (*GetMembersRequest) XXX_Unmarshal

func (m *GetMembersRequest) XXX_Unmarshal(b []byte) error

type GetMembersResponse

type GetMembersResponse struct {
	Members              []*Member `protobuf:"bytes,1,rep,name=members,proto3" json:"members,omitempty" yaml:"members,omitempty" mapstructure:"members,omitempty"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte    `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32     `json:"-" yaml:"-" mapstructure:"-"`
}

func (*GetMembersResponse) Descriptor

func (*GetMembersResponse) Descriptor() ([]byte, []int)

func (*GetMembersResponse) GetMembers

func (m *GetMembersResponse) GetMembers() []*Member

func (*GetMembersResponse) ProtoMessage

func (*GetMembersResponse) ProtoMessage()

func (*GetMembersResponse) Reset

func (m *GetMembersResponse) Reset()

func (*GetMembersResponse) String

func (m *GetMembersResponse) String() string

func (*GetMembersResponse) XXX_DiscardUnknown

func (m *GetMembersResponse) XXX_DiscardUnknown()

func (*GetMembersResponse) XXX_Marshal

func (m *GetMembersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GetMembersResponse) XXX_Merge

func (m *GetMembersResponse) XXX_Merge(src proto.Message)

func (*GetMembersResponse) XXX_Size

func (m *GetMembersResponse) XXX_Size() int

func (*GetMembersResponse) XXX_Unmarshal

func (m *GetMembersResponse) XXX_Unmarshal(b []byte) error

type GetNetworkRequest

type GetNetworkRequest struct {
	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty" yaml:"name,omitempty" mapstructure:"name,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte   `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32    `json:"-" yaml:"-" mapstructure:"-"`
}

func (*GetNetworkRequest) Descriptor

func (*GetNetworkRequest) Descriptor() ([]byte, []int)

func (*GetNetworkRequest) GetName

func (m *GetNetworkRequest) GetName() string

func (*GetNetworkRequest) ProtoMessage

func (*GetNetworkRequest) ProtoMessage()

func (*GetNetworkRequest) Reset

func (m *GetNetworkRequest) Reset()

func (*GetNetworkRequest) String

func (m *GetNetworkRequest) String() string

func (*GetNetworkRequest) XXX_DiscardUnknown

func (m *GetNetworkRequest) XXX_DiscardUnknown()

func (*GetNetworkRequest) XXX_Marshal

func (m *GetNetworkRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GetNetworkRequest) XXX_Merge

func (m *GetNetworkRequest) XXX_Merge(src proto.Message)

func (*GetNetworkRequest) XXX_Size

func (m *GetNetworkRequest) XXX_Size() int

func (*GetNetworkRequest) XXX_Unmarshal

func (m *GetNetworkRequest) XXX_Unmarshal(b []byte) error

type GetNetworkResponse

type GetNetworkResponse struct {
	Net                  *Network `protobuf:"bytes,1,opt,name=net,proto3" json:"net,omitempty" yaml:"net,omitempty" mapstructure:"net,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte   `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32    `json:"-" yaml:"-" mapstructure:"-"`
}

func (*GetNetworkResponse) Descriptor

func (*GetNetworkResponse) Descriptor() ([]byte, []int)

func (*GetNetworkResponse) GetNet

func (m *GetNetworkResponse) GetNet() *Network

func (*GetNetworkResponse) ProtoMessage

func (*GetNetworkResponse) ProtoMessage()

func (*GetNetworkResponse) Reset

func (m *GetNetworkResponse) Reset()

func (*GetNetworkResponse) String

func (m *GetNetworkResponse) String() string

func (*GetNetworkResponse) XXX_DiscardUnknown

func (m *GetNetworkResponse) XXX_DiscardUnknown()

func (*GetNetworkResponse) XXX_Marshal

func (m *GetNetworkResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GetNetworkResponse) XXX_Merge

func (m *GetNetworkResponse) XXX_Merge(src proto.Message)

func (*GetNetworkResponse) XXX_Size

func (m *GetNetworkResponse) XXX_Size() int

func (*GetNetworkResponse) XXX_Unmarshal

func (m *GetNetworkResponse) XXX_Unmarshal(b []byte) error

type GetNetworksRequest

type GetNetworksRequest struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte   `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32    `json:"-" yaml:"-" mapstructure:"-"`
}

func (*GetNetworksRequest) Descriptor

func (*GetNetworksRequest) Descriptor() ([]byte, []int)

func (*GetNetworksRequest) ProtoMessage

func (*GetNetworksRequest) ProtoMessage()

func (*GetNetworksRequest) Reset

func (m *GetNetworksRequest) Reset()

func (*GetNetworksRequest) String

func (m *GetNetworksRequest) String() string

func (*GetNetworksRequest) XXX_DiscardUnknown

func (m *GetNetworksRequest) XXX_DiscardUnknown()

func (*GetNetworksRequest) XXX_Marshal

func (m *GetNetworksRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GetNetworksRequest) XXX_Merge

func (m *GetNetworksRequest) XXX_Merge(src proto.Message)

func (*GetNetworksRequest) XXX_Size

func (m *GetNetworksRequest) XXX_Size() int

func (*GetNetworksRequest) XXX_Unmarshal

func (m *GetNetworksRequest) XXX_Unmarshal(b []byte) error

type GetNetworksResponse

type GetNetworksResponse struct {
	//repeated Network nets = 1;
	Nets                 []string `protobuf:"bytes,1,rep,name=nets,proto3" json:"nets,omitempty" yaml:"nets,omitempty" mapstructure:"nets,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte   `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32    `json:"-" yaml:"-" mapstructure:"-"`
}

func (*GetNetworksResponse) Descriptor

func (*GetNetworksResponse) Descriptor() ([]byte, []int)

func (*GetNetworksResponse) GetNets

func (m *GetNetworksResponse) GetNets() []string

func (*GetNetworksResponse) ProtoMessage

func (*GetNetworksResponse) ProtoMessage()

func (*GetNetworksResponse) Reset

func (m *GetNetworksResponse) Reset()

func (*GetNetworksResponse) String

func (m *GetNetworksResponse) String() string

func (*GetNetworksResponse) XXX_DiscardUnknown

func (m *GetNetworksResponse) XXX_DiscardUnknown()

func (*GetNetworksResponse) XXX_Marshal

func (m *GetNetworksResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GetNetworksResponse) XXX_Merge

func (m *GetNetworksResponse) XXX_Merge(src proto.Message)

func (*GetNetworksResponse) XXX_Size

func (m *GetNetworksResponse) XXX_Size() int

func (*GetNetworksResponse) XXX_Unmarshal

func (m *GetNetworksResponse) XXX_Unmarshal(b []byte) error

type IDChange added in v0.5.6

type IDChange struct {
	Old                  string   `protobuf:"bytes,1,opt,name=old,proto3" json:"old,omitempty" yaml:"old,omitempty" mapstructure:"old,omitempty"`
	New                  string   `protobuf:"bytes,2,opt,name=new,proto3" json:"new,omitempty" yaml:"new,omitempty" mapstructure:"new,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte   `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32    `json:"-" yaml:"-" mapstructure:"-"`
}

func (*IDChange) Descriptor added in v0.5.6

func (*IDChange) Descriptor() ([]byte, []int)

func (*IDChange) GetNew added in v0.5.6

func (m *IDChange) GetNew() string

func (*IDChange) GetOld added in v0.5.6

func (m *IDChange) GetOld() string

func (*IDChange) ProtoMessage added in v0.5.6

func (*IDChange) ProtoMessage()

func (*IDChange) Reset added in v0.5.6

func (m *IDChange) Reset()

func (*IDChange) String added in v0.5.6

func (m *IDChange) String() string

func (*IDChange) XXX_DiscardUnknown added in v0.5.6

func (m *IDChange) XXX_DiscardUnknown()

func (*IDChange) XXX_Marshal added in v0.5.6

func (m *IDChange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*IDChange) XXX_Merge added in v0.5.6

func (m *IDChange) XXX_Merge(src proto.Message)

func (*IDChange) XXX_Size added in v0.5.6

func (m *IDChange) XXX_Size() int

func (*IDChange) XXX_Unmarshal added in v0.5.6

func (m *IDChange) XXX_Unmarshal(b []byte) error

type Ip4Index

type Ip4Index struct{ MemberObj }

Ip4Index stores and retrieves network members based on their IPv4 address. Ipv4 addresses are assumed to be global mer Nex Instance

func NewIp4Index

func NewIp4Index(m *Member) *Ip4Index

func (*Ip4Index) Key

func (m *Ip4Index) Key() string

func (*Ip4Index) Value

func (m *Ip4Index) Value() interface{}

type Kind

type Kind string

type Lease

type Lease struct {
	Address              string               `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty" yaml:"address,omitempty" mapstructure:"address,omitempty"`
	Expires              *timestamp.Timestamp `protobuf:"bytes,2,opt,name=expires,proto3" json:"expires,omitempty" yaml:"expires,omitempty" mapstructure:"expires,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte               `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32                `json:"-" yaml:"-" mapstructure:"-"`
}

func (*Lease) Descriptor

func (*Lease) Descriptor() ([]byte, []int)

func (*Lease) GetAddress

func (m *Lease) GetAddress() string

func (*Lease) GetExpires

func (m *Lease) GetExpires() *timestamp.Timestamp

func (*Lease) ProtoMessage

func (*Lease) ProtoMessage()

func (*Lease) Reset

func (m *Lease) Reset()

func (*Lease) String

func (m *Lease) String() string

func (*Lease) XXX_DiscardUnknown

func (m *Lease) XXX_DiscardUnknown()

func (*Lease) XXX_Marshal

func (m *Lease) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Lease) XXX_Merge

func (m *Lease) XXX_Merge(src proto.Message)

func (*Lease) XXX_Size

func (m *Lease) XXX_Size() int

func (*Lease) XXX_Unmarshal

func (m *Lease) XXX_Unmarshal(b []byte) error

type MacIndex

type MacIndex struct{ MemberObj }

MacIndex stores and retrieves network members based on their MAC address. MAC addresses are assumed to be global per Nex instance.

func NewMacIndex

func NewMacIndex(m *Member) *MacIndex

func (*MacIndex) Key

func (m *MacIndex) Key() string

func (*MacIndex) Value

func (m *MacIndex) Value() interface{}

type Member

type Member struct {
	Mac                  string   `protobuf:"bytes,1,opt,name=mac,proto3" json:"mac,omitempty" yaml:"mac,omitempty" mapstructure:"mac,omitempty"`
	Name                 string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty" yaml:"name,omitempty" mapstructure:"name,omitempty"`
	Ip4                  *Lease   `protobuf:"bytes,3,opt,name=ip4,proto3" json:"ip4,omitempty" yaml:"ip4,omitempty" mapstructure:"ip4,omitempty"`
	Ip6                  *Lease   `protobuf:"bytes,4,opt,name=ip6,proto3" json:"ip6,omitempty" yaml:"ip6,omitempty" mapstructure:"ip6,omitempty"`
	Net                  string   `protobuf:"bytes,5,opt,name=net,proto3" json:"net,omitempty" yaml:"net,omitempty" mapstructure:"net,omitempty"`
	ClientName           string   `` /* 157-byte string literal not displayed */
	XXX_NoUnkeyedLiteral struct{} `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte   `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32    `json:"-" yaml:"-" mapstructure:"-"`
}

func FetchIp4IndexMembers

func FetchIp4IndexMembers() ([]*Member, error)

func FetchMacIndexMembers added in v0.4.7

func FetchMacIndexMembers() ([]*Member, error)

func FetchMembers

func FetchMembers(macs []string, c *etcd.Client) ([]*Member, error)

func GetMembers

func GetMembers(net string) ([]*Member, error)

func (*Member) Clone

func (m *Member) Clone() *Member

func (*Member) Descriptor

func (*Member) Descriptor() ([]byte, []int)

func (*Member) GetClientName added in v0.5.6

func (m *Member) GetClientName() string

func (*Member) GetIp4

func (m *Member) GetIp4() *Lease

func (*Member) GetIp6

func (m *Member) GetIp6() *Lease

func (*Member) GetMac

func (m *Member) GetMac() string

func (*Member) GetName

func (m *Member) GetName() string

func (*Member) GetNet

func (m *Member) GetNet() string

func (*Member) MarshalYAML

func (x *Member) MarshalYAML() (interface{}, error)

func (*Member) ProtoMessage

func (*Member) ProtoMessage()

func (*Member) Reset

func (m *Member) Reset()

func (*Member) String

func (m *Member) String() string

func (*Member) XXX_DiscardUnknown

func (m *Member) XXX_DiscardUnknown()

func (*Member) XXX_Marshal

func (m *Member) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Member) XXX_Merge

func (m *Member) XXX_Merge(src proto.Message)

func (*Member) XXX_Size

func (m *Member) XXX_Size() int

func (*Member) XXX_Unmarshal

func (m *Member) XXX_Unmarshal(b []byte) error

type MemberList

type MemberList struct {
	Net                  string    `protobuf:"bytes,1,opt,name=net,proto3" json:"net,omitempty" yaml:"net,omitempty" mapstructure:"net,omitempty"`
	List                 []*Member `protobuf:"bytes,2,rep,name=list,proto3" json:"list,omitempty" yaml:"list,omitempty" mapstructure:"list,omitempty"`
	Force                bool      `protobuf:"varint,3,opt,name=force,proto3" json:"force,omitempty" yaml:"force,omitempty" mapstructure:"force,omitempty"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte    `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32     `json:"-" yaml:"-" mapstructure:"-"`
}

func (*MemberList) Descriptor

func (*MemberList) Descriptor() ([]byte, []int)

func (*MemberList) GetForce added in v0.4.4

func (m *MemberList) GetForce() bool

func (*MemberList) GetList

func (m *MemberList) GetList() []*Member

func (*MemberList) GetNet

func (m *MemberList) GetNet() string

func (*MemberList) ProtoMessage

func (*MemberList) ProtoMessage()

func (*MemberList) Reset

func (m *MemberList) Reset()

func (*MemberList) String

func (m *MemberList) String() string

func (*MemberList) XXX_DiscardUnknown

func (m *MemberList) XXX_DiscardUnknown()

func (*MemberList) XXX_Marshal

func (m *MemberList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MemberList) XXX_Merge

func (m *MemberList) XXX_Merge(src proto.Message)

func (*MemberList) XXX_Size

func (m *MemberList) XXX_Size() int

func (*MemberList) XXX_Unmarshal

func (m *MemberList) XXX_Unmarshal(b []byte) error

type MemberObj

type MemberObj struct {
	*Member
	// contains filtered or unexported fields
}

func (*MemberObj) GetVersion

func (m *MemberObj) GetVersion() int64

func (*MemberObj) SetVersion

func (m *MemberObj) SetVersion(v int64)

type MemberUpdate

type MemberUpdate struct {
	Mac                  string                `protobuf:"bytes,1,opt,name=mac,proto3" json:"mac,omitempty" yaml:"mac,omitempty" mapstructure:"mac,omitempty"`
	Name                 *wrappers.StringValue `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty" yaml:"name,omitempty" mapstructure:"name,omitempty"`
	Ip4                  *Lease                `protobuf:"bytes,3,opt,name=ip4,proto3" json:"ip4,omitempty" yaml:"ip4,omitempty" mapstructure:"ip4,omitempty"`
	Ip6                  *Lease                `protobuf:"bytes,4,opt,name=ip6,proto3" json:"ip6,omitempty" yaml:"ip6,omitempty" mapstructure:"ip6,omitempty"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte                `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32                 `json:"-" yaml:"-" mapstructure:"-"`
}

func (*MemberUpdate) Descriptor

func (*MemberUpdate) Descriptor() ([]byte, []int)

func (*MemberUpdate) GetIp4

func (m *MemberUpdate) GetIp4() *Lease

func (*MemberUpdate) GetIp6

func (m *MemberUpdate) GetIp6() *Lease

func (*MemberUpdate) GetMac

func (m *MemberUpdate) GetMac() string

func (*MemberUpdate) GetName

func (m *MemberUpdate) GetName() *wrappers.StringValue

func (*MemberUpdate) ProtoMessage

func (*MemberUpdate) ProtoMessage()

func (*MemberUpdate) Reset

func (m *MemberUpdate) Reset()

func (*MemberUpdate) String

func (m *MemberUpdate) String() string

func (*MemberUpdate) XXX_DiscardUnknown

func (m *MemberUpdate) XXX_DiscardUnknown()

func (*MemberUpdate) XXX_Marshal

func (m *MemberUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MemberUpdate) XXX_Merge

func (m *MemberUpdate) XXX_Merge(src proto.Message)

func (*MemberUpdate) XXX_Size

func (m *MemberUpdate) XXX_Size() int

func (*MemberUpdate) XXX_Unmarshal

func (m *MemberUpdate) XXX_Unmarshal(b []byte) error

type MetaObject

type MetaObject struct {
	Kind   string
	Object interface{}
}

func ReadSpec

func ReadSpec(file string) ([]MetaObject, error)

func (*MetaObject) UnmarshalYAML

func (o *MetaObject) UnmarshalYAML(unmarshal func(interface{}) error) error

type NameIndex

type NameIndex struct{ MemberObj }

NameIndex stores and retrieves network members based on their DNS name. DNS names are assumed to be global per Nex Instance. Names are indexed on both their Name and Mac so that names can be used multiple times for round-robin DNS

func NewNameIndex

func NewNameIndex(m *Member) *NameIndex

func (*NameIndex) Key

func (m *NameIndex) Key() string

func (*NameIndex) Value

func (m *NameIndex) Value() interface{}

type NetIndex

type NetIndex struct{ MemberObj }

NetIndex stores and retrieves network members based on their parent network.

func NewNetIndex

func NewNetIndex(m *Member) *NetIndex

func (*NetIndex) Key

func (m *NetIndex) Key() string

func (*NetIndex) Value

func (m *NetIndex) Value() interface{}

type Network

type Network struct {
	Name                 string        `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty" yaml:"name,omitempty" mapstructure:"name,omitempty"`
	Subnet4              string        `protobuf:"bytes,2,opt,name=subnet4,proto3" json:"subnet4,omitempty" yaml:"subnet4,omitempty" mapstructure:"subnet4,omitempty"`
	Subnet6              string        `protobuf:"bytes,3,opt,name=subnet6,proto3" json:"subnet6,omitempty" yaml:"subnet6,omitempty" mapstructure:"subnet6,omitempty"`
	Dhcp4Server          string        `` /* 141-byte string literal not displayed */
	Dhcp6Server          string        `` /* 141-byte string literal not displayed */
	Range4               *AddressRange `protobuf:"bytes,6,opt,name=range4,proto3" json:"range4,omitempty" yaml:"range4,omitempty" mapstructure:"range4,omitempty"`
	Range6               *AddressRange `protobuf:"bytes,7,opt,name=range6,proto3" json:"range6,omitempty" yaml:"range6,omitempty" mapstructure:"range6,omitempty"`
	Gateways             []string      `` /* 129-byte string literal not displayed */
	Nameservers          []string      `` /* 141-byte string literal not displayed */
	Options              []*Option     `` /* 126-byte string literal not displayed */
	Domain               string        `protobuf:"bytes,11,opt,name=domain,proto3" json:"domain,omitempty" yaml:"domain,omitempty" mapstructure:"domain,omitempty"`
	MacRange             *AddressRange `` /* 148-byte string literal not displayed */
	Siaddr               string        `protobuf:"bytes,13,opt,name=siaddr,proto3" json:"siaddr,omitempty" yaml:"siaddr,omitempty" mapstructure:"siaddr,omitempty"`
	LeaseDuration        uint64        `` /* 174-byte string literal not displayed */
	XXX_NoUnkeyedLiteral struct{}      `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte        `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32         `json:"-" yaml:"-" mapstructure:"-"`
}

network ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

func FindMacNetwork

func FindMacNetwork(mac net.HardwareAddr) (*Network, error)

func GetNetworks

func GetNetworks() ([]*Network, error)

func (*Network) Descriptor

func (*Network) Descriptor() ([]byte, []int)

func (*Network) GetDhcp4Server

func (m *Network) GetDhcp4Server() string

func (*Network) GetDhcp6Server

func (m *Network) GetDhcp6Server() string

func (*Network) GetDomain

func (m *Network) GetDomain() string

func (*Network) GetGateways

func (m *Network) GetGateways() []string

func (*Network) GetLeaseDuration added in v0.4.7

func (m *Network) GetLeaseDuration() uint64

func (*Network) GetMacRange

func (m *Network) GetMacRange() *AddressRange

func (*Network) GetName

func (m *Network) GetName() string

func (*Network) GetNameservers

func (m *Network) GetNameservers() []string

func (*Network) GetOptions

func (m *Network) GetOptions() []*Option

func (*Network) GetRange4

func (m *Network) GetRange4() *AddressRange

func (*Network) GetRange6

func (m *Network) GetRange6() *AddressRange

func (*Network) GetSiaddr

func (m *Network) GetSiaddr() string

func (*Network) GetSubnet4

func (m *Network) GetSubnet4() string

func (*Network) GetSubnet6

func (m *Network) GetSubnet6() string

func (*Network) MarshalYAML

func (x *Network) MarshalYAML() (interface{}, error)

func (*Network) ProtoMessage

func (*Network) ProtoMessage()

func (*Network) Reset

func (m *Network) Reset()

func (*Network) String

func (m *Network) String() string

func (*Network) XXX_DiscardUnknown

func (m *Network) XXX_DiscardUnknown()

func (*Network) XXX_Marshal

func (m *Network) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Network) XXX_Merge

func (m *Network) XXX_Merge(src proto.Message)

func (*Network) XXX_Size

func (m *Network) XXX_Size() int

func (*Network) XXX_Unmarshal

func (m *Network) XXX_Unmarshal(b []byte) error

type NetworkObj

type NetworkObj struct {
	*Network
	// contains filtered or unexported fields
}

func NewNetworkObj

func NewNetworkObj(n *Network) *NetworkObj

func (*NetworkObj) GetVersion

func (n *NetworkObj) GetVersion() int64

func (*NetworkObj) Key

func (n *NetworkObj) Key() string

func (*NetworkObj) SetVersion

func (n *NetworkObj) SetVersion(v int64)

func (*NetworkObj) Value

func (n *NetworkObj) Value() interface{}

type NetworkUpdateRequest added in v0.4.8

type NetworkUpdateRequest struct {
	Name                 string                `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty" yaml:"name,omitempty" mapstructure:"name,omitempty"`
	Subnet4              *wrappers.StringValue `protobuf:"bytes,2,opt,name=subnet4,proto3" json:"subnet4,omitempty" yaml:"subnet4,omitempty" mapstructure:"subnet4,omitempty"`
	Subnet6              *wrappers.StringValue `protobuf:"bytes,3,opt,name=subnet6,proto3" json:"subnet6,omitempty" yaml:"subnet6,omitempty" mapstructure:"subnet6,omitempty"`
	Dhcp4Server          *wrappers.StringValue `` /* 141-byte string literal not displayed */
	Dhcp6Server          *wrappers.StringValue `` /* 141-byte string literal not displayed */
	Range4               *AddressRange         `protobuf:"bytes,6,opt,name=Range4,proto3" json:"Range4,omitempty" yaml:"Range4,omitempty" mapstructure:"Range4,omitempty"`
	Range6               *AddressRange         `protobuf:"bytes,7,opt,name=Range6,proto3" json:"Range6,omitempty" yaml:"Range6,omitempty" mapstructure:"Range6,omitempty"`
	GatewaysPresent      []string              `` /* 182-byte string literal not displayed */
	GatewaysAbsent       []string              `` /* 177-byte string literal not displayed */
	NameserversPresent   []string              `` /* 198-byte string literal not displayed */
	NameserversAbsent    []string              `` /* 193-byte string literal not displayed */
	OptionsPresent       []*Option             `` /* 178-byte string literal not displayed */
	OptionsAbsent        []*Option             `` /* 173-byte string literal not displayed */
	Domain               *wrappers.StringValue `protobuf:"bytes,14,opt,name=domain,proto3" json:"domain,omitempty" yaml:"domain,omitempty" mapstructure:"domain,omitempty"`
	MacRange             *AddressRange         `` /* 130-byte string literal not displayed */
	Siaddr               *wrappers.StringValue `protobuf:"bytes,16,opt,name=siaddr,proto3" json:"siaddr,omitempty" yaml:"siaddr,omitempty" mapstructure:"siaddr,omitempty"`
	LeaseDuration        *wrappers.UInt64Value `` /* 173-byte string literal not displayed */
	XXX_NoUnkeyedLiteral struct{}              `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte                `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32                 `json:"-" yaml:"-" mapstructure:"-"`
}

func (*NetworkUpdateRequest) Descriptor added in v0.4.8

func (*NetworkUpdateRequest) Descriptor() ([]byte, []int)

func (*NetworkUpdateRequest) GetDhcp4Server added in v0.4.8

func (m *NetworkUpdateRequest) GetDhcp4Server() *wrappers.StringValue

func (*NetworkUpdateRequest) GetDhcp6Server added in v0.4.8

func (m *NetworkUpdateRequest) GetDhcp6Server() *wrappers.StringValue

func (*NetworkUpdateRequest) GetDomain added in v0.4.8

func (m *NetworkUpdateRequest) GetDomain() *wrappers.StringValue

func (*NetworkUpdateRequest) GetGatewaysAbsent added in v0.4.8

func (m *NetworkUpdateRequest) GetGatewaysAbsent() []string

func (*NetworkUpdateRequest) GetGatewaysPresent added in v0.4.8

func (m *NetworkUpdateRequest) GetGatewaysPresent() []string

func (*NetworkUpdateRequest) GetLeaseDuration added in v0.4.8

func (m *NetworkUpdateRequest) GetLeaseDuration() *wrappers.UInt64Value

func (*NetworkUpdateRequest) GetMacRange added in v0.4.8

func (m *NetworkUpdateRequest) GetMacRange() *AddressRange

func (*NetworkUpdateRequest) GetName added in v0.4.8

func (m *NetworkUpdateRequest) GetName() string

func (*NetworkUpdateRequest) GetNameserversAbsent added in v0.4.8

func (m *NetworkUpdateRequest) GetNameserversAbsent() []string

func (*NetworkUpdateRequest) GetNameserversPresent added in v0.4.8

func (m *NetworkUpdateRequest) GetNameserversPresent() []string

func (*NetworkUpdateRequest) GetOptionsAbsent added in v0.4.8

func (m *NetworkUpdateRequest) GetOptionsAbsent() []*Option

func (*NetworkUpdateRequest) GetOptionsPresent added in v0.4.8

func (m *NetworkUpdateRequest) GetOptionsPresent() []*Option

func (*NetworkUpdateRequest) GetRange4 added in v0.4.8

func (m *NetworkUpdateRequest) GetRange4() *AddressRange

func (*NetworkUpdateRequest) GetRange6 added in v0.4.8

func (m *NetworkUpdateRequest) GetRange6() *AddressRange

func (*NetworkUpdateRequest) GetSiaddr added in v0.4.8

func (m *NetworkUpdateRequest) GetSiaddr() *wrappers.StringValue

func (*NetworkUpdateRequest) GetSubnet4 added in v0.4.8

func (m *NetworkUpdateRequest) GetSubnet4() *wrappers.StringValue

func (*NetworkUpdateRequest) GetSubnet6 added in v0.4.8

func (m *NetworkUpdateRequest) GetSubnet6() *wrappers.StringValue

func (*NetworkUpdateRequest) ProtoMessage added in v0.4.8

func (*NetworkUpdateRequest) ProtoMessage()

func (*NetworkUpdateRequest) Reset added in v0.4.8

func (m *NetworkUpdateRequest) Reset()

func (*NetworkUpdateRequest) String added in v0.4.8

func (m *NetworkUpdateRequest) String() string

func (*NetworkUpdateRequest) XXX_DiscardUnknown added in v0.4.8

func (m *NetworkUpdateRequest) XXX_DiscardUnknown()

func (*NetworkUpdateRequest) XXX_Marshal added in v0.4.8

func (m *NetworkUpdateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*NetworkUpdateRequest) XXX_Merge added in v0.4.8

func (m *NetworkUpdateRequest) XXX_Merge(src proto.Message)

func (*NetworkUpdateRequest) XXX_Size added in v0.4.8

func (m *NetworkUpdateRequest) XXX_Size() int

func (*NetworkUpdateRequest) XXX_Unmarshal added in v0.4.8

func (m *NetworkUpdateRequest) XXX_Unmarshal(b []byte) error

type NetworkUpdateResponse added in v0.4.8

type NetworkUpdateResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte   `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32    `json:"-" yaml:"-" mapstructure:"-"`
}

func (*NetworkUpdateResponse) Descriptor added in v0.4.8

func (*NetworkUpdateResponse) Descriptor() ([]byte, []int)

func (*NetworkUpdateResponse) ProtoMessage added in v0.4.8

func (*NetworkUpdateResponse) ProtoMessage()

func (*NetworkUpdateResponse) Reset added in v0.4.8

func (m *NetworkUpdateResponse) Reset()

func (*NetworkUpdateResponse) String added in v0.4.8

func (m *NetworkUpdateResponse) String() string

func (*NetworkUpdateResponse) XXX_DiscardUnknown added in v0.4.8

func (m *NetworkUpdateResponse) XXX_DiscardUnknown()

func (*NetworkUpdateResponse) XXX_Marshal added in v0.4.8

func (m *NetworkUpdateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*NetworkUpdateResponse) XXX_Merge added in v0.4.8

func (m *NetworkUpdateResponse) XXX_Merge(src proto.Message)

func (*NetworkUpdateResponse) XXX_Size added in v0.4.8

func (m *NetworkUpdateResponse) XXX_Size() int

func (*NetworkUpdateResponse) XXX_Unmarshal added in v0.4.8

func (m *NetworkUpdateResponse) XXX_Unmarshal(b []byte) error

type NexClient

type NexClient interface {
	// membership
	GetMembers(ctx context.Context, in *GetMembersRequest, opts ...grpc.CallOption) (*GetMembersResponse, error)
	AddMembers(ctx context.Context, in *MemberList, opts ...grpc.CallOption) (*AddMembersResponse, error)
	DeleteMembers(ctx context.Context, in *DeleteMembersRequest, opts ...grpc.CallOption) (*DeleteMembersResponse, error)
	UpdateMembers(ctx context.Context, in *UpdateList, opts ...grpc.CallOption) (*UpdateMembersResponse, error)
	ChangeMemberID(ctx context.Context, in *ChangeList, opts ...grpc.CallOption) (*ChangeMemberIDResponse, error)
	// network
	GetNetworks(ctx context.Context, in *GetNetworksRequest, opts ...grpc.CallOption) (*GetNetworksResponse, error)
	GetNetwork(ctx context.Context, in *GetNetworkRequest, opts ...grpc.CallOption) (*GetNetworkResponse, error)
	AddNetwork(ctx context.Context, in *AddNetworkRequest, opts ...grpc.CallOption) (*AddNetworkResponse, error)
	UpdateNetwork(ctx context.Context, in *NetworkUpdateRequest, opts ...grpc.CallOption) (*NetworkUpdateResponse, error)
	DeleteNetwork(ctx context.Context, in *DeleteNetworkRequest, opts ...grpc.CallOption) (*DeleteNetworkResponse, error)
}

NexClient is the client API for Nex service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewNexClient

func NewNexClient(cc *grpc.ClientConn) NexClient

type NexdConfig

type NexdConfig struct {
	Listen string `yaml:"listen"`
}

type Object

type Object interface {
	Key() string
	GetVersion() int64
	SetVersion(int64)
	Value() interface{}
}

all obejcts that go to and fro from the database implement this interface

func DeleteMemberObjects

func DeleteMemberObjects(objects []Object) []Object

type ObjectTx

type ObjectTx struct {
	Put    []Object
	Delete []Object
}

type Opt4

type Opt4 struct {
	Number int
	Value  string
}

type Opt6

type Opt6 struct {
	Number int
	Value  string
}

type Option

type Option struct {
	Number               int32    `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty" yaml:"number,omitempty" mapstructure:"number,omitempty"`
	Value                string   `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty" yaml:"value,omitempty" mapstructure:"value,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte   `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32    `json:"-" yaml:"-" mapstructure:"-"`
}

func (*Option) Descriptor

func (*Option) Descriptor() ([]byte, []int)

func (*Option) GetNumber

func (m *Option) GetNumber() int32

func (*Option) GetValue

func (m *Option) GetValue() string

func (*Option) MarshalYAML

func (x *Option) MarshalYAML() (interface{}, error)

func (*Option) ProtoMessage

func (*Option) ProtoMessage()

func (*Option) Reset

func (m *Option) Reset()

func (*Option) String

func (m *Option) String() string

func (*Option) XXX_DiscardUnknown

func (m *Option) XXX_DiscardUnknown()

func (*Option) XXX_Marshal

func (m *Option) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Option) XXX_Merge

func (m *Option) XXX_Merge(src proto.Message)

func (*Option) XXX_Size

func (m *Option) XXX_Size() int

func (*Option) XXX_Unmarshal

func (m *Option) XXX_Unmarshal(b []byte) error

type Pool

type Pool struct {
	CountSet
	Net string
}

type PoolObj

type PoolObj struct {
	*Pool
	// contains filtered or unexported fields
}

func NewPoolObj

func NewPoolObj(p *Pool) *PoolObj

func (*PoolObj) GetVersion

func (p *PoolObj) GetVersion() int64

func (*PoolObj) Key

func (p *PoolObj) Key() string

func (*PoolObj) SetVersion

func (p *PoolObj) SetVersion(v int64)

func (*PoolObj) Value

func (p *PoolObj) Value() interface{}

type UpdateList

type UpdateList struct {
	Net                  string          `protobuf:"bytes,1,opt,name=net,proto3" json:"net,omitempty" yaml:"net,omitempty" mapstructure:"net,omitempty"`
	List                 []*MemberUpdate `protobuf:"bytes,2,rep,name=list,proto3" json:"list,omitempty" yaml:"list,omitempty" mapstructure:"list,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte          `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32           `json:"-" yaml:"-" mapstructure:"-"`
}

func (*UpdateList) Descriptor

func (*UpdateList) Descriptor() ([]byte, []int)

func (*UpdateList) GetList

func (m *UpdateList) GetList() []*MemberUpdate

func (*UpdateList) GetNet

func (m *UpdateList) GetNet() string

func (*UpdateList) ProtoMessage

func (*UpdateList) ProtoMessage()

func (*UpdateList) Reset

func (m *UpdateList) Reset()

func (*UpdateList) String

func (m *UpdateList) String() string

func (*UpdateList) XXX_DiscardUnknown

func (m *UpdateList) XXX_DiscardUnknown()

func (*UpdateList) XXX_Marshal

func (m *UpdateList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*UpdateList) XXX_Merge

func (m *UpdateList) XXX_Merge(src proto.Message)

func (*UpdateList) XXX_Size

func (m *UpdateList) XXX_Size() int

func (*UpdateList) XXX_Unmarshal

func (m *UpdateList) XXX_Unmarshal(b []byte) error

type UpdateMembersResponse

type UpdateMembersResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-" yaml:"-" mapstructure:"-"`
	XXX_unrecognized     []byte   `json:"-" yaml:"-" mapstructure:"-"`
	XXX_sizecache        int32    `json:"-" yaml:"-" mapstructure:"-"`
}

func (*UpdateMembersResponse) Descriptor

func (*UpdateMembersResponse) Descriptor() ([]byte, []int)

func (*UpdateMembersResponse) ProtoMessage

func (*UpdateMembersResponse) ProtoMessage()

func (*UpdateMembersResponse) Reset

func (m *UpdateMembersResponse) Reset()

func (*UpdateMembersResponse) String

func (m *UpdateMembersResponse) String() string

func (*UpdateMembersResponse) XXX_DiscardUnknown

func (m *UpdateMembersResponse) XXX_DiscardUnknown()

func (*UpdateMembersResponse) XXX_Marshal

func (m *UpdateMembersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*UpdateMembersResponse) XXX_Merge

func (m *UpdateMembersResponse) XXX_Merge(src proto.Message)

func (*UpdateMembersResponse) XXX_Size

func (m *UpdateMembersResponse) XXX_Size() int

func (*UpdateMembersResponse) XXX_Unmarshal

func (m *UpdateMembersResponse) XXX_Unmarshal(b []byte) error

type WriteOpt added in v0.4.4

type WriteOpt int
const (
	NoCheck WriteOpt = iota
)

type WriteOpts added in v0.4.4

type WriteOpts []WriteOpt

func (WriteOpts) Has added in v0.4.4

func (wos WriteOpts) Has(opts ...WriteOpt) bool

Jump to

Keyboard shortcuts

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