OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
flow_uve_stats_request.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2017 Juniper Networks, Inc. All rights reserved.
3  */
4 #ifndef __AGENT_FLOW_UVE_STATS_REQUEST_H__
5 #define __AGENT_FLOW_UVE_STATS_REQUEST_H__
6 
7 #include "pkt/flow_table.h"
8 #include "pkt/flow_event.h"
9 
12  std::string fw_policy_;
14  std::string remote_prefix_;
15  std::string remote_vn_;
16  std::string local_vn_;
17  bool initiator_;
18  bool added_;
19  std::string action_;
21  bool is_valid_;
23 };
24 
26  std::string vn_;
27  std::string nw_ace_uuid_;
28  bool is_valid_;
30 };
31 
33 // Request to the Uve module for Flow based statistics update
36 public:
37  enum Event {
41  };
42 
44  const std::string &intf, const std::string &sg_rule,
47  event_(event), uuid_(u), interface_(intf), sg_rule_uuid_(sg_rule),
48  sg_info_valid_(false), vn_ace_info_(vn_ace_info),
49  fw_policy_info_(fw_policy_info) {
50  if (!intf.empty() && !sg_rule.empty()) {
51  sg_info_valid_ = true;
52  }
53  }
54 
56  const std::string &intf,
58  event_(event), uuid_(u), interface_(intf), sg_info_valid_(false),
59  fw_policy_info_(fw_policy_info) {
60  }
61 
63 
64  Event event() const { return event_; }
65  const boost::uuids::uuid &uuid() const { return uuid_; }
66  const std::string &interface() const { return interface_; }
67  const std::string &sg_rule_uuid() const { return sg_rule_uuid_; }
68  bool sg_info_valid() const { return sg_info_valid_; }
69  const FlowUveVnAcePolicyInfo &vn_ace_info() const { return vn_ace_info_; }
70  bool vn_ace_valid() const { return vn_ace_info_.is_valid_; }
72  bool fw_policy_valid() const { return fw_policy_info_.is_valid_; }
73 
74 private:
77  std::string interface_;
78  std::string sg_rule_uuid_;
82 
84 };
85 #endif // __AGENT_FLOW_UVE_STATS_REQUEST_H__
const std::string & sg_rule_uuid() const
const FlowUveFwPolicyInfo & fw_policy_info() const
boost::uuids::uuid uuid
const FlowUveVnAcePolicyInfo & vn_ace_info() const
FlowUveVnAcePolicyInfo vn_ace_info_
const std::string & interface() const
FlowUveStatsRequest(Event event, const boost::uuids::uuid &u, const std::string &intf, const FlowUveFwPolicyInfo &fw_policy_info)
FlowUveStatsRequest(Event event, const boost::uuids::uuid &u, const std::string &intf, const std::string &sg_rule, const FlowUveVnAcePolicyInfo &vn_ace_info, const FlowUveFwPolicyInfo &fw_policy_info)
boost::uuids::uuid uuid_
DISALLOW_COPY_AND_ASSIGN(FlowUveStatsRequest)
FlowUveFwPolicyInfo fw_policy_info_
const boost::uuids::uuid & uuid() const
std::vector< int > TagList
Definition: agent.h:202