mirror of
https://github.com/zeek/zeek.git
synced 2025-10-04 15:48:19 +00:00
Copy docs into Zeek repo directly
This is based on commit 2731def9159247e6da8a3191783c89683363689c from the zeek-docs repo.
This commit is contained in:
parent
83f1e74643
commit
ded98cd373
1074 changed files with 169319 additions and 0 deletions
14
doc/scripts/base/frameworks/openflow/__load__.zeek.rst
Normal file
14
doc/scripts/base/frameworks/openflow/__load__.zeek.rst
Normal file
|
@ -0,0 +1,14 @@
|
|||
:tocdepth: 3
|
||||
|
||||
base/frameworks/openflow/__load__.zeek
|
||||
======================================
|
||||
|
||||
|
||||
:Imports: :doc:`base/frameworks/cluster </scripts/base/frameworks/cluster/index>`, :doc:`base/frameworks/openflow/consts.zeek </scripts/base/frameworks/openflow/consts.zeek>`, :doc:`base/frameworks/openflow/main.zeek </scripts/base/frameworks/openflow/main.zeek>`, :doc:`base/frameworks/openflow/non-cluster.zeek </scripts/base/frameworks/openflow/non-cluster.zeek>`, :doc:`base/frameworks/openflow/plugins </scripts/base/frameworks/openflow/plugins/index>`, :doc:`base/frameworks/openflow/types.zeek </scripts/base/frameworks/openflow/types.zeek>`
|
||||
|
||||
Summary
|
||||
~~~~~~~
|
||||
|
||||
Detailed Interface
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
623
doc/scripts/base/frameworks/openflow/consts.zeek.rst
Normal file
623
doc/scripts/base/frameworks/openflow/consts.zeek.rst
Normal file
|
@ -0,0 +1,623 @@
|
|||
:tocdepth: 3
|
||||
|
||||
base/frameworks/openflow/consts.zeek
|
||||
====================================
|
||||
.. zeek:namespace:: OpenFlow
|
||||
|
||||
Constants used by the OpenFlow framework.
|
||||
|
||||
:Namespace: OpenFlow
|
||||
|
||||
Summary
|
||||
~~~~~~~
|
||||
Constants
|
||||
#########
|
||||
=============================================================== ======================================================================
|
||||
:zeek:id:`OpenFlow::ETH_APPLETALK`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::ETH_APPLETALK_ARP`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::ETH_ARP`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::ETH_EAP_OVER_LAN`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::ETH_ETHER_FLOW_CONTROL`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::ETH_IPX`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::ETH_IPX_OLD`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::ETH_IPv4`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::ETH_IPv6`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::ETH_JUMBO_FRAMES`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::ETH_MAC_SECURITY`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::ETH_MPLS_MULTICAST`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::ETH_MPLS_UNICAST`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::ETH_PPPOE_DISCOVERY`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::ETH_PPPOE_SESSION`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::ETH_PROVIDER_BRIDING`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::ETH_QINQ`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::ETH_RARP`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::ETH_VLAN`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::ETH_WOL`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::INVALID_COOKIE`: :zeek:type:`count` Return value for a cookie from a flow
|
||||
which is not added, modified or deleted
|
||||
from the Zeek openflow framework.
|
||||
:zeek:id:`OpenFlow::IP_CBT`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::IP_EGP`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::IP_ETHERIP`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::IP_FC`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::IP_GGP`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::IP_GRE`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::IP_HOPOPT`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::IP_ICMP`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::IP_IGMP`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::IP_IGP`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::IP_IPIP`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::IP_IPv6`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::IP_ISIS`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::IP_L2TP`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::IP_MPLS`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::IP_MTP`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::IP_OSPF`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::IP_RDP`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::IP_RSVP`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::IP_ST`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::IP_TCP`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::IP_UDP`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::OFPFF_CHECK_OVERLAP`: :zeek:type:`count` Check for overlapping entries first.
|
||||
:zeek:id:`OpenFlow::OFPFF_EMERG`: :zeek:type:`count` Remark this is for emergency.
|
||||
:zeek:id:`OpenFlow::OFPFF_SEND_FLOW_REM`: :zeek:type:`count` Send flow removed message when flow
|
||||
expires or is deleted.
|
||||
:zeek:id:`OpenFlow::OFPP_ALL`: :zeek:type:`count` All physical ports except input port.
|
||||
:zeek:id:`OpenFlow::OFPP_ANY`: :zeek:type:`count` Wildcard port used only for flow mod (delete) and flow stats requests.
|
||||
:zeek:id:`OpenFlow::OFPP_CONTROLLER`: :zeek:type:`count` Send to controller.
|
||||
:zeek:id:`OpenFlow::OFPP_FLOOD`: :zeek:type:`count` All physical ports except input port and
|
||||
those disabled by STP.
|
||||
:zeek:id:`OpenFlow::OFPP_IN_PORT`: :zeek:type:`count` Send the packet out the input port.
|
||||
:zeek:id:`OpenFlow::OFPP_LOCAL`: :zeek:type:`count` Local openflow "port".
|
||||
:zeek:id:`OpenFlow::OFPP_NORMAL`: :zeek:type:`count` Process with normal L2/L3 switching.
|
||||
:zeek:id:`OpenFlow::OFPP_TABLE`: :zeek:type:`count` Perform actions in flow table.
|
||||
:zeek:id:`OpenFlow::OFPTT_ALL`: :zeek:type:`count`
|
||||
:zeek:id:`OpenFlow::OFP_NO_BUFFER`: :zeek:type:`count`
|
||||
=============================================================== ======================================================================
|
||||
|
||||
Types
|
||||
#####
|
||||
============================================================== ======================================
|
||||
:zeek:type:`OpenFlow::ofp_action_type`: :zeek:type:`enum` Openflow action_type definitions.
|
||||
:zeek:type:`OpenFlow::ofp_config_flags`: :zeek:type:`enum` Openflow config flag definitions.
|
||||
:zeek:type:`OpenFlow::ofp_flow_mod_command`: :zeek:type:`enum` Openflow flow_mod_command definitions.
|
||||
============================================================== ======================================
|
||||
|
||||
|
||||
Detailed Interface
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
Constants
|
||||
#########
|
||||
.. zeek:id:: OpenFlow::ETH_APPLETALK
|
||||
:source-code: base/frameworks/openflow/consts.zeek 38 38
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``32923``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::ETH_APPLETALK_ARP
|
||||
:source-code: base/frameworks/openflow/consts.zeek 40 40
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``33011``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::ETH_ARP
|
||||
:source-code: base/frameworks/openflow/consts.zeek 32 32
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``2054``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::ETH_EAP_OVER_LAN
|
||||
:source-code: base/frameworks/openflow/consts.zeek 62 62
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``34958``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::ETH_ETHER_FLOW_CONTROL
|
||||
:source-code: base/frameworks/openflow/consts.zeek 50 50
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``34824``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::ETH_IPX
|
||||
:source-code: base/frameworks/openflow/consts.zeek 46 46
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``33080``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::ETH_IPX_OLD
|
||||
:source-code: base/frameworks/openflow/consts.zeek 44 44
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``33079``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::ETH_IPv4
|
||||
:source-code: base/frameworks/openflow/consts.zeek 30 30
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``2048``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::ETH_IPv6
|
||||
:source-code: base/frameworks/openflow/consts.zeek 48 48
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``34525``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::ETH_JUMBO_FRAMES
|
||||
:source-code: base/frameworks/openflow/consts.zeek 60 60
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``34928``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::ETH_MAC_SECURITY
|
||||
:source-code: base/frameworks/openflow/consts.zeek 66 66
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``35045``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::ETH_MPLS_MULTICAST
|
||||
:source-code: base/frameworks/openflow/consts.zeek 54 54
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``34888``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::ETH_MPLS_UNICAST
|
||||
:source-code: base/frameworks/openflow/consts.zeek 52 52
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``34887``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::ETH_PPPOE_DISCOVERY
|
||||
:source-code: base/frameworks/openflow/consts.zeek 56 56
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``34915``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::ETH_PPPOE_SESSION
|
||||
:source-code: base/frameworks/openflow/consts.zeek 58 58
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``34916``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::ETH_PROVIDER_BRIDING
|
||||
:source-code: base/frameworks/openflow/consts.zeek 64 64
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``34984``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::ETH_QINQ
|
||||
:source-code: base/frameworks/openflow/consts.zeek 68 68
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``37120``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::ETH_RARP
|
||||
:source-code: base/frameworks/openflow/consts.zeek 36 36
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``32821``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::ETH_VLAN
|
||||
:source-code: base/frameworks/openflow/consts.zeek 42 42
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``33024``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::ETH_WOL
|
||||
:source-code: base/frameworks/openflow/consts.zeek 34 34
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``2114``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::INVALID_COOKIE
|
||||
:source-code: base/frameworks/openflow/consts.zeek 126 126
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``9223372036854775807``
|
||||
|
||||
Return value for a cookie from a flow
|
||||
which is not added, modified or deleted
|
||||
from the Zeek openflow framework.
|
||||
|
||||
.. zeek:id:: OpenFlow::IP_CBT
|
||||
:source-code: base/frameworks/openflow/consts.zeek 89 89
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``7``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::IP_EGP
|
||||
:source-code: base/frameworks/openflow/consts.zeek 91 91
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``8``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::IP_ETHERIP
|
||||
:source-code: base/frameworks/openflow/consts.zeek 112 112
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``97``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::IP_FC
|
||||
:source-code: base/frameworks/openflow/consts.zeek 118 118
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``133``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::IP_GGP
|
||||
:source-code: base/frameworks/openflow/consts.zeek 81 81
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``3``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::IP_GRE
|
||||
:source-code: base/frameworks/openflow/consts.zeek 104 104
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``47``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::IP_HOPOPT
|
||||
:source-code: base/frameworks/openflow/consts.zeek 75 75
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``0``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::IP_ICMP
|
||||
:source-code: base/frameworks/openflow/consts.zeek 77 77
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``1``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::IP_IGMP
|
||||
:source-code: base/frameworks/openflow/consts.zeek 79 79
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``2``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::IP_IGP
|
||||
:source-code: base/frameworks/openflow/consts.zeek 94 94
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``9``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::IP_IPIP
|
||||
:source-code: base/frameworks/openflow/consts.zeek 83 83
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``4``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::IP_IPv6
|
||||
:source-code: base/frameworks/openflow/consts.zeek 100 100
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``41``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::IP_ISIS
|
||||
:source-code: base/frameworks/openflow/consts.zeek 116 116
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``124``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::IP_L2TP
|
||||
:source-code: base/frameworks/openflow/consts.zeek 114 114
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``115``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::IP_MPLS
|
||||
:source-code: base/frameworks/openflow/consts.zeek 120 120
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``137``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::IP_MTP
|
||||
:source-code: base/frameworks/openflow/consts.zeek 108 108
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``92``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::IP_OSPF
|
||||
:source-code: base/frameworks/openflow/consts.zeek 106 106
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``89``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::IP_RDP
|
||||
:source-code: base/frameworks/openflow/consts.zeek 98 98
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``27``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::IP_RSVP
|
||||
:source-code: base/frameworks/openflow/consts.zeek 102 102
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``46``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::IP_ST
|
||||
:source-code: base/frameworks/openflow/consts.zeek 85 85
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``5``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::IP_TCP
|
||||
:source-code: base/frameworks/openflow/consts.zeek 87 87
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``6``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::IP_UDP
|
||||
:source-code: base/frameworks/openflow/consts.zeek 96 96
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``17``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::OFPFF_CHECK_OVERLAP
|
||||
:source-code: base/frameworks/openflow/consts.zeek 155 155
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``2``
|
||||
|
||||
Check for overlapping entries first.
|
||||
|
||||
.. zeek:id:: OpenFlow::OFPFF_EMERG
|
||||
:source-code: base/frameworks/openflow/consts.zeek 159 159
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``4``
|
||||
|
||||
Remark this is for emergency.
|
||||
Flows added with this are only used
|
||||
when the controller is disconnected.
|
||||
|
||||
.. zeek:id:: OpenFlow::OFPFF_SEND_FLOW_REM
|
||||
:source-code: base/frameworks/openflow/consts.zeek 153 153
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``1``
|
||||
|
||||
Send flow removed message when flow
|
||||
expires or is deleted.
|
||||
|
||||
.. zeek:id:: OpenFlow::OFPP_ALL
|
||||
:source-code: base/frameworks/openflow/consts.zeek 142 142
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``4294967292``
|
||||
|
||||
All physical ports except input port.
|
||||
|
||||
.. zeek:id:: OpenFlow::OFPP_ANY
|
||||
:source-code: base/frameworks/openflow/consts.zeek 148 148
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``4294967295``
|
||||
|
||||
Wildcard port used only for flow mod (delete) and flow stats requests.
|
||||
|
||||
.. zeek:id:: OpenFlow::OFPP_CONTROLLER
|
||||
:source-code: base/frameworks/openflow/consts.zeek 144 144
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``4294967293``
|
||||
|
||||
Send to controller.
|
||||
|
||||
.. zeek:id:: OpenFlow::OFPP_FLOOD
|
||||
:source-code: base/frameworks/openflow/consts.zeek 140 140
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``4294967291``
|
||||
|
||||
All physical ports except input port and
|
||||
those disabled by STP.
|
||||
|
||||
.. zeek:id:: OpenFlow::OFPP_IN_PORT
|
||||
:source-code: base/frameworks/openflow/consts.zeek 131 131
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``4294967288``
|
||||
|
||||
Send the packet out the input port. This
|
||||
virtual port must be explicitly used in
|
||||
order to send back out of the input port.
|
||||
|
||||
.. zeek:id:: OpenFlow::OFPP_LOCAL
|
||||
:source-code: base/frameworks/openflow/consts.zeek 146 146
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``4294967294``
|
||||
|
||||
Local openflow "port".
|
||||
|
||||
.. zeek:id:: OpenFlow::OFPP_NORMAL
|
||||
:source-code: base/frameworks/openflow/consts.zeek 137 137
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``4294967290``
|
||||
|
||||
Process with normal L2/L3 switching.
|
||||
|
||||
.. zeek:id:: OpenFlow::OFPP_TABLE
|
||||
:source-code: base/frameworks/openflow/consts.zeek 135 135
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``4294967289``
|
||||
|
||||
Perform actions in flow table.
|
||||
NB: This can only be the destination port
|
||||
for packet-out messages.
|
||||
|
||||
.. zeek:id:: OpenFlow::OFPTT_ALL
|
||||
:source-code: base/frameworks/openflow/consts.zeek 163 163
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``255``
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::OFP_NO_BUFFER
|
||||
:source-code: base/frameworks/openflow/consts.zeek 150 150
|
||||
|
||||
:Type: :zeek:type:`count`
|
||||
:Default: ``4294967295``
|
||||
|
||||
|
||||
Types
|
||||
#####
|
||||
.. zeek:type:: OpenFlow::ofp_action_type
|
||||
:source-code: base/frameworks/openflow/consts.zeek 170 198
|
||||
|
||||
:Type: :zeek:type:`enum`
|
||||
|
||||
.. zeek:enum:: OpenFlow::OFPAT_OUTPUT OpenFlow::ofp_action_type
|
||||
|
||||
Output to switch port.
|
||||
|
||||
.. zeek:enum:: OpenFlow::OFPAT_SET_VLAN_VID OpenFlow::ofp_action_type
|
||||
|
||||
Set the 802.1q VLAN id.
|
||||
|
||||
.. zeek:enum:: OpenFlow::OFPAT_SET_VLAN_PCP OpenFlow::ofp_action_type
|
||||
|
||||
Set the 802.1q priority.
|
||||
|
||||
.. zeek:enum:: OpenFlow::OFPAT_STRIP_VLAN OpenFlow::ofp_action_type
|
||||
|
||||
Strip the 802.1q header.
|
||||
|
||||
.. zeek:enum:: OpenFlow::OFPAT_SET_DL_SRC OpenFlow::ofp_action_type
|
||||
|
||||
Ethernet source address.
|
||||
|
||||
.. zeek:enum:: OpenFlow::OFPAT_SET_DL_DST OpenFlow::ofp_action_type
|
||||
|
||||
Ethernet destination address.
|
||||
|
||||
.. zeek:enum:: OpenFlow::OFPAT_SET_NW_SRC OpenFlow::ofp_action_type
|
||||
|
||||
IP source address.
|
||||
|
||||
.. zeek:enum:: OpenFlow::OFPAT_SET_NW_DST OpenFlow::ofp_action_type
|
||||
|
||||
IP destination address.
|
||||
|
||||
.. zeek:enum:: OpenFlow::OFPAT_SET_NW_TOS OpenFlow::ofp_action_type
|
||||
|
||||
IP ToS (DSCP field, 6 bits).
|
||||
|
||||
.. zeek:enum:: OpenFlow::OFPAT_SET_TP_SRC OpenFlow::ofp_action_type
|
||||
|
||||
TCP/UDP source port.
|
||||
|
||||
.. zeek:enum:: OpenFlow::OFPAT_SET_TP_DST OpenFlow::ofp_action_type
|
||||
|
||||
TCP/UDP destination port.
|
||||
|
||||
.. zeek:enum:: OpenFlow::OFPAT_ENQUEUE OpenFlow::ofp_action_type
|
||||
|
||||
Output to queue.
|
||||
|
||||
.. zeek:enum:: OpenFlow::OFPAT_VENDOR OpenFlow::ofp_action_type
|
||||
|
||||
Vendor specific.
|
||||
|
||||
Openflow action_type definitions.
|
||||
|
||||
The openflow action type defines
|
||||
what actions openflow can take
|
||||
to modify a packet
|
||||
|
||||
.. zeek:type:: OpenFlow::ofp_config_flags
|
||||
:source-code: base/frameworks/openflow/consts.zeek 219 228
|
||||
|
||||
:Type: :zeek:type:`enum`
|
||||
|
||||
.. zeek:enum:: OpenFlow::OFPC_FRAG_NORMAL OpenFlow::ofp_config_flags
|
||||
|
||||
No special handling for fragments.
|
||||
|
||||
.. zeek:enum:: OpenFlow::OFPC_FRAG_DROP OpenFlow::ofp_config_flags
|
||||
|
||||
Drop fragments.
|
||||
|
||||
.. zeek:enum:: OpenFlow::OFPC_FRAG_REASM OpenFlow::ofp_config_flags
|
||||
|
||||
Reassemble (only if OFPC_IP_REASM set).
|
||||
|
||||
.. zeek:enum:: OpenFlow::OFPC_FRAG_MASK OpenFlow::ofp_config_flags
|
||||
|
||||
Openflow config flag definitions.
|
||||
|
||||
TODO: describe
|
||||
|
||||
.. zeek:type:: OpenFlow::ofp_flow_mod_command
|
||||
:source-code: base/frameworks/openflow/consts.zeek 203 215
|
||||
|
||||
:Type: :zeek:type:`enum`
|
||||
|
||||
.. zeek:enum:: OpenFlow::OFPFC_ADD OpenFlow::ofp_flow_mod_command
|
||||
|
||||
New flow.
|
||||
|
||||
.. zeek:enum:: OpenFlow::OFPFC_MODIFY OpenFlow::ofp_flow_mod_command
|
||||
|
||||
Modify all matching flows.
|
||||
|
||||
.. zeek:enum:: OpenFlow::OFPFC_MODIFY_STRICT OpenFlow::ofp_flow_mod_command
|
||||
|
||||
Modify entry strictly matching wildcards.
|
||||
|
||||
.. zeek:enum:: OpenFlow::OFPFC_DELETE OpenFlow::ofp_flow_mod_command
|
||||
|
||||
Delete all matching flows.
|
||||
|
||||
.. zeek:enum:: OpenFlow::OFPFC_DELETE_STRICT OpenFlow::ofp_flow_mod_command
|
||||
|
||||
Strictly matching wildcards and priority.
|
||||
|
||||
Openflow flow_mod_command definitions.
|
||||
|
||||
The openflow flow_mod_command describes
|
||||
of what kind an action is.
|
||||
|
||||
|
50
doc/scripts/base/frameworks/openflow/index.rst
Normal file
50
doc/scripts/base/frameworks/openflow/index.rst
Normal file
|
@ -0,0 +1,50 @@
|
|||
:orphan:
|
||||
|
||||
Package: base/frameworks/openflow
|
||||
=================================
|
||||
|
||||
The OpenFlow framework exposes the data structures and functions
|
||||
necessary to interface to OpenFlow capable hardware.
|
||||
|
||||
:doc:`/scripts/base/frameworks/openflow/__load__.zeek`
|
||||
|
||||
|
||||
:doc:`/scripts/base/frameworks/openflow/consts.zeek`
|
||||
|
||||
Constants used by the OpenFlow framework.
|
||||
|
||||
:doc:`/scripts/base/frameworks/openflow/types.zeek`
|
||||
|
||||
Types used by the OpenFlow framework.
|
||||
|
||||
:doc:`/scripts/base/frameworks/openflow/main.zeek`
|
||||
|
||||
Zeek's OpenFlow control framework.
|
||||
|
||||
This plugin-based framework allows to control OpenFlow capable
|
||||
switches by implementing communication to an OpenFlow controller
|
||||
via plugins. The framework has to be instantiated via the new function
|
||||
in one of the plugins. This framework only offers very low-level
|
||||
functionality; if you want to use OpenFlow capable switches, e.g.,
|
||||
for shunting, please look at the NetControl framework, which provides higher
|
||||
level functions and can use the OpenFlow framework as a backend.
|
||||
|
||||
:doc:`/scripts/base/frameworks/openflow/plugins/__load__.zeek`
|
||||
|
||||
|
||||
:doc:`/scripts/base/frameworks/openflow/plugins/ryu.zeek`
|
||||
|
||||
OpenFlow plugin for the Ryu controller.
|
||||
|
||||
:doc:`/scripts/base/frameworks/openflow/plugins/log.zeek`
|
||||
|
||||
OpenFlow plugin that outputs flow-modification commands
|
||||
to a Zeek log file.
|
||||
|
||||
:doc:`/scripts/base/frameworks/openflow/plugins/broker.zeek`
|
||||
|
||||
OpenFlow plugin for interfacing to controllers via Broker.
|
||||
|
||||
:doc:`/scripts/base/frameworks/openflow/non-cluster.zeek`
|
||||
|
||||
|
279
doc/scripts/base/frameworks/openflow/main.zeek.rst
Normal file
279
doc/scripts/base/frameworks/openflow/main.zeek.rst
Normal file
|
@ -0,0 +1,279 @@
|
|||
:tocdepth: 3
|
||||
|
||||
base/frameworks/openflow/main.zeek
|
||||
==================================
|
||||
.. zeek:namespace:: OpenFlow
|
||||
|
||||
Zeek's OpenFlow control framework.
|
||||
|
||||
This plugin-based framework allows to control OpenFlow capable
|
||||
switches by implementing communication to an OpenFlow controller
|
||||
via plugins. The framework has to be instantiated via the new function
|
||||
in one of the plugins. This framework only offers very low-level
|
||||
functionality; if you want to use OpenFlow capable switches, e.g.,
|
||||
for shunting, please look at the NetControl framework, which provides higher
|
||||
level functions and can use the OpenFlow framework as a backend.
|
||||
|
||||
:Namespace: OpenFlow
|
||||
:Imports: :doc:`base/frameworks/openflow/consts.zeek </scripts/base/frameworks/openflow/consts.zeek>`, :doc:`base/frameworks/openflow/types.zeek </scripts/base/frameworks/openflow/types.zeek>`
|
||||
|
||||
Summary
|
||||
~~~~~~~
|
||||
Events
|
||||
######
|
||||
============================================================= =============================================================================================
|
||||
:zeek:id:`OpenFlow::controller_activated`: :zeek:type:`event` Event that is raised once a controller finishes initialization
|
||||
and is completely activated.
|
||||
:zeek:id:`OpenFlow::flow_mod_failure`: :zeek:type:`event` Reports an error while installing a flow Rule.
|
||||
:zeek:id:`OpenFlow::flow_mod_success`: :zeek:type:`event` Event confirming successful modification of a flow rule.
|
||||
:zeek:id:`OpenFlow::flow_removed`: :zeek:type:`event` Reports that a flow was removed by the switch because of either the hard or the idle timeout.
|
||||
============================================================= =============================================================================================
|
||||
|
||||
Functions
|
||||
#########
|
||||
================================================================= =====================================================================
|
||||
:zeek:id:`OpenFlow::controller_init_done`: :zeek:type:`function` Function to signal that a controller finished activation and is
|
||||
ready to use.
|
||||
:zeek:id:`OpenFlow::flow_clear`: :zeek:type:`function` Clear the current flow table of the controller.
|
||||
:zeek:id:`OpenFlow::flow_mod`: :zeek:type:`function` Global flow_mod function.
|
||||
:zeek:id:`OpenFlow::generate_cookie`: :zeek:type:`function` Function to generate a new cookie using our group id.
|
||||
:zeek:id:`OpenFlow::get_cookie_gid`: :zeek:type:`function` Function to get the group id out of a given cookie.
|
||||
:zeek:id:`OpenFlow::get_cookie_uid`: :zeek:type:`function` Function to get the unique id out of a given cookie.
|
||||
:zeek:id:`OpenFlow::lookup_controller`: :zeek:type:`function` Function to lookup a controller instance by name.
|
||||
:zeek:id:`OpenFlow::match_conn`: :zeek:type:`function` Convert a conn_id record into an ofp_match record that can be used to
|
||||
create match objects for OpenFlow.
|
||||
:zeek:id:`OpenFlow::register_controller`: :zeek:type:`function` Function to register a controller instance.
|
||||
:zeek:id:`OpenFlow::unregister_controller`: :zeek:type:`function` Function to unregister a controller instance.
|
||||
================================================================= =====================================================================
|
||||
|
||||
|
||||
Detailed Interface
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
Events
|
||||
######
|
||||
.. zeek:id:: OpenFlow::controller_activated
|
||||
:source-code: base/frameworks/netcontrol/plugins/openflow.zeek 433 437
|
||||
|
||||
:Type: :zeek:type:`event` (name: :zeek:type:`string`, controller: :zeek:type:`OpenFlow::Controller`)
|
||||
|
||||
Event that is raised once a controller finishes initialization
|
||||
and is completely activated.
|
||||
|
||||
:param name: Unique name of this controller instance.
|
||||
|
||||
|
||||
:param controller: The controller that finished activation.
|
||||
|
||||
.. zeek:id:: OpenFlow::flow_mod_failure
|
||||
:source-code: base/frameworks/netcontrol/plugins/openflow.zeek 383 394
|
||||
|
||||
:Type: :zeek:type:`event` (name: :zeek:type:`string`, match: :zeek:type:`OpenFlow::ofp_match`, flow_mod: :zeek:type:`OpenFlow::ofp_flow_mod`, msg: :zeek:type:`string` :zeek:attr:`&default` = ``""`` :zeek:attr:`&optional`)
|
||||
|
||||
Reports an error while installing a flow Rule.
|
||||
|
||||
|
||||
:param name: The unique name of the OpenFlow controller from which this event originated.
|
||||
|
||||
|
||||
:param match: The ofp_match record which describes the flow to match.
|
||||
|
||||
|
||||
:param flow_mod: The openflow flow_mod record which describes the action to take.
|
||||
|
||||
|
||||
:param msg: Message to describe the event.
|
||||
|
||||
.. zeek:id:: OpenFlow::flow_mod_success
|
||||
:source-code: base/frameworks/netcontrol/plugins/openflow.zeek 356 381
|
||||
|
||||
:Type: :zeek:type:`event` (name: :zeek:type:`string`, match: :zeek:type:`OpenFlow::ofp_match`, flow_mod: :zeek:type:`OpenFlow::ofp_flow_mod`, msg: :zeek:type:`string` :zeek:attr:`&default` = ``""`` :zeek:attr:`&optional`)
|
||||
|
||||
Event confirming successful modification of a flow rule.
|
||||
|
||||
|
||||
:param name: The unique name of the OpenFlow controller from which this event originated.
|
||||
|
||||
|
||||
:param match: The ofp_match record which describes the flow to match.
|
||||
|
||||
|
||||
:param flow_mod: The openflow flow_mod record which describes the action to take.
|
||||
|
||||
|
||||
:param msg: An optional informational message by the plugin.
|
||||
|
||||
.. zeek:id:: OpenFlow::flow_removed
|
||||
:source-code: base/frameworks/netcontrol/plugins/openflow.zeek 396 418
|
||||
|
||||
:Type: :zeek:type:`event` (name: :zeek:type:`string`, match: :zeek:type:`OpenFlow::ofp_match`, cookie: :zeek:type:`count`, priority: :zeek:type:`count`, reason: :zeek:type:`count`, duration_sec: :zeek:type:`count`, idle_timeout: :zeek:type:`count`, packet_count: :zeek:type:`count`, byte_count: :zeek:type:`count`)
|
||||
|
||||
Reports that a flow was removed by the switch because of either the hard or the idle timeout.
|
||||
This message is only generated by controllers that indicate that they support flow removal
|
||||
in supports_flow_removed.
|
||||
|
||||
|
||||
:param name: The unique name of the OpenFlow controller from which this event originated.
|
||||
|
||||
|
||||
:param match: The ofp_match record which was used to create the flow.
|
||||
|
||||
|
||||
:param cookie: The cookie that was specified when creating the flow.
|
||||
|
||||
|
||||
:param priority: The priority that was specified when creating the flow.
|
||||
|
||||
|
||||
:param reason: The reason for flow removal (OFPRR_*).
|
||||
|
||||
|
||||
:param duration_sec: Duration of the flow in seconds.
|
||||
|
||||
|
||||
:param packet_count: Packet count of the flow.
|
||||
|
||||
|
||||
:param byte_count: Byte count of the flow.
|
||||
|
||||
Functions
|
||||
#########
|
||||
.. zeek:id:: OpenFlow::controller_init_done
|
||||
:source-code: base/frameworks/openflow/main.zeek 242 252
|
||||
|
||||
:Type: :zeek:type:`function` (controller: :zeek:type:`OpenFlow::Controller`) : :zeek:type:`void`
|
||||
|
||||
Function to signal that a controller finished activation and is
|
||||
ready to use. Will throw the ``OpenFlow::controller_activated``
|
||||
event.
|
||||
|
||||
.. zeek:id:: OpenFlow::flow_clear
|
||||
:source-code: base/frameworks/openflow/non-cluster.zeek 17 26
|
||||
|
||||
:Type: :zeek:type:`function` (controller: :zeek:type:`OpenFlow::Controller`) : :zeek:type:`bool`
|
||||
|
||||
Clear the current flow table of the controller.
|
||||
|
||||
|
||||
:param controller: The controller which should execute the flow modification.
|
||||
|
||||
|
||||
:returns: F on error or if the plugin does not support the operation, T when the operation was queued.
|
||||
|
||||
.. zeek:id:: OpenFlow::flow_mod
|
||||
:source-code: base/frameworks/openflow/non-cluster.zeek 6 15
|
||||
|
||||
:Type: :zeek:type:`function` (controller: :zeek:type:`OpenFlow::Controller`, match: :zeek:type:`OpenFlow::ofp_match`, flow_mod: :zeek:type:`OpenFlow::ofp_flow_mod`) : :zeek:type:`bool`
|
||||
|
||||
Global flow_mod function.
|
||||
|
||||
|
||||
:param controller: The controller which should execute the flow modification.
|
||||
|
||||
|
||||
:param match: The ofp_match record which describes the flow to match.
|
||||
|
||||
|
||||
:param flow_mod: The openflow flow_mod record which describes the action to take.
|
||||
|
||||
|
||||
:returns: F on error or if the plugin does not support the operation, T when the operation was queued.
|
||||
|
||||
.. zeek:id:: OpenFlow::generate_cookie
|
||||
:source-code: base/frameworks/openflow/main.zeek 199 209
|
||||
|
||||
:Type: :zeek:type:`function` (cookie: :zeek:type:`count` :zeek:attr:`&default` = ``0`` :zeek:attr:`&optional`) : :zeek:type:`count`
|
||||
|
||||
Function to generate a new cookie using our group id.
|
||||
|
||||
|
||||
:param cookie: The openflow match cookie.
|
||||
|
||||
|
||||
:returns: The cookie group id.
|
||||
|
||||
.. zeek:id:: OpenFlow::get_cookie_gid
|
||||
:source-code: base/frameworks/openflow/main.zeek 230 240
|
||||
|
||||
:Type: :zeek:type:`function` (cookie: :zeek:type:`count`) : :zeek:type:`count`
|
||||
|
||||
Function to get the group id out of a given cookie.
|
||||
|
||||
|
||||
:param cookie: The openflow match cookie.
|
||||
|
||||
|
||||
:returns: The cookie group id.
|
||||
|
||||
.. zeek:id:: OpenFlow::get_cookie_uid
|
||||
:source-code: base/frameworks/openflow/main.zeek 222 228
|
||||
|
||||
:Type: :zeek:type:`function` (cookie: :zeek:type:`count`) : :zeek:type:`count`
|
||||
|
||||
Function to get the unique id out of a given cookie.
|
||||
|
||||
|
||||
:param cookie: The openflow match cookie.
|
||||
|
||||
|
||||
:returns: The cookie unique id.
|
||||
|
||||
.. zeek:id:: OpenFlow::lookup_controller
|
||||
:source-code: base/frameworks/openflow/non-cluster.zeek 41 44
|
||||
|
||||
:Type: :zeek:type:`function` (name: :zeek:type:`string`) : :zeek:type:`vector` of :zeek:type:`OpenFlow::Controller`
|
||||
|
||||
Function to lookup a controller instance by name.
|
||||
|
||||
|
||||
:param name: Unique name of the controller to look up.
|
||||
|
||||
|
||||
:returns: One element vector with controller, if found. Empty vector otherwise.
|
||||
|
||||
.. zeek:id:: OpenFlow::match_conn
|
||||
:source-code: base/frameworks/openflow/main.zeek 153 194
|
||||
|
||||
:Type: :zeek:type:`function` (id: :zeek:type:`conn_id`, reverse: :zeek:type:`bool` :zeek:attr:`&default` = ``F`` :zeek:attr:`&optional`) : :zeek:type:`OpenFlow::ofp_match`
|
||||
|
||||
Convert a conn_id record into an ofp_match record that can be used to
|
||||
create match objects for OpenFlow.
|
||||
|
||||
|
||||
:param id: The conn_id record that describes the record.
|
||||
|
||||
|
||||
:param reverse: Reverse the sources and destinations when creating the match record (default F).
|
||||
|
||||
|
||||
:returns: ofp_match object for the conn_id record.
|
||||
|
||||
.. zeek:id:: OpenFlow::register_controller
|
||||
:source-code: base/frameworks/openflow/non-cluster.zeek 28 34
|
||||
|
||||
:Type: :zeek:type:`function` (tpe: :zeek:type:`OpenFlow::Plugin`, name: :zeek:type:`string`, controller: :zeek:type:`OpenFlow::Controller`) : :zeek:type:`void`
|
||||
|
||||
Function to register a controller instance. This function
|
||||
is called automatically by the plugin _new functions.
|
||||
|
||||
|
||||
:param tpe: Type of this plugin.
|
||||
|
||||
|
||||
:param name: Unique name of this controller instance.
|
||||
|
||||
|
||||
:param controller: The controller to register.
|
||||
|
||||
.. zeek:id:: OpenFlow::unregister_controller
|
||||
:source-code: base/frameworks/openflow/non-cluster.zeek 36 39
|
||||
|
||||
:Type: :zeek:type:`function` (controller: :zeek:type:`OpenFlow::Controller`) : :zeek:type:`void`
|
||||
|
||||
Function to unregister a controller instance. This function
|
||||
should be called when a specific controller should no longer
|
||||
be used.
|
||||
|
||||
|
||||
:param controller: The controller to unregister.
|
||||
|
||||
|
16
doc/scripts/base/frameworks/openflow/non-cluster.zeek.rst
Normal file
16
doc/scripts/base/frameworks/openflow/non-cluster.zeek.rst
Normal file
|
@ -0,0 +1,16 @@
|
|||
:tocdepth: 3
|
||||
|
||||
base/frameworks/openflow/non-cluster.zeek
|
||||
=========================================
|
||||
.. zeek:namespace:: OpenFlow
|
||||
|
||||
|
||||
:Namespace: OpenFlow
|
||||
:Imports: :doc:`base/frameworks/openflow/main.zeek </scripts/base/frameworks/openflow/main.zeek>`
|
||||
|
||||
Summary
|
||||
~~~~~~~
|
||||
|
||||
Detailed Interface
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
:tocdepth: 3
|
||||
|
||||
base/frameworks/openflow/plugins/__load__.zeek
|
||||
==============================================
|
||||
|
||||
|
||||
:Imports: :doc:`base/frameworks/openflow/plugins/broker.zeek </scripts/base/frameworks/openflow/plugins/broker.zeek>`, :doc:`base/frameworks/openflow/plugins/log.zeek </scripts/base/frameworks/openflow/plugins/log.zeek>`, :doc:`base/frameworks/openflow/plugins/ryu.zeek </scripts/base/frameworks/openflow/plugins/ryu.zeek>`
|
||||
|
||||
Summary
|
||||
~~~~~~~
|
||||
|
||||
Detailed Interface
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
91
doc/scripts/base/frameworks/openflow/plugins/broker.zeek.rst
Normal file
91
doc/scripts/base/frameworks/openflow/plugins/broker.zeek.rst
Normal file
|
@ -0,0 +1,91 @@
|
|||
:tocdepth: 3
|
||||
|
||||
base/frameworks/openflow/plugins/broker.zeek
|
||||
============================================
|
||||
.. zeek:namespace:: OpenFlow
|
||||
|
||||
OpenFlow plugin for interfacing to controllers via Broker.
|
||||
|
||||
:Namespace: OpenFlow
|
||||
:Imports: :doc:`base/frameworks/broker </scripts/base/frameworks/broker/index>`, :doc:`base/frameworks/openflow </scripts/base/frameworks/openflow/index>`
|
||||
|
||||
Summary
|
||||
~~~~~~~
|
||||
Redefinitions
|
||||
#############
|
||||
=============================================================================== ==========================================================
|
||||
:zeek:type:`OpenFlow::ControllerState`: :zeek:type:`record` :zeek:attr:`&redef`
|
||||
|
||||
:New Fields: :zeek:type:`OpenFlow::ControllerState`
|
||||
|
||||
broker_host: :zeek:type:`addr` :zeek:attr:`&optional`
|
||||
Controller ip.
|
||||
|
||||
broker_port: :zeek:type:`port` :zeek:attr:`&optional`
|
||||
Controller listen port.
|
||||
|
||||
broker_dpid: :zeek:type:`count` :zeek:attr:`&optional`
|
||||
OpenFlow switch datapath id.
|
||||
|
||||
broker_topic: :zeek:type:`string` :zeek:attr:`&optional`
|
||||
Topic to send events for this controller to.
|
||||
:zeek:type:`OpenFlow::Plugin`: :zeek:type:`enum`
|
||||
|
||||
* :zeek:enum:`OpenFlow::BROKER`
|
||||
=============================================================================== ==========================================================
|
||||
|
||||
Events
|
||||
######
|
||||
========================================================== =
|
||||
:zeek:id:`OpenFlow::broker_flow_clear`: :zeek:type:`event`
|
||||
:zeek:id:`OpenFlow::broker_flow_mod`: :zeek:type:`event`
|
||||
========================================================== =
|
||||
|
||||
Functions
|
||||
#########
|
||||
====================================================== ==============================
|
||||
:zeek:id:`OpenFlow::broker_new`: :zeek:type:`function` Broker controller constructor.
|
||||
====================================================== ==============================
|
||||
|
||||
|
||||
Detailed Interface
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
Events
|
||||
######
|
||||
.. zeek:id:: OpenFlow::broker_flow_clear
|
||||
:source-code: base/frameworks/openflow/plugins/broker.zeek 38 38
|
||||
|
||||
:Type: :zeek:type:`event` (name: :zeek:type:`string`, dpid: :zeek:type:`count`)
|
||||
|
||||
|
||||
.. zeek:id:: OpenFlow::broker_flow_mod
|
||||
:source-code: base/frameworks/openflow/plugins/broker.zeek 37 37
|
||||
|
||||
:Type: :zeek:type:`event` (name: :zeek:type:`string`, dpid: :zeek:type:`count`, match: :zeek:type:`OpenFlow::ofp_match`, flow_mod: :zeek:type:`OpenFlow::ofp_flow_mod`)
|
||||
|
||||
|
||||
Functions
|
||||
#########
|
||||
.. zeek:id:: OpenFlow::broker_new
|
||||
:source-code: base/frameworks/openflow/plugins/broker.zeek 82 95
|
||||
|
||||
:Type: :zeek:type:`function` (name: :zeek:type:`string`, host: :zeek:type:`addr`, host_port: :zeek:type:`port`, topic: :zeek:type:`string`, dpid: :zeek:type:`count`) : :zeek:type:`OpenFlow::Controller`
|
||||
|
||||
Broker controller constructor.
|
||||
|
||||
|
||||
:param host: Controller ip.
|
||||
|
||||
|
||||
:param host_port: Controller listen port.
|
||||
|
||||
|
||||
:param topic: Broker topic to send messages to.
|
||||
|
||||
|
||||
:param dpid: OpenFlow switch datapath id.
|
||||
|
||||
|
||||
:returns: OpenFlow::Controller record.
|
||||
|
||||
|
23
doc/scripts/base/frameworks/openflow/plugins/index.rst
Normal file
23
doc/scripts/base/frameworks/openflow/plugins/index.rst
Normal file
|
@ -0,0 +1,23 @@
|
|||
:orphan:
|
||||
|
||||
Package: base/frameworks/openflow/plugins
|
||||
=========================================
|
||||
|
||||
Plugins for the OpenFlow framework.
|
||||
|
||||
:doc:`/scripts/base/frameworks/openflow/plugins/__load__.zeek`
|
||||
|
||||
|
||||
:doc:`/scripts/base/frameworks/openflow/plugins/ryu.zeek`
|
||||
|
||||
OpenFlow plugin for the Ryu controller.
|
||||
|
||||
:doc:`/scripts/base/frameworks/openflow/plugins/log.zeek`
|
||||
|
||||
OpenFlow plugin that outputs flow-modification commands
|
||||
to a Zeek log file.
|
||||
|
||||
:doc:`/scripts/base/frameworks/openflow/plugins/broker.zeek`
|
||||
|
||||
OpenFlow plugin for interfacing to controllers via Broker.
|
||||
|
129
doc/scripts/base/frameworks/openflow/plugins/log.zeek.rst
Normal file
129
doc/scripts/base/frameworks/openflow/plugins/log.zeek.rst
Normal file
|
@ -0,0 +1,129 @@
|
|||
:tocdepth: 3
|
||||
|
||||
base/frameworks/openflow/plugins/log.zeek
|
||||
=========================================
|
||||
.. zeek:namespace:: OpenFlow
|
||||
|
||||
OpenFlow plugin that outputs flow-modification commands
|
||||
to a Zeek log file.
|
||||
|
||||
:Namespace: OpenFlow
|
||||
:Imports: :doc:`base/frameworks/logging </scripts/base/frameworks/logging/index>`, :doc:`base/frameworks/openflow </scripts/base/frameworks/openflow/index>`
|
||||
|
||||
Summary
|
||||
~~~~~~~
|
||||
Types
|
||||
#####
|
||||
================================================ =================================================================
|
||||
:zeek:type:`OpenFlow::Info`: :zeek:type:`record` The record type which contains column fields of the OpenFlow log.
|
||||
================================================ =================================================================
|
||||
|
||||
Redefinitions
|
||||
#############
|
||||
=============================================================================== =============================================================
|
||||
:zeek:type:`Log::ID`: :zeek:type:`enum`
|
||||
|
||||
* :zeek:enum:`OpenFlow::LOG`
|
||||
:zeek:type:`OpenFlow::ControllerState`: :zeek:type:`record` :zeek:attr:`&redef`
|
||||
|
||||
:New Fields: :zeek:type:`OpenFlow::ControllerState`
|
||||
|
||||
log_dpid: :zeek:type:`count` :zeek:attr:`&optional`
|
||||
OpenFlow switch datapath id.
|
||||
|
||||
log_success_event: :zeek:type:`bool` :zeek:attr:`&optional`
|
||||
Raise or do not raise success event.
|
||||
:zeek:type:`OpenFlow::Plugin`: :zeek:type:`enum`
|
||||
|
||||
* :zeek:enum:`OpenFlow::OFLOG`
|
||||
=============================================================================== =============================================================
|
||||
|
||||
Events
|
||||
######
|
||||
===================================================== ===================================================================
|
||||
:zeek:id:`OpenFlow::log_openflow`: :zeek:type:`event` Event that can be handled to access the :zeek:type:`OpenFlow::Info`
|
||||
record as it is sent on to the logging framework.
|
||||
===================================================== ===================================================================
|
||||
|
||||
Hooks
|
||||
#####
|
||||
============================================================= =
|
||||
:zeek:id:`OpenFlow::log_policy`: :zeek:type:`Log::PolicyHook`
|
||||
============================================================= =
|
||||
|
||||
Functions
|
||||
#########
|
||||
=================================================== ===========================
|
||||
:zeek:id:`OpenFlow::log_new`: :zeek:type:`function` Log controller constructor.
|
||||
=================================================== ===========================
|
||||
|
||||
|
||||
Detailed Interface
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
Types
|
||||
#####
|
||||
.. zeek:type:: OpenFlow::Info
|
||||
:source-code: base/frameworks/openflow/plugins/log.zeek 35 44
|
||||
|
||||
:Type: :zeek:type:`record`
|
||||
|
||||
|
||||
.. zeek:field:: ts :zeek:type:`time` :zeek:attr:`&log`
|
||||
|
||||
Network time.
|
||||
|
||||
|
||||
.. zeek:field:: dpid :zeek:type:`count` :zeek:attr:`&log`
|
||||
|
||||
OpenFlow switch datapath id.
|
||||
|
||||
|
||||
.. zeek:field:: match :zeek:type:`OpenFlow::ofp_match` :zeek:attr:`&log`
|
||||
|
||||
OpenFlow match fields.
|
||||
|
||||
|
||||
.. zeek:field:: flow_mod :zeek:type:`OpenFlow::ofp_flow_mod` :zeek:attr:`&log`
|
||||
|
||||
OpenFlow modify flow entry message.
|
||||
|
||||
|
||||
The record type which contains column fields of the OpenFlow log.
|
||||
|
||||
Events
|
||||
######
|
||||
.. zeek:id:: OpenFlow::log_openflow
|
||||
:source-code: base/frameworks/openflow/plugins/log.zeek 48 48
|
||||
|
||||
:Type: :zeek:type:`event` (rec: :zeek:type:`OpenFlow::Info`)
|
||||
|
||||
Event that can be handled to access the :zeek:type:`OpenFlow::Info`
|
||||
record as it is sent on to the logging framework.
|
||||
|
||||
Hooks
|
||||
#####
|
||||
.. zeek:id:: OpenFlow::log_policy
|
||||
:source-code: base/frameworks/openflow/plugins/log.zeek 16 16
|
||||
|
||||
:Type: :zeek:type:`Log::PolicyHook`
|
||||
|
||||
|
||||
Functions
|
||||
#########
|
||||
.. zeek:id:: OpenFlow::log_new
|
||||
:source-code: base/frameworks/openflow/plugins/log.zeek 70 78
|
||||
|
||||
:Type: :zeek:type:`function` (dpid: :zeek:type:`count`, success_event: :zeek:type:`bool` :zeek:attr:`&default` = ``T`` :zeek:attr:`&optional`) : :zeek:type:`OpenFlow::Controller`
|
||||
|
||||
Log controller constructor.
|
||||
|
||||
|
||||
:param dpid: OpenFlow switch datapath id.
|
||||
|
||||
|
||||
:param success_event: If true, flow_mod_success is raised for each logged line.
|
||||
|
||||
|
||||
:returns: OpenFlow::Controller record.
|
||||
|
||||
|
67
doc/scripts/base/frameworks/openflow/plugins/ryu.zeek.rst
Normal file
67
doc/scripts/base/frameworks/openflow/plugins/ryu.zeek.rst
Normal file
|
@ -0,0 +1,67 @@
|
|||
:tocdepth: 3
|
||||
|
||||
base/frameworks/openflow/plugins/ryu.zeek
|
||||
=========================================
|
||||
.. zeek:namespace:: OpenFlow
|
||||
|
||||
OpenFlow plugin for the Ryu controller.
|
||||
|
||||
:Namespace: OpenFlow
|
||||
:Imports: :doc:`base/frameworks/openflow </scripts/base/frameworks/openflow/index>`, :doc:`base/utils/active-http.zeek </scripts/base/utils/active-http.zeek>`, :doc:`base/utils/exec.zeek </scripts/base/utils/exec.zeek>`
|
||||
|
||||
Summary
|
||||
~~~~~~~
|
||||
Redefinitions
|
||||
#############
|
||||
=============================================================================== ===================================================================================
|
||||
:zeek:type:`OpenFlow::ControllerState`: :zeek:type:`record` :zeek:attr:`&redef`
|
||||
|
||||
:New Fields: :zeek:type:`OpenFlow::ControllerState`
|
||||
|
||||
ryu_host: :zeek:type:`addr` :zeek:attr:`&optional`
|
||||
Controller ip.
|
||||
|
||||
ryu_port: :zeek:type:`count` :zeek:attr:`&optional`
|
||||
Controller listen port.
|
||||
|
||||
ryu_dpid: :zeek:type:`count` :zeek:attr:`&optional`
|
||||
OpenFlow switch datapath id.
|
||||
|
||||
ryu_debug: :zeek:type:`bool` :zeek:attr:`&default` = ``F`` :zeek:attr:`&optional`
|
||||
Enable debug mode - output JSON to stdout; do not perform actions.
|
||||
:zeek:type:`OpenFlow::Plugin`: :zeek:type:`enum`
|
||||
|
||||
* :zeek:enum:`OpenFlow::RYU`
|
||||
=============================================================================== ===================================================================================
|
||||
|
||||
Functions
|
||||
#########
|
||||
=================================================== ===========================
|
||||
:zeek:id:`OpenFlow::ryu_new`: :zeek:type:`function` Ryu controller constructor.
|
||||
=================================================== ===========================
|
||||
|
||||
|
||||
Detailed Interface
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
Functions
|
||||
#########
|
||||
.. zeek:id:: OpenFlow::ryu_new
|
||||
:source-code: base/frameworks/openflow/plugins/ryu.zeek 181 189
|
||||
|
||||
:Type: :zeek:type:`function` (host: :zeek:type:`addr`, host_port: :zeek:type:`count`, dpid: :zeek:type:`count`) : :zeek:type:`OpenFlow::Controller`
|
||||
|
||||
Ryu controller constructor.
|
||||
|
||||
|
||||
:param host: Controller ip.
|
||||
|
||||
|
||||
:param host_port: Controller listen port.
|
||||
|
||||
|
||||
:param dpid: OpenFlow switch datapath id.
|
||||
|
||||
|
||||
:returns: OpenFlow::Controller record.
|
||||
|
||||
|
368
doc/scripts/base/frameworks/openflow/types.zeek.rst
Normal file
368
doc/scripts/base/frameworks/openflow/types.zeek.rst
Normal file
|
@ -0,0 +1,368 @@
|
|||
:tocdepth: 3
|
||||
|
||||
base/frameworks/openflow/types.zeek
|
||||
===================================
|
||||
.. zeek:namespace:: OpenFlow
|
||||
|
||||
Types used by the OpenFlow framework.
|
||||
|
||||
:Namespace: OpenFlow
|
||||
:Imports: :doc:`base/frameworks/openflow/consts.zeek </scripts/base/frameworks/openflow/consts.zeek>`
|
||||
|
||||
Summary
|
||||
~~~~~~~
|
||||
Types
|
||||
#####
|
||||
=============================================================================== ===============================================================
|
||||
:zeek:type:`OpenFlow::Controller`: :zeek:type:`record` Controller record representing an openflow controller.
|
||||
:zeek:type:`OpenFlow::ControllerState`: :zeek:type:`record` :zeek:attr:`&redef` Controller related state.
|
||||
:zeek:type:`OpenFlow::Plugin`: :zeek:type:`enum` Available openflow plugins.
|
||||
:zeek:type:`OpenFlow::ofp_flow_action`: :zeek:type:`record` :zeek:attr:`&log` The actions that can be taken in a flow.
|
||||
:zeek:type:`OpenFlow::ofp_flow_mod`: :zeek:type:`record` :zeek:attr:`&log` Openflow flow_mod definition, describing the action to perform.
|
||||
:zeek:type:`OpenFlow::ofp_match`: :zeek:type:`record` :zeek:attr:`&log` Openflow match definition.
|
||||
=============================================================================== ===============================================================
|
||||
|
||||
|
||||
Detailed Interface
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
Types
|
||||
#####
|
||||
.. zeek:type:: OpenFlow::Controller
|
||||
:source-code: base/frameworks/openflow/types.zeek 116 131
|
||||
|
||||
:Type: :zeek:type:`record`
|
||||
|
||||
|
||||
.. zeek:field:: state :zeek:type:`OpenFlow::ControllerState`
|
||||
|
||||
Controller related state.
|
||||
|
||||
|
||||
.. zeek:field:: supports_flow_removed :zeek:type:`bool`
|
||||
|
||||
Does the controller support the flow_removed event?
|
||||
|
||||
|
||||
.. zeek:field:: describe :zeek:type:`function` (state: :zeek:type:`OpenFlow::ControllerState`) : :zeek:type:`string`
|
||||
|
||||
Function that describes the controller. Has to be implemented.
|
||||
|
||||
|
||||
.. zeek:field:: init :zeek:type:`function` (state: :zeek:type:`OpenFlow::ControllerState`) : :zeek:type:`void` :zeek:attr:`&optional`
|
||||
|
||||
One-time initialization function. If defined, controller_init_done has to be called once initialization finishes.
|
||||
|
||||
|
||||
.. zeek:field:: destroy :zeek:type:`function` (state: :zeek:type:`OpenFlow::ControllerState`) : :zeek:type:`void` :zeek:attr:`&optional`
|
||||
|
||||
One-time destruction function.
|
||||
|
||||
|
||||
.. zeek:field:: flow_mod :zeek:type:`function` (state: :zeek:type:`OpenFlow::ControllerState`, match: :zeek:type:`OpenFlow::ofp_match`, flow_mod: :zeek:type:`OpenFlow::ofp_flow_mod`) : :zeek:type:`bool` :zeek:attr:`&optional`
|
||||
|
||||
flow_mod function.
|
||||
|
||||
|
||||
.. zeek:field:: flow_clear :zeek:type:`function` (state: :zeek:type:`OpenFlow::ControllerState`) : :zeek:type:`bool` :zeek:attr:`&optional`
|
||||
|
||||
flow_clear function.
|
||||
|
||||
|
||||
Controller record representing an openflow controller.
|
||||
|
||||
.. zeek:type:: OpenFlow::ControllerState
|
||||
:source-code: base/frameworks/openflow/types.zeek 17 24
|
||||
|
||||
:Type: :zeek:type:`record`
|
||||
|
||||
|
||||
.. zeek:field:: _plugin :zeek:type:`OpenFlow::Plugin` :zeek:attr:`&optional`
|
||||
|
||||
Internally set to the type of plugin used.
|
||||
|
||||
|
||||
.. zeek:field:: _name :zeek:type:`string` :zeek:attr:`&optional`
|
||||
|
||||
Internally set to the unique name of the controller.
|
||||
|
||||
|
||||
.. zeek:field:: _activated :zeek:type:`bool` :zeek:attr:`&default` = ``F`` :zeek:attr:`&optional`
|
||||
|
||||
Internally set to true once the controller is activated.
|
||||
|
||||
|
||||
.. zeek:field:: ryu_host :zeek:type:`addr` :zeek:attr:`&optional`
|
||||
|
||||
(present if :doc:`/scripts/base/frameworks/openflow/plugins/ryu.zeek` is loaded)
|
||||
|
||||
Controller ip.
|
||||
|
||||
|
||||
.. zeek:field:: ryu_port :zeek:type:`count` :zeek:attr:`&optional`
|
||||
|
||||
(present if :doc:`/scripts/base/frameworks/openflow/plugins/ryu.zeek` is loaded)
|
||||
|
||||
Controller listen port.
|
||||
|
||||
|
||||
.. zeek:field:: ryu_dpid :zeek:type:`count` :zeek:attr:`&optional`
|
||||
|
||||
(present if :doc:`/scripts/base/frameworks/openflow/plugins/ryu.zeek` is loaded)
|
||||
|
||||
OpenFlow switch datapath id.
|
||||
|
||||
|
||||
.. zeek:field:: ryu_debug :zeek:type:`bool` :zeek:attr:`&default` = ``F`` :zeek:attr:`&optional`
|
||||
|
||||
(present if :doc:`/scripts/base/frameworks/openflow/plugins/ryu.zeek` is loaded)
|
||||
|
||||
Enable debug mode - output JSON to stdout; do not perform actions.
|
||||
|
||||
|
||||
.. zeek:field:: log_dpid :zeek:type:`count` :zeek:attr:`&optional`
|
||||
|
||||
(present if :doc:`/scripts/base/frameworks/openflow/plugins/log.zeek` is loaded)
|
||||
|
||||
OpenFlow switch datapath id.
|
||||
|
||||
|
||||
.. zeek:field:: log_success_event :zeek:type:`bool` :zeek:attr:`&optional`
|
||||
|
||||
(present if :doc:`/scripts/base/frameworks/openflow/plugins/log.zeek` is loaded)
|
||||
|
||||
Raise or do not raise success event.
|
||||
|
||||
|
||||
.. zeek:field:: broker_host :zeek:type:`addr` :zeek:attr:`&optional`
|
||||
|
||||
(present if :doc:`/scripts/base/frameworks/openflow/plugins/broker.zeek` is loaded)
|
||||
|
||||
Controller ip.
|
||||
|
||||
|
||||
.. zeek:field:: broker_port :zeek:type:`port` :zeek:attr:`&optional`
|
||||
|
||||
(present if :doc:`/scripts/base/frameworks/openflow/plugins/broker.zeek` is loaded)
|
||||
|
||||
Controller listen port.
|
||||
|
||||
|
||||
.. zeek:field:: broker_dpid :zeek:type:`count` :zeek:attr:`&optional`
|
||||
|
||||
(present if :doc:`/scripts/base/frameworks/openflow/plugins/broker.zeek` is loaded)
|
||||
|
||||
OpenFlow switch datapath id.
|
||||
|
||||
|
||||
.. zeek:field:: broker_topic :zeek:type:`string` :zeek:attr:`&optional`
|
||||
|
||||
(present if :doc:`/scripts/base/frameworks/openflow/plugins/broker.zeek` is loaded)
|
||||
|
||||
Topic to send events for this controller to.
|
||||
|
||||
:Attributes: :zeek:attr:`&redef`
|
||||
|
||||
Controller related state.
|
||||
Can be redefined by plugins to
|
||||
add state.
|
||||
|
||||
.. zeek:type:: OpenFlow::Plugin
|
||||
:source-code: base/frameworks/openflow/types.zeek 9 13
|
||||
|
||||
:Type: :zeek:type:`enum`
|
||||
|
||||
.. zeek:enum:: OpenFlow::INVALID OpenFlow::Plugin
|
||||
|
||||
Internal placeholder plugin.
|
||||
|
||||
.. zeek:enum:: OpenFlow::RYU OpenFlow::Plugin
|
||||
|
||||
(present if :doc:`/scripts/base/frameworks/openflow/plugins/ryu.zeek` is loaded)
|
||||
|
||||
|
||||
.. zeek:enum:: OpenFlow::OFLOG OpenFlow::Plugin
|
||||
|
||||
(present if :doc:`/scripts/base/frameworks/openflow/plugins/log.zeek` is loaded)
|
||||
|
||||
|
||||
.. zeek:enum:: OpenFlow::BROKER OpenFlow::Plugin
|
||||
|
||||
(present if :doc:`/scripts/base/frameworks/openflow/plugins/broker.zeek` is loaded)
|
||||
|
||||
|
||||
Available openflow plugins.
|
||||
|
||||
.. zeek:type:: OpenFlow::ofp_flow_action
|
||||
:source-code: base/frameworks/openflow/types.zeek 62 85
|
||||
|
||||
:Type: :zeek:type:`record`
|
||||
|
||||
|
||||
.. zeek:field:: out_ports :zeek:type:`vector` of :zeek:type:`count` :zeek:attr:`&default` = ``[]`` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
Output ports to send data to.
|
||||
|
||||
|
||||
.. zeek:field:: vlan_vid :zeek:type:`count` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
Set vlan vid to this value.
|
||||
|
||||
|
||||
.. zeek:field:: vlan_pcp :zeek:type:`count` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
Set vlan priority to this value.
|
||||
|
||||
|
||||
.. zeek:field:: vlan_strip :zeek:type:`bool` :zeek:attr:`&default` = ``F`` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
Strip vlan tag.
|
||||
|
||||
|
||||
.. zeek:field:: dl_src :zeek:type:`string` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
Set ethernet source address.
|
||||
|
||||
|
||||
.. zeek:field:: dl_dst :zeek:type:`string` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
Set ethernet destination address.
|
||||
|
||||
|
||||
.. zeek:field:: nw_tos :zeek:type:`count` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
Set ip tos to this value.
|
||||
|
||||
|
||||
.. zeek:field:: nw_src :zeek:type:`addr` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
Set source to this ip.
|
||||
|
||||
|
||||
.. zeek:field:: nw_dst :zeek:type:`addr` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
Set destination to this ip.
|
||||
|
||||
|
||||
.. zeek:field:: tp_src :zeek:type:`count` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
Set tcp/udp source port.
|
||||
|
||||
|
||||
.. zeek:field:: tp_dst :zeek:type:`count` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
Set tcp/udp destination port.
|
||||
|
||||
:Attributes: :zeek:attr:`&log`
|
||||
|
||||
The actions that can be taken in a flow.
|
||||
(Separate record to make ofp_flow_mod less crowded)
|
||||
|
||||
.. zeek:type:: OpenFlow::ofp_flow_mod
|
||||
:source-code: base/frameworks/openflow/types.zeek 88 113
|
||||
|
||||
:Type: :zeek:type:`record`
|
||||
|
||||
|
||||
.. zeek:field:: cookie :zeek:type:`count` :zeek:attr:`&log`
|
||||
|
||||
Opaque controller-issued identifier.
|
||||
|
||||
|
||||
.. zeek:field:: table_id :zeek:type:`count` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
Table to put the flow in. OFPTT_ALL can be used for delete,
|
||||
to delete flows from all matching tables.
|
||||
|
||||
|
||||
.. zeek:field:: command :zeek:type:`OpenFlow::ofp_flow_mod_command` :zeek:attr:`&log`
|
||||
|
||||
One of OFPFC_*.
|
||||
|
||||
|
||||
.. zeek:field:: idle_timeout :zeek:type:`count` :zeek:attr:`&default` = ``0`` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
Idle time before discarding (seconds).
|
||||
|
||||
|
||||
.. zeek:field:: hard_timeout :zeek:type:`count` :zeek:attr:`&default` = ``0`` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
Max time before discarding (seconds).
|
||||
|
||||
|
||||
.. zeek:field:: priority :zeek:type:`count` :zeek:attr:`&default` = ``0`` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
Priority level of flow entry.
|
||||
|
||||
|
||||
.. zeek:field:: out_port :zeek:type:`count` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
For OFPFC_DELETE* commands, require matching entry to include
|
||||
this as an output port/group. OFPP_ANY/OFPG_ANY means no restrictions.
|
||||
|
||||
|
||||
.. zeek:field:: out_group :zeek:type:`count` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
|
||||
.. zeek:field:: flags :zeek:type:`count` :zeek:attr:`&default` = ``0`` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
Bitmap of the OFPFF_* flags
|
||||
|
||||
|
||||
.. zeek:field:: actions :zeek:type:`OpenFlow::ofp_flow_action` :zeek:attr:`&default` = *...* :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
Actions to take on match
|
||||
|
||||
:Attributes: :zeek:attr:`&log`
|
||||
|
||||
Openflow flow_mod definition, describing the action to perform.
|
||||
|
||||
.. zeek:type:: OpenFlow::ofp_match
|
||||
:source-code: base/frameworks/openflow/types.zeek 31 58
|
||||
|
||||
:Type: :zeek:type:`record`
|
||||
|
||||
|
||||
.. zeek:field:: in_port :zeek:type:`count` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
|
||||
.. zeek:field:: dl_src :zeek:type:`string` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
|
||||
.. zeek:field:: dl_dst :zeek:type:`string` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
|
||||
.. zeek:field:: dl_vlan :zeek:type:`count` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
|
||||
.. zeek:field:: dl_vlan_pcp :zeek:type:`count` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
|
||||
.. zeek:field:: dl_type :zeek:type:`count` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
|
||||
.. zeek:field:: nw_tos :zeek:type:`count` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
|
||||
.. zeek:field:: nw_proto :zeek:type:`count` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
|
||||
.. zeek:field:: nw_src :zeek:type:`subnet` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
|
||||
.. zeek:field:: nw_dst :zeek:type:`subnet` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
|
||||
.. zeek:field:: tp_src :zeek:type:`count` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
|
||||
.. zeek:field:: tp_dst :zeek:type:`count` :zeek:attr:`&optional` :zeek:attr:`&log`
|
||||
|
||||
:Attributes: :zeek:attr:`&log`
|
||||
|
||||
Openflow match definition.
|
||||
|
||||
The openflow match record describes
|
||||
which packets match to a specific
|
||||
rule in a flow table.
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue