Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func NeighborMetadataDecoder ¶ added in v0.21.0
func NeighborMetadataDecoder(raw json.RawMessage) (common.Getter, error)
NeighborMetadataDecoder implements a json message raw decoder
func RoutingTablesMetadataDecoder ¶ added in v0.21.0
func RoutingTablesMetadataDecoder(raw json.RawMessage) (common.Getter, error)
RoutingTablesMetadataDecoder implements a json message raw decoder
Types ¶
type Neighbor ¶ added in v0.19.0
type Neighbor struct { Flags []string `json:"Flags,omitempty"` MAC string IP net.IP `json:"IP,omitempty"` State []string `json:"State,omitempty"` Vlan int64 `json:"Vlan,omitempty"` VNI int64 `json:"VNI,omitempty"` IfIndex int64 }
Neighbor describes a member of the forwarding database easyjson:json
type Neighbors ¶ added in v0.21.0
type Neighbors []*Neighbor
Neighbors describes a list of neighbors easyjson:json
func (*Neighbors) GetFieldInt64 ¶ added in v0.21.0
GetFieldInt64 implements Getter interface
func (*Neighbors) GetFieldKeys ¶ added in v0.21.0
GetFieldKeys returns the list of valid field of a Flow
type NetNsProbe ¶ added in v0.21.0
type NetNsProbe struct { common.RWMutex Graph *graph.Graph Root *graph.Node NsPath string // contains filtered or unexported fields }
NetNsProbe describes a topology probe based on netlink in a network namespace
type NextHop ¶
type NextHop struct { Priority int64 `json:"Priority"` IP net.IP `json:"IP,omitempty"` IfIndex int64 `json:"IfIndex"` }
NextHop describes a next hop easyjson:json
type Prefix ¶ added in v0.21.0
Prefix describes prefix
func (*Prefix) IsDefaultRoute ¶ added in v0.21.0
IsDefaultRoute return whether the given cidr is a default route
func (*Prefix) MarshalJSON ¶ added in v0.21.0
MarshalJSON custom marshal function
func (*Prefix) UnmarshalJSON ¶ added in v0.21.0
UnmarshalJSON custom unmarshal function
type Probe ¶ added in v0.21.0
Probe describes a list NetLink NameSpace probe to enhance the graph
func (*Probe) Register ¶ added in v0.21.0
Register a new network netlink/namespace probe in the graph
func (*Probe) Unregister ¶ added in v0.21.0
Unregister a probe from a network namespace
type Route ¶
type Route struct { Protocol int64 `json:"Protocol"` Prefix Prefix `json:"Prefix"` NextHops []*NextHop `json:"NextHops"` }
Route describes a route easyjson:json
func (*Route) GetNextHop ¶ added in v0.21.0
GetNextHop returns the nexthop for the given ip and ifindex
type RoutingTable ¶
type RoutingTable struct { ID int64 `json:"ID"` Src net.IP `json:"Src"` Routes []*Route `json:"Routes"` }
RoutingTable describes a list of Routes easyjson:json
func (*RoutingTable) GetOrCreateRoute ¶ added in v0.21.0
func (rt *RoutingTable) GetOrCreateRoute(protocol int64, prefix net.IPNet) *Route
GetOrCreateRoute creates if not existing a new route and returns it
type RoutingTables ¶ added in v0.21.0
type RoutingTables []*RoutingTable
RoutingTables describes a list of routing table easyjson:json
func (*RoutingTables) GetField ¶ added in v0.21.0
func (rts *RoutingTables) GetField(field string) (interface{}, error)
GetField implements Getter interface
func (*RoutingTables) GetFieldInt64 ¶ added in v0.21.0
func (rts *RoutingTables) GetFieldInt64(key string) (int64, error)
GetFieldInt64 implements Getter interface
func (*RoutingTables) GetFieldKeys ¶ added in v0.21.0
func (rts *RoutingTables) GetFieldKeys() []string
GetFieldKeys returns the list of valid field of a Flow
func (*RoutingTables) GetFieldString ¶ added in v0.21.0
func (rts *RoutingTables) GetFieldString(key string) (string, error)
GetFieldString implements Getter interface