lldp

package
v0.28.0 Latest Latest
Warning

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

Go to latest
Published: Aug 17, 2021 License: Apache-2.0 Imports: 25 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MetadataDecoder added in v0.24.0

func MetadataDecoder(raw json.RawMessage) (getter.Getter, error)

MetadataDecoder implements the JSON raw decoder for LLDP metadata

func NewProbe

func NewProbe(ctx tp.Context, bundle *probe.Bundle) (probe.Handler, error)

NewProbe creates a new LLDP probe

func Register added in v0.26.0

func Register()

Register registers graph metadata decoders

Types

type LinkAggregationMetadata added in v0.24.0

type LinkAggregationMetadata struct {
	Enabled   bool  `json:"Enabled"`
	PortID    int64 `json:"PortID,omitempty"`
	Supported bool  `json:"Supported"`
}

LinkAggregationMetadata describes the LLDP link aggregation metadata easyjson:json gendecoder

func (*LinkAggregationMetadata) GetField added in v0.26.0

func (obj *LinkAggregationMetadata) GetField(key string) (interface{}, error)

func (*LinkAggregationMetadata) GetFieldBool added in v0.26.0

func (obj *LinkAggregationMetadata) GetFieldBool(key string) (bool, error)

func (*LinkAggregationMetadata) GetFieldInt64 added in v0.26.0

func (obj *LinkAggregationMetadata) GetFieldInt64(key string) (int64, error)

func (*LinkAggregationMetadata) GetFieldKeys added in v0.26.0

func (obj *LinkAggregationMetadata) GetFieldKeys() []string

func (*LinkAggregationMetadata) GetFieldString added in v0.26.0

func (obj *LinkAggregationMetadata) GetFieldString(key string) (string, error)

func (LinkAggregationMetadata) MarshalEasyJSON added in v0.26.0

func (v LinkAggregationMetadata) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (LinkAggregationMetadata) MarshalJSON added in v0.26.0

func (v LinkAggregationMetadata) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*LinkAggregationMetadata) MatchBool added in v0.26.0

func (obj *LinkAggregationMetadata) MatchBool(key string, predicate getter.BoolPredicate) bool

func (*LinkAggregationMetadata) MatchInt64 added in v0.26.0

func (obj *LinkAggregationMetadata) MatchInt64(key string, predicate getter.Int64Predicate) bool

func (*LinkAggregationMetadata) MatchString added in v0.26.0

func (obj *LinkAggregationMetadata) MatchString(key string, predicate getter.StringPredicate) bool

func (*LinkAggregationMetadata) UnmarshalEasyJSON added in v0.26.0

func (v *LinkAggregationMetadata) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*LinkAggregationMetadata) UnmarshalJSON added in v0.26.0

func (v *LinkAggregationMetadata) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Metadata added in v0.24.0

type Metadata struct {
	Description     string                   `json:"Description,omitempty"`
	ChassisID       string                   `json:"ChassisID,omitempty"`
	ChassisIDType   string                   `json:"ChassisIDType,omitempty"`
	SysName         string                   `json:"SysName,omitempty"`
	MgmtAddress     string                   `json:"MgmtAddress,omitempty"`
	PVID            int64                    `json:"PVID,omitempty"`
	VIDUsageDigest  int64                    `json:"VIDUsageDigest,omitempty"`
	ManagementVID   int64                    `json:"ManagementVID,omitempty"`
	PortID          string                   `json:"PortID,omitempty"`
	PortIDType      string                   `json:"PortIDType,omitempty"`
	LinkAggregation *LinkAggregationMetadata `json:"LinkAgggregation,omitempty"`
	VLANNames       []VLANNameMetadata       `json:"VLANNames,omitempty"`
	PPVIDs          []PPVIDMetadata          `json:"PPVIDs,omitempty"`
}

Metadata describes the LLDP chassis metadata easyjson:json gendecoder

func (*Metadata) GetField added in v0.26.0

func (obj *Metadata) GetField(key string) (interface{}, error)

func (*Metadata) GetFieldBool added in v0.26.0

func (obj *Metadata) GetFieldBool(key string) (bool, error)

func (*Metadata) GetFieldInt64 added in v0.26.0

func (obj *Metadata) GetFieldInt64(key string) (int64, error)

func (*Metadata) GetFieldKeys added in v0.26.0

func (obj *Metadata) GetFieldKeys() []string

func (*Metadata) GetFieldString added in v0.26.0

func (obj *Metadata) GetFieldString(key string) (string, error)

func (Metadata) MarshalEasyJSON added in v0.26.0

func (v Metadata) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Metadata) MarshalJSON added in v0.26.0

func (v Metadata) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Metadata) MatchBool added in v0.26.0

func (obj *Metadata) MatchBool(key string, predicate getter.BoolPredicate) bool

func (*Metadata) MatchInt64 added in v0.26.0

func (obj *Metadata) MatchInt64(key string, predicate getter.Int64Predicate) bool

func (*Metadata) MatchString added in v0.26.0

func (obj *Metadata) MatchString(key string, predicate getter.StringPredicate) bool

func (*Metadata) UnmarshalEasyJSON added in v0.26.0

func (v *Metadata) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Metadata) UnmarshalJSON added in v0.26.0

func (v *Metadata) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type PPVIDMetadata added in v0.24.0

type PPVIDMetadata struct {
	Enabled   bool  `json:"Enabled"`
	ID        int64 `json:"ID"`
	Supported bool  `json:"Supported"`
}

PPVIDMetadata describes the LLDP link PPVID metadata easyjson:json gendecoder

func (*PPVIDMetadata) GetField added in v0.26.0

func (obj *PPVIDMetadata) GetField(key string) (interface{}, error)

func (*PPVIDMetadata) GetFieldBool added in v0.26.0

func (obj *PPVIDMetadata) GetFieldBool(key string) (bool, error)

func (*PPVIDMetadata) GetFieldInt64 added in v0.26.0

func (obj *PPVIDMetadata) GetFieldInt64(key string) (int64, error)

func (*PPVIDMetadata) GetFieldKeys added in v0.26.0

func (obj *PPVIDMetadata) GetFieldKeys() []string

func (*PPVIDMetadata) GetFieldString added in v0.26.0

func (obj *PPVIDMetadata) GetFieldString(key string) (string, error)

func (PPVIDMetadata) MarshalEasyJSON added in v0.26.0

func (v PPVIDMetadata) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (PPVIDMetadata) MarshalJSON added in v0.26.0

func (v PPVIDMetadata) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*PPVIDMetadata) MatchBool added in v0.26.0

func (obj *PPVIDMetadata) MatchBool(key string, predicate getter.BoolPredicate) bool

func (*PPVIDMetadata) MatchInt64 added in v0.26.0

func (obj *PPVIDMetadata) MatchInt64(key string, predicate getter.Int64Predicate) bool

func (*PPVIDMetadata) MatchString added in v0.26.0

func (obj *PPVIDMetadata) MatchString(key string, predicate getter.StringPredicate) bool

func (*PPVIDMetadata) UnmarshalEasyJSON added in v0.26.0

func (v *PPVIDMetadata) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*PPVIDMetadata) UnmarshalJSON added in v0.26.0

func (v *PPVIDMetadata) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Probe

type Probe struct {
	sync.RWMutex
	graph.DefaultGraphListener
	Ctx tp.Context
	// contains filtered or unexported fields
}

Probe describes the probe that is in charge of listening for LLDP packets on interfaces and create the corresponding chassis and port nodes

func (*Probe) OnEdgeAdded

func (p *Probe) OnEdgeAdded(e *graph.Edge)

OnEdgeAdded is called when a new edge was created on the graph

func (*Probe) OnNodeUpdated

func (p *Probe) OnNodeUpdated(n *graph.Node, ops []graph.PartiallyUpdatedOp)

OnNodeUpdated is called when a new node was updated on the graph

func (*Probe) Start

func (p *Probe) Start() error

Start capturing LLDP packets

func (*Probe) Stop

func (p *Probe) Stop()

Stop capturing LLDP packets

type VLANNameMetadata added in v0.24.0

type VLANNameMetadata struct {
	ID   int64  `json:"ID"`
	Name string `json:"Name"`
}

VLANNameMetadata describes the LLDP VLAN metadata easyjson:json gendecoder

func (*VLANNameMetadata) GetField added in v0.26.0

func (obj *VLANNameMetadata) GetField(key string) (interface{}, error)

func (*VLANNameMetadata) GetFieldBool added in v0.26.0

func (obj *VLANNameMetadata) GetFieldBool(key string) (bool, error)

func (*VLANNameMetadata) GetFieldInt64 added in v0.26.0

func (obj *VLANNameMetadata) GetFieldInt64(key string) (int64, error)

func (*VLANNameMetadata) GetFieldKeys added in v0.26.0

func (obj *VLANNameMetadata) GetFieldKeys() []string

func (*VLANNameMetadata) GetFieldString added in v0.26.0

func (obj *VLANNameMetadata) GetFieldString(key string) (string, error)

func (VLANNameMetadata) MarshalEasyJSON added in v0.26.0

func (v VLANNameMetadata) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (VLANNameMetadata) MarshalJSON added in v0.26.0

func (v VLANNameMetadata) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*VLANNameMetadata) MatchBool added in v0.26.0

func (obj *VLANNameMetadata) MatchBool(key string, predicate getter.BoolPredicate) bool

func (*VLANNameMetadata) MatchInt64 added in v0.26.0

func (obj *VLANNameMetadata) MatchInt64(key string, predicate getter.Int64Predicate) bool

func (*VLANNameMetadata) MatchString added in v0.26.0

func (obj *VLANNameMetadata) MatchString(key string, predicate getter.StringPredicate) bool

func (*VLANNameMetadata) UnmarshalEasyJSON added in v0.26.0

func (v *VLANNameMetadata) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*VLANNameMetadata) UnmarshalJSON added in v0.26.0

func (v *VLANNameMetadata) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

Jump to

Keyboard shortcuts

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