class Match

Class that represents OpenFlow flow matching attributes

Attributes

arp_op_code[R]

integer : ARP opcode

arp_src_hw_addr[R]

string : ARP source hardware address. e.g. “111.222.333.444”

arp_src_ipv4[R]

string : ARP source IPv4 address. e.g. “111.222.333.444”

arp_tgt_hw_addr[R]

string : ARP target hardware address. e.g. “111.222.333.444”

arp_tgt_ipv4[R]

string : ARP target IPv4 address. e.g. “111.222.333.444”

eth_type[R]

integer : Ethernet type

ethernet_dst[R]

string : Ethernet Destination address e.g. “00:11:22:33:44:55”

ethernet_src[R]

string : Ethernet Source address e.g. “00:11:22:33:44:55”

icmpv4_code[R]

integer : ICMPv4 code

icmpv4_type[R]

integer : ICMPv4 type

icmpv6_code[R]

integer : ICMPv6 code

icmpv6_type[R]

integer : ICMPv6 type

in_phy_port[R]

integer : Input physical port - not used for matches

in_port[R]

integer : Input port

ip_dscp[R]

integer : Differentiated Services Code Point

ip_ecn[R]

integer : Explicit Congestion Notificaiton

ip_proto[R]

integer : Ip protocol

ipv4_dst[R]

string : IPv4 Destination IP address

ipv4_src[R]

string : IPv4 Source IP address

ipv6_dst[R]

string : IPv6 Destination IP address

ipv6_ext_hdr[R]

integer : IPv6 Extension header

ipv6_flabel[R]

string : IPv6 Flow Label

ipv6_src[R]

string : IPv6 Source IP address

metadata[R]

integer : Openflow intra-table metadata

metadata_mask[R]

integer : Openflow intra-table metadata mask

mpls_bos[R]

integer : Multiprotocol Label Switching bottom of stack flag

mpls_label[R]

integer : Multiprotocol Label Switching label

mpls_tc[R]

integer : Multiprotocol Label Switching traffic class

sctp_dst[R]

integer : Stream control transmission protocol destination port

sctp_src[R]

integer : Stream control transmission protocol source port

tcp_dst_port[R]

integer : TCP Destination port number

tcp_src_port[R]

integer : TCP Source port number

tunnel_id[R]

integer : tunnel identifier

udp_dst_port[R]

integer : UDP Destination port number

udp_src_port[R]

integer : UDP Source port number

vlan_id[R]

integer: VLAN identifier

vlan_pcp[R]

integer: VLAN priority code point

Public Class Methods

new(eth_type: nil, ipv4_destination: nil, ipv4_source: nil, ipv6_source: nil, ipv6_destination: nil, ipv6_flabel: nil, ipv6_ext_header: nil, ethernet_destination: nil, ethernet_source: nil, in_port: nil, in_physical_port: nil, ip_protocol_num: nil, ip_dscp: nil, ip_ecn: nil, tcp_source_port: nil, tcp_destination_port: nil, udp_source_port: nil, udp_destination_port: nil, icmpv4_type: nil, icmpv4_code: nil, icmpv6_type: nil, icmpv6_code: nil, arp_op_code: nil, arp_source_ipv4: nil, arp_target_ipv4: nil, arp_source_hardware_address: nil, arp_target_hardware_address: nil, vlan_id: nil, vlan_pcp: nil, sctp_destination: nil, sctp_source: nil, mpls_label: nil, mpls_tc: nil, mpls_bos: nil, tunnel_id: nil, metadata: nil, metadata_mask: nil) click to toggle source

Parameters

  • eth_type

    integer : Ethernet type

  • ipv4_destination

    string : IPv4 Destination IP address

  • ipv4_source

    string : IPv4 Source IP address

  • ipv6_source

    string : IPv6 Source IP address

  • ipv6_destination

    string : IPv6 Destination IP address

  • ipv6_flabel

    string : IPv6 Flow Label

  • ipv6_ext_header

    integer : IPv6 Extension header

  • ethernet_destination

    string : Ethernet Destination address e.g. “00:11:22:33:44:55”

  • ethernet_source

    string : Ethernet Source address e.g. “00:11:22:33:44:55”

  • in_physical_port

    integer : Input physical port - not used for matches

  • in_port

    integer : Input port

  • ip_protocol_num

    integer : Ip protocol

  • ip_dscp

    integer : Differentiated Services Code Point

  • ip_ecn

    integer : Explicit Congestion Notificaiton

  • tcp_source_port

    integer : TCP Source port number

  • tcp_destination_port

    integer : TCP Destination port number

  • udp_source_port

    integer : UDP Source port number

  • udp_destination_port

    integer : UDP Destination port number

  • icmpv4_type

    integer : ICMPv4 type

  • icmpv4_code

    integer : ICMPv4 code

  • icmpv6_type

    integer : ICMPv6 type

  • icmpv6_code

    integer : ICMPv6 code

  • arp_op_code

    integer : ARP opcode

  • arp_source_ipv4

    string : ARP source IPv4 address. e.g. “111.222.333.444”

  • arp_target_ipv4

    string : ARP target IPv4 address. e.g. “111.222.333.444”

  • arp_source_hardware_address

    string : ARP source hardware address. e.g. “111.222.333.444”

  • arp_target_hardware_address

    string : ARP target hardware address. e.g. “111.222.333.444”

  • vlan_id

    integer: VLAN identifier

  • vlan_pcp

    integer: VLAN priority code point

  • sctp_destination

    integer : Stream control transmission protocol destination port

  • sctp_source

    integer : Stream control transmission protocol source port

  • mpls_label

    integer : Multiprotocol Label Switching label

  • mpls_tc

    integer : Multiprotocol Label Switching traffic class

  • mpls_bos

    integer : Multiprotocol Label Switching bottom of stack flag

  • tunnel_id

    integer : tunnel identifier

  • metadata

    integer : Openflow intra-table metadata

  • metadata_mask

    integer : Openflow intra-table metadata mask

# File lib/openflowdev/match.rb, line 151
def initialize(eth_type: nil, ipv4_destination: nil, ipv4_source: nil,
    ipv6_source: nil, ipv6_destination: nil, ipv6_flabel: nil,
    ipv6_ext_header: nil, ethernet_destination: nil, ethernet_source: nil,
    in_port: nil, in_physical_port: nil, ip_protocol_num: nil, ip_dscp: nil,
    ip_ecn: nil, tcp_source_port: nil, tcp_destination_port: nil,
    udp_source_port: nil, udp_destination_port: nil, icmpv4_type: nil,
    icmpv4_code: nil, icmpv6_type: nil, icmpv6_code: nil,
    arp_op_code: nil, arp_source_ipv4: nil, arp_target_ipv4: nil,
    arp_source_hardware_address: nil, arp_target_hardware_address: nil,
    vlan_id: nil, vlan_pcp: nil, sctp_destination: nil, sctp_source: nil,
    mpls_label: nil, mpls_tc: nil, mpls_bos: nil, tunnel_id: nil,
    metadata: nil, metadata_mask: nil)
  @eth_type = eth_type
  @ipv4_dst = ipv4_destination
  @ipv4_src = ipv4_source
  @ipv6_dst = ipv6_destination
  @ipv6_src = ipv6_source
  @ipv6_flabel = ipv6_flabel
  @ipv6_ext_hdr = ipv6_ext_header
  @ethernet_dst = ethernet_destination
  @ethernet_src = ethernet_source
  @in_port = in_port
  @in_phy_port = in_physical_port
  @ip_proto = ip_protocol_num
  @ip_dscp = ip_dscp
  @ip_ecn = ip_ecn
  @tcp_src_port = tcp_source_port
  @tcp_dst_port = tcp_destination_port
  @udp_dst_port = udp_destination_port
  @udp_src_port = udp_source_port
  @icmpv4_type = icmpv4_type
  @icmpv4_code = icmpv4_code
  @icmpv6_type = icmpv6_type
  @icmpv6_code = icmpv6_code
  @arp_op_code = arp_op_code
  @arp_src_ipv4 = arp_source_ipv4
  @arp_tgt_ipv4 = arp_target_ipv4
  @arp_src_hw_addr = arp_source_hardware_address
  @arp_tgt_hw_addr = arp_target_hardware_address
  @vlan_id = vlan_id
  @vlan_pcp = vlan_pcp
  @sctp_dst = sctp_destination
  @sctp_src = sctp_source
  @mpls_label = mpls_label
  @mpls_tc = mpls_tc
  @mpls_bos = mpls_bos
  @tunnel_id = tunnel_id
  @metdata = metadata
  @metadata_mask = metadata_mask
end