openflow

package
v0.24.0 Latest Latest
Warning

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

Go to latest
Published: Jul 16, 2019 License: Apache-2.0 Imports: 18 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrContextDone is returned what the context was done or canceled
	ErrContextDone = errors.New("Context was terminated")
	// ErrConnectionTimeout is returned when a timeout was reached when trying to connect
	ErrConnectionTimeout = errors.New("Timeout while connecting")
	// ErrReaderChannelClosed is returned when the read channel was closed
	ErrReaderChannelClosed = errors.New("Reader channel was closed")
)

Functions

This section is empty.

Types

type Client

type Client struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

Client describes an OpenFlow client

func NewClient

func NewClient(addr string, protocols []Protocol) (*Client, error)

NewClient returns a new OpenFlow client using either a UNIX socket or a TCP socket

func (*Client) GetProtocol

func (c *Client) GetProtocol() Protocol

GetProtocol returns the current protocol

func (*Client) PrepareMessage

func (c *Client) PrepareMessage(msg goloxi.Message)

PrepareMessage set the message xid and increment it

func (*Client) RegisterListener

func (c *Client) RegisterListener(listener Listener)

RegisterListener registers a new listener of the received messages

func (*Client) SendEcho

func (c *Client) SendEcho() error

SendEcho sends an OpenFlow echo message

func (*Client) SendMessage

func (c *Client) SendMessage(msg goloxi.Message) error

SendMessage sends a message to the switch

func (*Client) Start

func (c *Client) Start(ctx context.Context) (err error)

Start monitoring the OpenFlow bridge

func (*Client) Stop

func (c *Client) Stop() error

Stop the client

type Listener

type Listener interface {
	OnMessage(goloxi.Message)
}

Listener defines the interface implemented by monitor listeners

type OpenFlow10Protocol

type OpenFlow10Protocol struct {
}

OpenFlow10Protocol implements the basic methods for OpenFlow 1.0

var OpenFlow10 OpenFlow10Protocol

OpenFlow10 implements the 1.0 OpenFlow protocol basic methods

func (OpenFlow10Protocol) DecodeMessage

func (p OpenFlow10Protocol) DecodeMessage(data []byte) (goloxi.Message, error)

DecodeMessage parses an OpenFlow message

func (OpenFlow10Protocol) GetVersion

func (p OpenFlow10Protocol) GetVersion() uint8

GetVersion returns the OpenFlow protocol wire version

func (OpenFlow10Protocol) NewBarrierRequest

func (p OpenFlow10Protocol) NewBarrierRequest() goloxi.Message

NewBarrierRequest returns a new barrier request message

func (OpenFlow10Protocol) NewEchoReply

func (p OpenFlow10Protocol) NewEchoReply() goloxi.Message

NewEchoReply returns a new echo reply message

func (OpenFlow10Protocol) NewEchoRequest

func (p OpenFlow10Protocol) NewEchoRequest() goloxi.Message

NewEchoRequest returns a new echo request message

func (OpenFlow10Protocol) NewHello

func (p OpenFlow10Protocol) NewHello(versionBitmap uint32) goloxi.Message

NewHello returns a new hello message

func (OpenFlow10Protocol) String

func (p OpenFlow10Protocol) String() string

String returns the OpenFlow protocol version as a string

type OpenFlow11Protocol

type OpenFlow11Protocol struct {
}

OpenFlow11Protocol implements the basic methods for OpenFlow 1.1

var OpenFlow11 OpenFlow11Protocol

OpenFlow11 implements the 1.1 OpenFlow protocol basic methods

func (OpenFlow11Protocol) DecodeMessage

func (p OpenFlow11Protocol) DecodeMessage(data []byte) (goloxi.Message, error)

DecodeMessage parses an OpenFlow message

func (OpenFlow11Protocol) GetVersion

func (p OpenFlow11Protocol) GetVersion() uint8

GetVersion returns the OpenFlow protocol wire version

func (OpenFlow11Protocol) NewBarrierRequest

func (p OpenFlow11Protocol) NewBarrierRequest() goloxi.Message

NewBarrierRequest returns a new barrier request message

func (OpenFlow11Protocol) NewEchoReply

func (p OpenFlow11Protocol) NewEchoReply() goloxi.Message

NewEchoReply returns a new echo reply message

func (OpenFlow11Protocol) NewEchoRequest

func (p OpenFlow11Protocol) NewEchoRequest() goloxi.Message

NewEchoRequest returns a new echo request message

func (OpenFlow11Protocol) NewHello

func (p OpenFlow11Protocol) NewHello(versionBitmap uint32) goloxi.Message

NewHello returns a new hello message

func (OpenFlow11Protocol) String

func (p OpenFlow11Protocol) String() string

String returns the OpenFlow protocol version as a string

type OpenFlow12Protocol

type OpenFlow12Protocol struct {
}

OpenFlow12Protocol implements the basic methods for OpenFlow 1.2

var OpenFlow12 OpenFlow12Protocol

OpenFlow12 implements the 1.2 OpenFlow protocol basic methods

func (OpenFlow12Protocol) DecodeMessage

func (p OpenFlow12Protocol) DecodeMessage(data []byte) (goloxi.Message, error)

DecodeMessage parses an OpenFlow message

func (OpenFlow12Protocol) GetVersion

func (p OpenFlow12Protocol) GetVersion() uint8

GetVersion returns the OpenFlow protocol wire version

func (OpenFlow12Protocol) NewBarrierRequest

func (p OpenFlow12Protocol) NewBarrierRequest() goloxi.Message

NewBarrierRequest returns a new barrier request message

func (OpenFlow12Protocol) NewEchoReply

func (p OpenFlow12Protocol) NewEchoReply() goloxi.Message

NewEchoReply returns a new echo reply message

func (OpenFlow12Protocol) NewEchoRequest

func (p OpenFlow12Protocol) NewEchoRequest() goloxi.Message

NewEchoRequest returns a new echo request message

func (OpenFlow12Protocol) NewHello

func (p OpenFlow12Protocol) NewHello(versionBitmap uint32) goloxi.Message

NewHello returns a new hello message

func (OpenFlow12Protocol) String

func (p OpenFlow12Protocol) String() string

String returns the OpenFlow protocol version as a string

type OpenFlow13Protocol

type OpenFlow13Protocol struct {
}

OpenFlow13Protocol implements the basic methods for OpenFlow 1.3

var OpenFlow13 OpenFlow13Protocol

OpenFlow13 implements the 1.3 OpenFlow protocol basic methods

func (OpenFlow13Protocol) DecodeMessage

func (p OpenFlow13Protocol) DecodeMessage(data []byte) (goloxi.Message, error)

DecodeMessage parses an OpenFlow message

func (OpenFlow13Protocol) GetVersion

func (p OpenFlow13Protocol) GetVersion() uint8

GetVersion returns the OpenFlow protocol wire version

func (OpenFlow13Protocol) NewBarrierRequest

func (p OpenFlow13Protocol) NewBarrierRequest() goloxi.Message

NewBarrierRequest returns a new barrier request message

func (OpenFlow13Protocol) NewEchoReply

func (p OpenFlow13Protocol) NewEchoReply() goloxi.Message

NewEchoReply returns a new echo reply message

func (OpenFlow13Protocol) NewEchoRequest

func (p OpenFlow13Protocol) NewEchoRequest() goloxi.Message

NewEchoRequest returns a new echo request message

func (OpenFlow13Protocol) NewHello

func (p OpenFlow13Protocol) NewHello(versionBitmap uint32) goloxi.Message

NewHello returns a new hello message

func (OpenFlow13Protocol) String

func (p OpenFlow13Protocol) String() string

String returns the OpenFlow protocol version as a string

type OpenFlow14Protocol

type OpenFlow14Protocol struct {
}

OpenFlow14Protocol implements the basic methods for OpenFlow 1.4

var OpenFlow14 OpenFlow14Protocol

OpenFlow14 implements the 1.4 OpenFlow protocol basic methods

func (OpenFlow14Protocol) DecodeMessage

func (p OpenFlow14Protocol) DecodeMessage(data []byte) (goloxi.Message, error)

DecodeMessage parses an OpenFlow message

func (OpenFlow14Protocol) GetVersion

func (p OpenFlow14Protocol) GetVersion() uint8

GetVersion returns the OpenFlow protocol wire version

func (OpenFlow14Protocol) NewBarrierRequest

func (p OpenFlow14Protocol) NewBarrierRequest() goloxi.Message

NewBarrierRequest returns a new barrier request message

func (OpenFlow14Protocol) NewEchoReply

func (p OpenFlow14Protocol) NewEchoReply() goloxi.Message

NewEchoReply returns a new echo reply message

func (OpenFlow14Protocol) NewEchoRequest

func (p OpenFlow14Protocol) NewEchoRequest() goloxi.Message

NewEchoRequest returns a new echo request message

func (OpenFlow14Protocol) NewHello

func (p OpenFlow14Protocol) NewHello(versionBitmap uint32) goloxi.Message

NewHello returns a new hello message

func (OpenFlow14Protocol) String

func (p OpenFlow14Protocol) String() string

String returns the OpenFlow protocol version as a string

type OpenFlow15Protocol

type OpenFlow15Protocol struct {
}

OpenFlow15Protocol implements the basic methods for OpenFlow 1.5

var OpenFlow15 OpenFlow15Protocol

OpenFlow15 implements the 1.5 OpenFlow protocol basic methods

func (OpenFlow15Protocol) DecodeMessage

func (p OpenFlow15Protocol) DecodeMessage(data []byte) (goloxi.Message, error)

DecodeMessage parses an OpenFlow message

func (OpenFlow15Protocol) GetVersion

func (p OpenFlow15Protocol) GetVersion() uint8

GetVersion returns the OpenFlow protocol wire version

func (OpenFlow15Protocol) NewBarrierRequest

func (p OpenFlow15Protocol) NewBarrierRequest() goloxi.Message

NewBarrierRequest returns a new barrier request message

func (OpenFlow15Protocol) NewEchoReply

func (p OpenFlow15Protocol) NewEchoReply() goloxi.Message

NewEchoReply returns a new echo reply message

func (OpenFlow15Protocol) NewEchoRequest

func (p OpenFlow15Protocol) NewEchoRequest() goloxi.Message

NewEchoRequest returns a new echo request message

func (OpenFlow15Protocol) NewHello

func (p OpenFlow15Protocol) NewHello(versionBitmap uint32) goloxi.Message

NewHello returns a new hello message

func (OpenFlow15Protocol) String

func (p OpenFlow15Protocol) String() string

String returns the OpenFlow protocol version as a string

type Protocol

type Protocol interface {
	String() string
	GetVersion() uint8
	DecodeMessage(data []byte) (goloxi.Message, error)
	NewHello(versionBitmap uint32) goloxi.Message
	NewEchoRequest() goloxi.Message
	NewEchoReply() goloxi.Message
	NewBarrierRequest() goloxi.Message
}

Protocol describes the immutable part of an OpenFlow protocol version

Jump to

Keyboard shortcuts

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