Net::OpenFlow::Protocol - Protocol library for OpenFlow.
Version 0.01
This module allows encoding and decoding of OpenFlow messages from an OpenFlow switch.
use Net::OpenFlow::Protocol;
my $ofp = Net::OpenFlow::Protocol->new;
my $of_message = $ofp->ofpt_decode(\$of_message);
my $of_message_type = $of_message->{'ofp_header'}{'type'};
bitfield_decode
This function will decode the bitfield specified by $bitfield into the $enum_type.
my $ret = $ofp->bitfield_decode($of_version, $enum_type, $bitfield);
bitfield_encode
This function will encode bits specified into the bitfield $enum_type.
my $ret = $ofp->bitfield_encode($of_version, $enum_type, $bits);
enum_lookup
This function will
my $ret = $ofp->enum_lookup($of_version, $enum_type, $lookup);
enum_lookup__by_value
my $ret = $ofp->enum_lookup__by_value($of_version, $enum_type, $lookup);
new
This is the constructor for the Net::OpenFlow::Protocol module.
ofpt_decode
This function decodes OpenFlow messages. The input is a reference to a scalar containing the OpenFlow message. The returned value is a hash reference containing the decoded message parameters. This always contains a ofp_header hash in the returned value which will have a type describing the message received. Based on this value the other parameters may be interpreted.
my $ret = $ofp->ofpt_decode(\$of_message);
my $of_message_type = $ret->{'ofp_header'}{'type'};
ofpt_encode
This function encodes OpenFlow messages. The inputs are the OpenFlow protocol version, the type of message to be encoded, the xid, arguements to the type of message and any message body. The struct_args are the members of the relevant OpenFlow struct. THe struct_body is any optional payload that will be attached to the message.
my $ret = $ofp->ofpt_encode($of_version, $of_type, $xid, $struct_args, $struct_body);
To install Net::OpenFlow, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Net::OpenFlow
CPAN shell
perl -MCPAN -e shell install Net::OpenFlow
For more information on module installation, please visit the detailed CPAN module installation guide.