LCOV - code coverage report
Current view: top level - vnsw/agent/mac_learning - mac_learning_base.h (source / functions) Hit Total Coverage
Test: OpenSDN C/C++ coverage (all TARGET_SET jobs) Lines: 0 19 0.0 %
Date: 2026-08-03 02:19:58 Functions: 0 10 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :  * Copyright (c) 2017 Juniper Networks, Inc. All rights reserved.
       3             :  */
       4             : 
       5             : #ifndef SRC_VNSW_AGENT_MAC_LEARNING_MAC_LEARNING_BASE_H_
       6             : #define SRC_VNSW_AGENT_MAC_LEARNING_MAC_LEARNING_BASE_H_
       7             : 
       8             : #include "cmn/agent.h"
       9             : #include "mac_learning_key.h"
      10             : #include "pkt/flow_token.h"
      11             : 
      12             : class MacAgingTable;
      13             : class MacAgingPartition;
      14             : class MacLearningEntryRequest;
      15             : 
      16             : class MacLearningEntry;
      17             : typedef boost::shared_ptr<MacLearningEntry> MacLearningEntryPtr;
      18             : typedef boost::shared_ptr<MacLearningEntryRequest> MacLearningEntryRequestPtr;
      19             : class MacLearningEntry {
      20             : public:
      21           0 :     MacLearningEntry(uint32_t vrf_id):
      22           0 :          deleted_(false) {
      23             :         vrf_ = Agent::GetInstance()->vrf_table()->
      24           0 :                   FindVrfFromIdIncludingDeletedVrf(vrf_id);
      25           0 : }
      26             : 
      27           0 :     virtual ~MacLearningEntry() {}
      28             :     virtual bool Add() = 0;
      29             :     virtual void Delete() = 0;
      30             :     virtual void Resync() = 0;
      31             : 
      32             : 
      33           0 :     VrfEntry* vrf() const {
      34           0 :         return vrf_.get();
      35             :     }
      36             : 
      37             :     virtual uint32_t vrf_id() = 0;
      38             : 
      39           0 :     virtual void AddWithToken() {
      40           0 :     }
      41             : 
      42           0 :     virtual void AddToken(TokenPtr ptr) {
      43           0 :     }
      44             : 
      45           0 :     virtual void ReleaseToken() {
      46           0 :     }
      47             : 
      48           0 :     virtual void CopyToken(MacLearningEntry *entry) {
      49           0 :     }
      50             : 
      51           0 :     virtual bool HasTokens() {
      52           0 :         return false;
      53             :     }
      54             : 
      55           0 :     bool deleted() const {
      56           0 :         return deleted_;
      57             :     }
      58             :     virtual void EnqueueToTable(MacLearningEntryRequestPtr req)= 0;
      59             : 
      60             : protected:
      61             :     VrfEntryRef vrf_;
      62             :     bool deleted_;
      63             : private:
      64             :     DISALLOW_COPY_AND_ASSIGN(MacLearningEntry);
      65             : };
      66             : #endif

Generated by: LCOV version 1.14