nettle-openflow-0.1: High level configuration and control of computer networks.



This module provides a logical representation of OpenFlow switches and protocol messages. An OpenFlow message is either a switch-to-controller message or controller-to-switch message. In either case, each message is tagged with a unique message identifier.



type TransactionID = Word32Source

Every OpenFlow message is tagged with a MessageID value.

data SCMessage Source

The Switch can send the following messages to the controller.



Sent after a switch establishes a TCP connection to the controller

SCEchoRequest [Word8]

Switch requests an echo reply

SCEchoReply [Word8]

Switch responds to an echo request

Features SwitchFeatures

Switch reports its features

PacketIn PacketInfo

Switch sends a packet to the controller

PortStatus PortStatus

Switch sends port status

FlowRemoved FlowRemoved

Switch reports that a flow has been removed

StatsReply StatsReply

Switch reports statistics

Error SwitchError

Switch reports an error


Switch responds that a barrier has been processed

data CSMessage Source

The controller can send these messages to the switch.



Controller must send hello before sending any other messages

CSEchoRequest [Word8]

Controller requests a switch echo

CSEchoReply [Word8]

Controller responds to a switch echo request


Controller requests features information

PacketOut PacketOut

Controller commands switch to send a packet

FlowMod FlowMod

Controller modifies a switch flow table

PortMod PortMod

Controller configures a switch port

StatsRequest StatsRequest

Controller requests statistics


Controller requests a barrier