probes

package
v0.0.0-...-5b448de Latest Latest
Warning

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

Go to latest
Published: Aug 15, 2017 License: Apache-2.0 Imports: 28 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AFPacketHandle

type AFPacketHandle struct {
	// contains filtered or unexported fields
}

AFPacketHandle describes a AF network kernel packets

func NewAFPacketHandle

func NewAFPacketHandle(ifName string, snaplen int32) (*AFPacketHandle, error)

NewAFPacketHandle creates a new network AF packet probe

func (*AFPacketHandle) Close

func (h *AFPacketHandle) Close()

Close the AF packet handle

func (*AFPacketHandle) ReadPacketData

func (h *AFPacketHandle) ReadPacketData() ([]byte, gopacket.CaptureInfo, error)

ReadPacketData reads one packet

type FlowProbe

type FlowProbe struct {
	// contains filtered or unexported fields
}

FlowProbe link the pool of client and probes

func (*FlowProbe) AsyncFlowPipeline

func (fp *FlowProbe) AsyncFlowPipeline(flows []*flow.Flow)

AsyncFlowPipeline run the flow pipeline

func (*FlowProbe) RegisterProbe

func (fp *FlowProbe) RegisterProbe(n *graph.Node, capture *api.Capture, ft *flow.Table) error

RegisterProbe a probe

func (*FlowProbe) Start

func (fp *FlowProbe) Start()

Start the probe

func (*FlowProbe) Stop

func (fp *FlowProbe) Stop()

Stop the probe

func (*FlowProbe) UnregisterProbe

func (fp *FlowProbe) UnregisterProbe(n *graph.Node) error

UnregisterProbe a probe

type FlowProbeBundle

type FlowProbeBundle struct {
	probe.ProbeBundle
	Graph              *graph.Graph
	FlowTableAllocator *flow.TableAllocator
}

FlowProbeBundle describes a flow probes bundle

func NewFlowProbeBundleFromConfig

func NewFlowProbeBundleFromConfig(tb *probe.ProbeBundle, g *graph.Graph, fta *flow.TableAllocator, fcpool *analyzer.FlowClientPool) *FlowProbeBundle

NewFlowProbeBundleFromConfig creates a new flow probes bundle from configuration valid flow probes are : pcapsocket, ovsflow, gopacket, sflow

func (*FlowProbeBundle) UnregisterAllProbes

func (fpb *FlowProbeBundle) UnregisterAllProbes()

UnregisterAllProbes unregisters all registered probes

type FlowProbeInterface

type FlowProbeInterface interface {
	probe.Probe
	RegisterProbe(n *graph.Node, capture *api.Capture, ft *flow.Table) error
	UnregisterProbe(n *graph.Node) error
}

FlowProbeInterface defines flow probe mechanism

type GoPacketProbe

type GoPacketProbe struct {
	NodeTID string
	// contains filtered or unexported fields
}

GoPacketProbe describes a new probe that store packets from gopacket pcap library in a flowtable

type GoPacketProbesHandler

type GoPacketProbesHandler struct {
	// contains filtered or unexported fields
}

GoPacketProbesHandler describes a flow probe handle in the graph

func NewGoPacketProbesHandler

func NewGoPacketProbesHandler(g *graph.Graph) (*GoPacketProbesHandler, error)

NewGoPacketProbesHandler creates a new gopacket probe in the graph

func (*GoPacketProbesHandler) RegisterProbe

func (p *GoPacketProbesHandler) RegisterProbe(n *graph.Node, capture *api.Capture, ft *flow.Table) error

RegisterProbe registers a gopacket probe

func (*GoPacketProbesHandler) Start

func (p *GoPacketProbesHandler) Start()

Start probe

func (*GoPacketProbesHandler) Stop

func (p *GoPacketProbesHandler) Stop()

Stop probe

func (*GoPacketProbesHandler) UnregisterProbe

func (p *GoPacketProbesHandler) UnregisterProbe(n *graph.Node) error

UnregisterProbe unregisters gopacket probe

type OvsSFlowProbe

type OvsSFlowProbe struct {
	ID         string
	Interface  string
	Target     string
	HeaderSize uint32
	Sampling   uint32
	Polling    uint32
	NodeTID    string
}

OvsSFlowProbe describes a SFlow probe from OVS switch

type OvsSFlowProbesHandler

type OvsSFlowProbesHandler struct {
	FlowProbe
	Graph *graph.Graph
	// contains filtered or unexported fields
}

OvsSFlowProbesHandler describes a flow probe in running in the graph

func NewOvsSFlowProbesHandler

func NewOvsSFlowProbesHandler(tb *probe.ProbeBundle, g *graph.Graph) (*OvsSFlowProbesHandler, error)

NewOvsSFlowProbesHandler creates a new OVS SFlow porbes

func (*OvsSFlowProbesHandler) RegisterProbe

func (o *OvsSFlowProbesHandler) RegisterProbe(n *graph.Node, capture *api.Capture, ft *flow.Table) error

RegisterProbe registers a probe on a graph node

func (*OvsSFlowProbesHandler) RegisterProbeOnBridge

func (o *OvsSFlowProbesHandler) RegisterProbeOnBridge(bridgeUUID string, tid string, ft *flow.Table, bpfFilter string) error

RegisterProbeOnBridge registers a new probe on the OVS bridge

func (*OvsSFlowProbesHandler) Start

func (o *OvsSFlowProbesHandler) Start()

Start the probe

func (*OvsSFlowProbesHandler) Stop

func (o *OvsSFlowProbesHandler) Stop()

Stop the probe

func (*OvsSFlowProbesHandler) UnregisterProbe

func (o *OvsSFlowProbesHandler) UnregisterProbe(n *graph.Node) error

UnregisterProbe at the graph node

func (*OvsSFlowProbesHandler) UnregisterSFlowProbeFromBridge

func (o *OvsSFlowProbesHandler) UnregisterSFlowProbeFromBridge(bridgeUUID string) error

UnregisterSFlowProbeFromBridge unregisters a flow probe from the bridge selected by UUID

type PcapSocketProbe

type PcapSocketProbe struct {
	// contains filtered or unexported fields
}

PcapSocketProbe describes a TCP packet listener that inject packets in a flowtable

type PcapSocketProbeHandler

type PcapSocketProbeHandler struct {
	// contains filtered or unexported fields
}

PcapSocketProbeHandler describes a Pcap socket probe in the graph

func NewPcapSocketProbeHandler

func NewPcapSocketProbeHandler(g *graph.Graph) (*PcapSocketProbeHandler, error)

NewPcapSocketProbeHandler creates a new pcap socket probe

func (*PcapSocketProbeHandler) RegisterProbe

func (p *PcapSocketProbeHandler) RegisterProbe(n *graph.Node, capture *api.Capture, ft *flow.Table) error

RegisterProbe registers a new probe in the graph

func (*PcapSocketProbeHandler) Start

func (p *PcapSocketProbeHandler) Start()

Start the probe

func (*PcapSocketProbeHandler) Stop

func (p *PcapSocketProbeHandler) Stop()

Stop the probe

func (*PcapSocketProbeHandler) UnregisterProbe

func (p *PcapSocketProbeHandler) UnregisterProbe(n *graph.Node) error

UnregisterProbe a probe

type SFlowProbesHandler

type SFlowProbesHandler struct {
	FlowProbe
	Graph *graph.Graph
	// contains filtered or unexported fields
}

SFlowProbesHandler describes a SFlow probe in the graph

func NewSFlowProbesHandler

func NewSFlowProbesHandler(g *graph.Graph) (*SFlowProbesHandler, error)

NewSFlowProbesHandler creates a new SFlow probe in the graph

func (*SFlowProbesHandler) RegisterProbe

func (d *SFlowProbesHandler) RegisterProbe(n *graph.Node, capture *api.Capture, ft *flow.Table) error

RegisterProbe registers a probe in the graph

func (*SFlowProbesHandler) Start

func (d *SFlowProbesHandler) Start()

Start a probe

func (*SFlowProbesHandler) Stop

func (d *SFlowProbesHandler) Stop()

Stop a probe

func (*SFlowProbesHandler) UnregisterProbe

func (d *SFlowProbesHandler) UnregisterProbe(n *graph.Node) error

UnregisterProbe unregisters a probe from the graph

Directories

Path Synopsis
Package afpacket provides Go bindings for MMap'd AF_PACKET socket reading.
Package afpacket provides Go bindings for MMap'd AF_PACKET socket reading.

Jump to

Keyboard shortcuts

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