10 uint32_t default_intvl)
18 EndpointSecurityStats *obj)
const {
29 VMIStats *uve)
const {
30 uint64_t in_band = 0, out_band = 0;
31 bool diff_fip_list_non_zero =
false;
32 VmInterfaceStats if_stats;
33 vector<VmFloatingIPStats> agg_fip_list;
34 vector<VmFloatingIPStats> diff_fip_list;
54 uve->set_raw_drop_stats(ds);
57 if_stats.set_in_pkts(s->
in_pkts);
61 uve->set_raw_if_stats(if_stats);
66 if ((in_b != 0) || (out_b != 0)) {
72 uve->set_in_bw_usage(in_band);
76 uve->set_out_bw_usage(out_band);
90 uve->set_port_bucket_bmap(map);
95 diff_fip_list_non_zero);
97 uve->set_fip_agg_stats(agg_fip_list);
98 entry->
uve_stats_.set_fip_agg_stats(agg_fip_list);
103 if (diff_fip_list_non_zero) {
104 uve->set_fip_diff_stats(diff_fip_list);
107 VrouterFlowRate flow_rate;
108 uint64_t created = 0, aged = 0;
109 uint32_t active_flows = 0;
111 &aged, &active_flows);
116 flow_rate.set_active_flows(active_flows);
117 uve->set_flow_rate(flow_rate);
135 EndpointSecurityStats *obj_log = ENDPOINT_SECURITY_STATS_CREATE();
147 tbb::mutex::scoped_lock lock(entry->
mutex_);
166 uint64_t b_intvl = agent_->uve()->bandwidth_intvl();
167 uint64_t diff_seconds = (cur_time - s->
stats_time) / b_intvl;
168 if (diff_seconds == 0) {
171 return bits/diff_seconds;
202 vector<VmFloatingIPStats> &fip_list,
203 vector<VmFloatingIPStats> &diff_list,
204 bool &diff_list_send)
const {
205 bool changed =
false;
206 diff_list_send =
false;
219 (
const string &name, uint8_t proto, uint16_t sport, uint16_t dport) {
220 tbb::mutex::scoped_lock lock(interface_tree_mutex_);
221 InterfaceMap::const_iterator it = interface_tree_.find(name);
223 if (it != interface_tree_.end()) {
231 tbb::mutex::scoped_lock lock(interface_tree_mutex_);
233 InterfaceMap::iterator intf_it = interface_tree_.find(vmi->
cfg_name());
235 if (intf_it == interface_tree_.end()) {
248 InterfaceMap::iterator intf_it = interface_tree_.find(req->
interface());
250 if (intf_it != interface_tree_.end()) {
296 vector<InterfaceUveInfo> &list =
297 const_cast<std::vector<InterfaceUveInfo>&
>(r->get_resp_list());
301 InterfaceUveInfo item;
305 list.push_back(item);
310 void InterfaceUveInfoReq::HandleRequest()
const {
311 InterfaceUveInfoResp *resp =
new InterfaceUveInfoResp();
316 resp->set_context(context());
StatsManager * stats_manager() const
const std::string & sg_rule_uuid() const
void SendInterfaceStats(void)
void UpdatePortBitmap(uint8_t proto, uint16_t sport, uint16_t dport)
void UpdateInterfaceAceStats(const std::string &ace_uuid)
void BuildInterfaceUveInfo(InterfaceUveInfoResp *r)
bool FrameInterfaceObjectLog(UveInterfaceEntry *entry, EndpointSecurityStats *obj) const
void SetVMIStatsVnVm(VMIStats *uve) const
static Agent * GetInstance()
const VmInterface * intf_
InterfaceMap interface_tree_
bool FipAggStatsChanged(const vector< VmFloatingIPStats > &list) const
void UpdateSecurityPolicyStats(const EndpointStatsInfo &info)
AgentUveBase * uve() const
InterfaceUveTable::FloatingIp * FipEntry(uint32_t fip, const string &vn, Interface *intf)
void SendInterfaceStatsMsg(UveInterfaceEntry *entry)
void FillTagSetAndPolicyList(VMIStats *obj)
AgentDBEntry * FindActiveEntry(const DBEntry *key)
InterfaceTable * interface_table() const
tbb::mutex interface_tree_mutex_
void BuildDropStats(const vr_drop_stats_req &r, AgentDropStats &ds) const
bool IncrInterfaceEndpointHits(const std::string &itf, const FlowUveFwPolicyInfo &info)
virtual void DispatchInterfaceObjectLog(EndpointSecurityStats *obj)
bool FrameFipStatsMsg(const VmInterface *vm_intf, vector< VmFloatingIPStats > &fip_list, vector< VmFloatingIPStats > &diff_list, bool &diff_list_send) const
void UpdatePortBitmap(const string &name, uint8_t proto, uint16_t sport, uint16_t dport)
L4PortBitmap port_bitmap_
void UpdateInterfaceFwPolicyStats(const FlowUveFwPolicyInfo &info)
uint64_t GetVmPortBandwidth(StatsManager::InterfaceStats *s, bool dir_in) const
void UpdateFloatingIpStats(const FipInfo &fip_info)
void SendInterfaceAceStats(const string &name, UveInterfaceEntry *entry)
bool OutBandChanged(uint64_t out_band) const
bool InBandChanged(uint64_t in_band) const
FlowRateComputeInfo flow_info
bool FrameInterfaceStatsMsg(UveInterfaceEntry *entry, VMIStats *uve) const
const std::string & interface() const
vr_drop_stats_req drop_stats
InterfaceUveStatsTable(Agent *agent, uint32_t default_intvl)
bool PortBitmapChanged(const PortBucketBitmap &bmap) const
bool FillFloatingIpStats(vector< VmFloatingIPStats > &result, vector< VmFloatingIPStats > &diff_list, bool &diff_list_send)
void FillEndpointStats(Agent *agent, EndpointSecurityStats *obj)
AgentStats::FlowCounters deleted
bool BuildFlowRate(AgentStats::FlowCounters &created, AgentStats::FlowCounters &aged, FlowRateComputeInfo &flow_info, VrouterFlowRate &flow_rate) const
virtual void DispatchVMIStatsMsg(const VMIStats &uve)
FlowProto * get_flow_proto() const
InterfaceUveTable * interface_uve_table() const
InterfaceUveTable::FloatingIp * FipEntry(uint32_t ip, const std::string &vn)
void UpdateFloatingIpStats(const FipInfo &fip_info)
void UpdateVmiTagBasedStats(const EndpointStatsInfo &info)
bool FrameInterfaceAceStatsMsg(const std::string &name, VMIStats *s_intf)
bool sg_info_valid() const
AgentStats::FlowCounters added
virtual ~InterfaceUveStatsTable()
static uint64_t UTCTimestampUsec()
const std::string & cfg_name() const
void BuildInterfaceUveInfo(InterfaceUveInfo *r) const
void IncrInterfaceAceStats(const FlowUveStatsRequest *req)
void GetDiffStats(uint64_t *in_b, uint64_t *out_b) const
void InterfaceFlowCount(const Interface *intf, uint64_t *created, uint64_t *aged, uint32_t *active_flows) const
InterfaceStats * GetInterfaceStats(const Interface *intf)
void Encode(PortBucketBitmap &bmap)