Line data Source code
1 : /* 2 : * Copyright (c) 2013 Juniper Networks, Inc. All rights reserved. 3 : * Copyright Contributors to the OpenSDN project 4 : */ 5 : 6 : #ifndef __AGENT_OPER_GLOBAL_QOS_CONFIG_H 7 : #define __AGENT_OPER_GLOBAL_QOS_CONFIG_H 8 : 9 : #include <cmn/agent_cmn.h> 10 : #include <oper/oper_db.h> 11 : 12 : class IFMapNode; 13 : class GlobalQosConfig : public OperIFMapTable { 14 : public: 15 : static const uint8_t kInvalidDscp = 0xFF; 16 : GlobalQosConfig(Agent *agent); 17 : virtual ~GlobalQosConfig(); 18 : 19 : void ConfigDelete(IFMapNode *node); 20 : void ConfigAddChange(IFMapNode *node); 21 : void ConfigManagerEnqueue(IFMapNode *node); 22 10 : uint8_t control_dscp() const { return control_dscp_; } 23 2 : uint8_t dns_dscp() const { return dns_dscp_; } 24 : uint8_t analytics_dscp() const { return analytics_dscp_; } 25 : private: 26 : void ResetDscp(); 27 : void SetDnsDscp(uint8_t value); 28 : uint8_t control_dscp_; 29 : uint8_t dns_dscp_; 30 : uint8_t analytics_dscp_; 31 : 32 : DISALLOW_COPY_AND_ASSIGN(GlobalQosConfig); 33 : }; 34 : #endif