Revised OpenFlow Library  v0.6.0dev
 All Classes Files Functions Variables Friends Groups Pages
Public Member Functions | Friends | List of all members
rofl::openflow::cofmatch Class Reference

Public Member Functions

 cofmatch (uint8_t of_version=rofl::openflow::OFP_VERSION_UNKNOWN, uint16_t type=rofl::openflow::OFPMT_OXM)
 
 cofmatch (const cofmatch &match)
 
cofmatchoperator= (const cofmatch &match)
 
bool operator== (const cofmatch &m) const
 
virtual size_t length () const
 
virtual void pack (uint8_t *buf, size_t buflen)
 
virtual void unpack (uint8_t *buf, size_t buflen)
 
void check_prerequisites () const
 
void clear ()
 
bool contains (cofmatch const &match, bool strict=false)
 
bool is_part_of (cofmatch const &match, uint16_t &exact_hits, uint16_t &wildcard_hits, uint16_t &missed)
 
void set_version (uint8_t ofp_version)
 
uint8_t get_version () const
 
void set_type (uint16_t type)
 
uint16_t get_type () const
 
coxmatchesset_matches ()
 
coxmatches const & get_matches () const
 
uint8_t get_nw_proto () const
 
uint8_t get_nw_tos () const
 
caddress_in4 get_nw_src () const
 
caddress_in4 get_nw_src_value () const
 
caddress_in4 get_nw_src_mask () const
 
caddress_in4 get_nw_dst () const
 
caddress_in4 get_nw_dst_value () const
 
caddress_in4 get_nw_dst_mask () const
 
uint16_t get_tp_src () const
 
uint16_t get_tp_dst () const
 
uint32_t get_in_port () const
 
uint32_t get_in_phy_port () const
 
uint64_t get_metadata () const
 
uint64_t get_metadata_value () const
 
uint64_t get_metadata_mask () const
 
cmacaddr get_eth_dst () const
 
cmacaddr get_eth_dst_addr () const
 
cmacaddr get_eth_dst_mask () const
 
cmacaddr get_eth_src () const
 
cmacaddr get_eth_src_addr () const
 
cmacaddr get_eth_src_mask () const
 
uint16_t get_eth_type () const
 
uint16_t get_vlan_vid () const
 
uint16_t get_vlan_vid_value () const
 
uint16_t get_vlan_vid_mask () const
 
uint8_t get_vlan_pcp () const
 
uint32_t get_mpls_label () const
 
uint8_t get_mpls_tc () const
 
caddress_in4 get_ipv4_src () const
 
caddress_in4 get_ipv4_src_value () const
 
caddress_in4 get_ipv4_src_mask () const
 
caddress_in4 get_ipv4_dst () const
 
caddress_in4 get_ipv4_dst_value () const
 
caddress_in4 get_ipv4_dst_mask () const
 
uint16_t get_arp_opcode () const
 
cmacaddr get_arp_sha () const
 
cmacaddr get_arp_sha_addr () const
 
cmacaddr get_arp_sha_mask () const
 
cmacaddr get_arp_tha () const
 
cmacaddr get_arp_tha_addr () const
 
cmacaddr get_arp_tha_mask () const
 
caddress_in4 get_arp_spa () const
 
caddress_in4 get_arp_spa_value () const
 
caddress_in4 get_arp_spa_mask () const
 
caddress_in4 get_arp_tpa () const
 
caddress_in4 get_arp_tpa_value () const
 
caddress_in4 get_arp_tpa_mask () const
 
caddress_in6 get_ipv6_src () const
 
caddress_in6 get_ipv6_src_value () const
 
caddress_in6 get_ipv6_src_mask () const
 
caddress_in6 get_ipv6_dst () const
 
caddress_in6 get_ipv6_dst_value () const
 
caddress_in6 get_ipv6_dst_mask () const
 
uint8_t get_ip_proto () const
 
uint8_t get_ip_dscp () const
 
uint8_t get_ip_ecn () const
 
uint8_t get_icmpv4_type () const
 
uint8_t get_icmpv4_code () const
 
uint8_t get_icmpv6_type () const
 
uint8_t get_icmpv6_code () const
 
uint32_t get_ipv6_flabel () const
 
uint32_t get_ipv6_flabel_value () const
 
uint32_t get_ipv6_flabel_mask () const
 
cmacaddr get_ipv6_nd_sll () const
 
cmacaddr get_ipv6_nd_tll () const
 
caddress_in6 get_ipv6_nd_target () const
 
uint16_t get_udp_src () const
 
uint16_t get_udp_dst () const
 
uint16_t get_tcp_src () const
 
uint16_t get_tcp_dst () const
 
uint16_t get_sctp_src () const
 
uint16_t get_sctp_dst () const
 
bool get_mpls_bos () const
 
uint64_t get_tunnel_id () const
 
uint64_t get_tunnel_id_value () const
 
uint64_t get_tunnel_id_mask () const
 
uint32_t get_pbb_isid () const
 
uint32_t get_pbb_isid_value () const
 
uint32_t get_pbb_isid_mask () const
 
uint16_t get_ipv6_exthdr () const
 
uint16_t get_ipv6_exthdr_value () const
 
uint16_t get_ipv6_exthdr_mask () const
 
void set_nw_proto (uint8_t proto)
 
void set_nw_tos (uint8_t tos)
 
void set_nw_src (caddress_in4 const &src)
 
void set_nw_src (caddress_in4 const &src, caddress_in4 const &mask)
 
void set_nw_dst (caddress_in4 const &dst)
 
void set_nw_dst (caddress_in4 const &dst, caddress_in4 const &mask)
 
void set_tp_src (uint16_t src_port)
 
void set_tp_dst (uint16_t dst_port)
 
void set_in_port (uint32_t in_port)
 
void set_in_phy_port (uint32_t in_phy_port)
 
void set_metadata (uint64_t metadata)
 
void set_metadata (uint64_t metadata, uint64_t mask)
 
void set_eth_dst (cmacaddr const &maddr)
 
void set_eth_dst (cmacaddr const &maddr, cmacaddr const &mmask)
 
void set_eth_src (cmacaddr const &maddr)
 
void set_eth_src (cmacaddr const &maddr, cmacaddr const &mmask)
 
void set_eth_type (uint16_t dl_type)
 
void set_vlan_vid (uint16_t vid)
 
void set_vlan_vid (uint16_t vid, uint16_t mask)
 
void set_vlan_present ()
 
void set_vlan_untagged ()
 
void set_vlan_pcp (uint8_t pcp)
 
void set_ip_dscp (uint8_t dscp)
 
void set_ip_ecn (uint8_t ecn)
 
void set_ip_proto (uint8_t proto)
 
void set_ipv4_src (caddress_in4 const &src)
 
void set_ipv4_src (caddress_in4 const &src, caddress_in4 const &mask)
 
void set_ipv4_dst (caddress_in4 const &dst)
 
void set_ipv4_dst (caddress_in4 const &dst, caddress_in4 const &mask)
 
void set_tcp_src (uint16_t src_port)
 
void set_tcp_dst (uint16_t dst_port)
 
void set_udp_src (uint16_t src_port)
 
void set_udp_dst (uint16_t dst_port)
 
void set_sctp_src (uint16_t src_port)
 
void set_sctp_dst (uint16_t dst_port)
 
void set_icmpv4_type (uint8_t type)
 
void set_icmpv4_code (uint8_t code)
 
void set_arp_opcode (uint16_t opcode)
 
void set_arp_spa (caddress_in4 const &spa)
 
void set_arp_spa (caddress_in4 const &spa, caddress_in4 const &mask)
 
void set_arp_tpa (caddress_in4 const &tpa)
 
void set_arp_tpa (caddress_in4 const &tpa, caddress_in4 const &mask)
 
void set_arp_sha (cmacaddr const &sha)
 
void set_arp_sha (cmacaddr const &sha, cmacaddr const &mmask)
 
void set_arp_tha (cmacaddr const &tha)
 
void set_arp_tha (cmacaddr const &tha, cmacaddr const &mmask)
 
void set_ipv6_src (caddress_in6 const &addr)
 
void set_ipv6_src (caddress_in6 const &addr, caddress_in6 const &mask)
 
void set_ipv6_dst (caddress_in6 const &addr)
 
void set_ipv6_dst (caddress_in6 const &addr, caddress_in6 const &mask)
 
void set_ipv6_flabel (uint32_t flabel)
 
void set_ipv6_flabel (uint32_t flabel, uint32_t mask)
 
void set_icmpv6_type (uint8_t type)
 
void set_icmpv6_code (uint8_t code)
 
void set_ipv6_nd_target (caddress_in6 const &addr)
 
void set_ipv6_nd_sll (cmacaddr const &maddr)
 
void set_ipv6_nd_tll (cmacaddr const &maddr)
 
void set_mpls_label (uint32_t label)
 
void set_mpls_tc (uint8_t tc)
 
void set_mpls_bos (bool bos)
 
void set_tunnel_id (uint64_t tunnel_id)
 
void set_tunnel_id (uint64_t tunnel_id, uint64_t mask)
 
void set_pbb_isid (uint32_t pbb_isid)
 
void set_pbb_isid (uint32_t pbb_isid, uint32_t mask)
 
void set_ipv6_exthdr (uint16_t ipv6_exthdr)
 
void set_ipv6_exthdr (uint16_t ipv6_exthdr, uint16_t mask)
 
bool has_nw_proto () const
 
bool has_nw_tos () const
 
bool has_nw_src () const
 
bool has_nw_src_value () const
 
bool has_nw_src_mask () const
 
bool has_nw_dst () const
 
bool has_nw_dst_value () const
 
bool has_nw_dst_mask () const
 
bool has_tp_src () const
 
bool has_tp_dst () const
 
bool has_in_port () const
 
bool has_in_phy_port () const
 
bool has_metadata () const
 
bool has_metadata_value () const
 
bool has_metadata_mask () const
 
bool has_eth_dst () const
 
bool has_eth_dst_addr () const
 
bool has_eth_dst_mask () const
 
bool has_eth_src () const
 
bool has_eth_src_addr () const
 
bool has_eth_src_mask () const
 
bool has_eth_type () const
 
bool has_vlan_vid () const
 
bool has_vlan_vid_value () const
 
bool has_vlan_vid_mask () const
 
bool has_vlan_pcp () const
 
bool has_mpls_label () const
 
bool has_mpls_tc () const
 
bool has_ipv4_src () const
 
bool has_ipv4_src_value () const
 
bool has_ipv4_src_mask () const
 
bool has_ipv4_dst () const
 
bool has_ipv4_dst_value () const
 
bool has_ipv4_dst_mask () const
 
bool has_arp_opcode () const
 
bool has_arp_sha () const
 
bool has_arp_sha_addr () const
 
bool has_arp_sha_mask () const
 
bool has_arp_tha () const
 
bool has_arp_tha_addr () const
 
bool has_arp_tha_mask () const
 
bool has_arp_spa () const
 
bool has_arp_spa_value () const
 
bool has_arp_spa_mask () const
 
bool has_arp_tpa () const
 
bool has_arp_tpa_value () const
 
bool has_arp_tpa_mask () const
 
bool has_ipv6_src () const
 
bool has_ipv6_src_value () const
 
bool has_ipv6_src_mask () const
 
bool has_ipv6_dst () const
 
bool has_ipv6_dst_value () const
 
bool has_ipv6_dst_mask () const
 
bool has_ip_proto () const
 
bool has_ip_dscp () const
 
bool has_ip_ecn () const
 
bool has_icmpv4_type () const
 
bool has_icmpv4_code () const
 
bool has_icmpv6_type () const
 
bool has_icmpv6_code () const
 
bool has_ipv6_flabel () const
 
bool has_ipv6_flabel_value () const
 
bool has_ipv6_flabel_mask () const
 
bool has_ipv6_nd_sll () const
 
bool has_ipv6_nd_tll () const
 
bool has_ipv6_nd_target () const
 
bool has_udp_src () const
 
bool has_udp_dst () const
 
bool has_tcp_src () const
 
bool has_tcp_dst () const
 
bool has_sctp_src () const
 
bool has_sctp_dst () const
 
bool has_mpls_bos () const
 
bool has_tunnel_id () const
 
bool has_tunnel_id_value () const
 
bool has_tunnel_id_mask () const
 
bool has_pbb_isid () const
 
bool has_pbb_isid_value () const
 
bool has_pbb_isid_mask () const
 
bool has_ipv6_exthdr () const
 
bool has_ipv6_exthdr_value () const
 
bool has_ipv6_exthdr_mask () const
 

Friends

std::ostream & operator<< (std::ostream &os, cofmatch const &m)
 

The documentation for this class was generated from the following files: