ofpxx

package
v0.0.0-...-c228989 Latest Latest
Warning

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

Go to latest
Published: Jun 26, 2018 License: GPL-3.0 Imports: 3 Imported by: 0

Documentation

Overview

Package ofpxx defines OpenFlow message types that are version independent.

Index

Constants

View Source
const (
	HelloElemType_VersionBitmap
)

Variables

View Source
var NewOfp10Header func() Header = newHeaderGenerator(1)

Returns a new OpenFlow header with version field set to v1.0.

View Source
var NewOfp13Header func() Header = newHeaderGenerator(4)

Returns a new OpenFlow header with version field set to v1.3.

Functions

This section is empty.

Types

type Header struct {
	Version uint8
	Type    uint8
	Length  uint16
	Xid     uint32
}

The version specifies the OpenFlow protocol version being used. During the current draft phase of the OpenFlow Protocol, the most significant bit will be set to indicate an experimental version and the lower bits will indicate a revision number. The current version is 0x01. The final version for a Type 0 switch will be 0x00. The length field indicates the total length of the message, so no additional framing is used to distinguish one frame from the next.

func (*Header) Header

func (h *Header) Header() *Header

func (*Header) Len

func (h *Header) Len() (n uint16)

func (*Header) MarshalBinary

func (h *Header) MarshalBinary() (data []byte, err error)

func (*Header) UnmarshalBinary

func (h *Header) UnmarshalBinary(data []byte) error

type Hello

type Hello struct {
	Header
	Elements []HelloElem
}

The OFPT_HELLO message consists of an OpenFlow header plus a set of variable size hello elements. The version field part of the header field (see 7.1) must be set to the highest OpenFlow switch protocol version supported by the sender (see 6.3.1). The elements field is a set of hello elements, containing optional data to inform the initial handshake of the connection. Implementations must ignore (skip) all elements of a Hello message that they do not support. The version field part of the header field (see 7.1) must be set to the highest OpenFlow switch protocol version supported by the sender (see 6.3.1). The elements field is a set of hello elements, containing optional data to inform the initial handshake of the connection. Implementations must ignore (skip) all elements of a Hello message that they do not support.

func NewHello

func NewHello(ver int) (h *Hello, err error)

func (*Hello) Len

func (h *Hello) Len() (n uint16)

func (*Hello) MarshalBinary

func (h *Hello) MarshalBinary() (data []byte, err error)

func (*Hello) UnmarshalBinary

func (h *Hello) UnmarshalBinary(data []byte) error

type HelloElem

type HelloElem interface {
	Header() *HelloElemHeader
	util.Message
}

type HelloElemHeader

type HelloElemHeader struct {
	Type   uint16
	Length uint16
}

func NewHelloElemHeader

func NewHelloElemHeader() *HelloElemHeader

func (*HelloElemHeader) Header

func (h *HelloElemHeader) Header() *HelloElemHeader

func (*HelloElemHeader) Len

func (h *HelloElemHeader) Len() (n uint16)

func (*HelloElemHeader) MarshalBinary

func (h *HelloElemHeader) MarshalBinary() (data []byte, err error)

func (*HelloElemHeader) UnmarshalBinary

func (h *HelloElemHeader) UnmarshalBinary(data []byte) error

type HelloElemVersionBitmap

type HelloElemVersionBitmap struct {
	HelloElemHeader
	Bitmaps []uint32
}

func NewHelloElemVersionBitmap

func NewHelloElemVersionBitmap() *HelloElemVersionBitmap

func (*HelloElemVersionBitmap) Header

func (*HelloElemVersionBitmap) Len

func (h *HelloElemVersionBitmap) Len() (n uint16)

func (*HelloElemVersionBitmap) MarshalBinary

func (h *HelloElemVersionBitmap) MarshalBinary() (data []byte, err error)

func (*HelloElemVersionBitmap) UnmarshalBinary

func (h *HelloElemVersionBitmap) UnmarshalBinary(data []byte) error

Jump to

Keyboard shortcuts

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