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

          Line data    Source code
       1             : /*
       2             :  * Copyright (c) 2013 Juniper Networks, Inc. All rights reserved.
       3             :  */
       4             : 
       5             : #ifndef __VNSW_AGENT_FORWARDING_CLASS_KSYNC_H__
       6             : #define __VNSW_AGENT_FORWARDING_CLASS_KSYNC_H__
       7             : 
       8             : #include <db/db_entry.h>
       9             : #include <db/db_table.h>
      10             : #include <db/db_table_partition.h>
      11             : #include <ksync/ksync_entry.h>
      12             : #include <ksync/ksync_object.h>
      13             : #include <ksync/ksync_netlink.h>
      14             : #include "oper/qos_queue.h"
      15             : #include "oper/forwarding_class.h"
      16             : 
      17             : class KSync;
      18             : class ForwardingClassKSyncObject;
      19             : 
      20             : class ForwardingClassKSyncEntry : public KSyncNetlinkDBEntry {
      21             : public:
      22             :     ForwardingClassKSyncEntry(ForwardingClassKSyncObject *obj,
      23             :                               const ForwardingClassKSyncEntry *entry);
      24             :     ForwardingClassKSyncEntry(ForwardingClassKSyncObject *obj,
      25             :                               const ForwardingClass *fc);
      26             :     ForwardingClassKSyncEntry(ForwardingClassKSyncObject *obj,
      27             :                               uint32_t i);
      28             :     virtual ~ForwardingClassKSyncEntry();
      29             : 
      30             :     KSyncDBObject *GetObject() const;
      31             :     virtual bool IsLess(const KSyncEntry &rhs) const;
      32             :     virtual std::string ToString() const;
      33             :     virtual KSyncEntry *UnresolvedReference();
      34             :     virtual bool Sync(DBEntry *e);
      35             :     virtual int AddMsg(char *buf, int buf_len);
      36             :     virtual int ChangeMsg(char *buf, int buf_len);
      37             :     virtual int DeleteMsg(char *buf, int buf_len);
      38           0 :     uint32_t id() const { return id_;}
      39             :     uint32_t dscp() const { return dscp_;}
      40             :     uint32_t vlan_priority() const { return vlan_priority_;}
      41             :     uint32_t mpls_exp() const { return mpls_exp_;}
      42           0 :     KSyncEntry* qos_queue_ksync() const {
      43           0 :         return qos_queue_ksync_.get();
      44             :     }
      45             : private:
      46             :     int Encode(sandesh_op::type op, char *buf, int buf_len);
      47             :     KSyncDBObject *ksync_obj_;
      48             :     uint32_t id_;
      49             :     uint32_t dscp_;
      50             :     uint32_t vlan_priority_;
      51             :     uint32_t mpls_exp_;
      52             :     KSyncEntryPtr qos_queue_ksync_;
      53             :     uint16_t nic_queue_id_;
      54             :     DISALLOW_COPY_AND_ASSIGN(ForwardingClassKSyncEntry);
      55             : };
      56             : 
      57             : class ForwardingClassKSyncObject : public KSyncDBObject {
      58             : public:
      59             :     ForwardingClassKSyncObject(KSync *ksync);
      60             :     virtual ~ForwardingClassKSyncObject();
      61           0 :     KSync *ksync() const { return ksync_; }
      62             :     virtual KSyncEntry *Alloc(const KSyncEntry *entry, uint32_t index);
      63             :     virtual KSyncEntry *DBToKSyncEntry(const DBEntry *e);
      64             :     void RegisterDBClients();
      65             :     virtual KSyncDBObject::DBFilterResp DBEntryFilter(const DBEntry *entry,
      66             :                                                       const KSyncDBEntry*ksync);
      67             : private:
      68             :     KSync *ksync_;
      69             :     DISALLOW_COPY_AND_ASSIGN(ForwardingClassKSyncObject);
      70             : };
      71             : #endif

Generated by: LCOV version 1.14