text: 
  #include <sstream>
  #include <iostream>
  #include <ydk/entity_util.hpp>
  #include "bundle_info.hpp"
  #include "generated_entity_lookup.hpp"
  #include "Cisco_IOS_XR_ipv4_bgp_oper_6.hpp"
  #include "Cisco_IOS_XR_ipv4_bgp_oper_7.hpp"
  
  using namespace ydk;
  
  namespace cisco_ios_xr {
  namespace Cisco_IOS_XR_ipv4_bgp_oper {
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::L2vpnVplsAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-vpls-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::~L2vpnVplsAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-vpls-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::L2vpnMspwAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-mspw-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::~L2vpnMspwAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-mspw-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::Ipv4SrPolicyAddress()
      :
      ipv4_srpolicy_address{YType::str, "ipv4-srpolicy-address"}
  {
  
      yang_name = "ipv4-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::~Ipv4SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv4_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv4_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv4-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv4_srpolicy_address.is_set || is_set(ipv4_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv4_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address = value;
          ipv4_srpolicy_address.value_namespace = name_space;
          ipv4_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv4-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::Ipv6SrPolicyAddress()
      :
      ipv6_srpolicy_address{YType::str, "ipv6-srpolicy-address"}
  {
  
      yang_name = "ipv6-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::~Ipv6SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv6_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv6_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv6-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv6_srpolicy_address.is_set || is_set(ipv6_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv6_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address = value;
          ipv6_srpolicy_address.value_namespace = name_space;
          ipv6_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::RemoteAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv6-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::SpeakerIdInfo()
      :
      is_item_configured{YType::boolean, "is-item-configured"}
          ,
      inheritance_chain(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain>())
  {
      inheritance_chain->parent = this;
  
      yang_name = "speaker-id-info"; yang_parent_name = "af-independent-config"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::~SpeakerIdInfo()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::has_data() const
  {
      if (is_presence_container) return true;
      return is_item_configured.is_set
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(is_item_configured.yfilter)
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "speaker-id-info";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (is_item_configured.is_set || is_set(is_item_configured.yfilter)) leaf_name_data.push_back(is_item_configured.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "inheritance-chain")
      {
          if(inheritance_chain == nullptr)
          {
              inheritance_chain = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain>();
          }
          return inheritance_chain;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(inheritance_chain != nullptr)
      {
          _children["inheritance-chain"] = inheritance_chain;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured = value;
          is_item_configured.value_namespace = name_space;
          is_item_configured.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "inheritance-chain" || name == "is-item-configured")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::InheritanceChain()
      :
      bgp_config_entid(this, {})
  {
  
      yang_name = "inheritance-chain"; yang_parent_name = "speaker-id-info"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::~InheritanceChain()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::has_data() const
  {
      if (is_presence_container) return true;
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_data())
              return true;
      }
      return false;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::has_operation() const
  {
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_operation())
              return true;
      }
      return is_set(yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "inheritance-chain";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "bgp-config-entid")
      {
          auto ent_ = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid>();
          ent_->parent = this;
          bgp_config_entid.append(ent_);
          return ent_;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      count_ = 0;
      for (auto ent_ : bgp_config_entid.entities())
      {
          if(_children.find(ent_->get_segment_path()) == _children.end())
              _children[ent_->get_segment_path()] = ent_;
          else
              _children[ent_->get_segment_path()+count_++] = ent_;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::set_filter(const std::string & value_path, YFilter yfilter)
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "bgp-config-entid")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::BgpConfigEntid()
      :
      address_family_identifier{YType::uint8, "address-family-identifier"},
      configuration_type{YType::enumeration, "configuration-type"},
      group_name{YType::str, "group-name"}
          ,
      neighbor_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>())
  {
      neighbor_address->parent = this;
  
      yang_name = "bgp-config-entid"; yang_parent_name = "inheritance-chain"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::~BgpConfigEntid()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::has_data() const
  {
      if (is_presence_container) return true;
      return address_family_identifier.is_set
  	|| configuration_type.is_set
  	|| group_name.is_set
  	|| (neighbor_address !=  nullptr && neighbor_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(address_family_identifier.yfilter)
  	|| ydk::is_set(configuration_type.yfilter)
  	|| ydk::is_set(group_name.yfilter)
  	|| (neighbor_address !=  nullptr && neighbor_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "bgp-config-entid";
      path_buffer << "[" << get_ylist_key() << "]";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (address_family_identifier.is_set || is_set(address_family_identifier.yfilter)) leaf_name_data.push_back(address_family_identifier.get_name_leafdata());
      if (configuration_type.is_set || is_set(configuration_type.yfilter)) leaf_name_data.push_back(configuration_type.get_name_leafdata());
      if (group_name.is_set || is_set(group_name.yfilter)) leaf_name_data.push_back(group_name.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "neighbor-address")
      {
          if(neighbor_address == nullptr)
          {
              neighbor_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>();
          }
          return neighbor_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(neighbor_address != nullptr)
      {
          _children["neighbor-address"] = neighbor_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier = value;
          address_family_identifier.value_namespace = name_space;
          address_family_identifier.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "configuration-type")
      {
          configuration_type = value;
          configuration_type.value_namespace = name_space;
          configuration_type.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "group-name")
      {
          group_name = value;
          group_name.value_namespace = name_space;
          group_name.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier.yfilter = yfilter;
      }
      if(value_path == "configuration-type")
      {
          configuration_type.yfilter = yfilter;
      }
      if(value_path == "group-name")
      {
          group_name.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "neighbor-address" || name == "address-family-identifier" || name == "configuration-type" || name == "group-name")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::NeighborAddress()
      :
      afi{YType::enumeration, "afi"},
      ipv4_address{YType::str, "ipv4-address"},
      ipv4_mcast_address{YType::str, "ipv4-mcast-address"},
      ipv4_label_address{YType::str, "ipv4-label-address"},
      ipv4_tunnel_address{YType::str, "ipv4-tunnel-address"},
      ipv4_mdt_address{YType::str, "ipv4-mdt-address"},
      ipv4vpn_address{YType::str, "ipv4vpn-address"},
      ipv4vpna_mcastddress{YType::str, "ipv4vpna-mcastddress"},
      ipv6_address{YType::str, "ipv6-address"},
      ipv6_mcast_address{YType::str, "ipv6-mcast-address"},
      ipv6_label_address{YType::str, "ipv6-label-address"},
      ipv6vpn_address{YType::str, "ipv6vpn-address"},
      ipv6vpn_mcast_address{YType::str, "ipv6vpn-mcast-address"},
      rt_constraint_address{YType::str, "rt-constraint-address"},
      ipv6mvpn_address{YType::str, "ipv6mvpn-address"},
      ipv4mvpn_address{YType::str, "ipv4mvpn-address"},
      l2vpn_evpn_address{YType::str, "l2vpn-evpn-address"},
      ls_ls_address{YType::str, "ls-ls-address"},
      ipv4_flowspec_address{YType::str, "ipv4-flowspec-address"},
      ipv6_flowspec_address{YType::str, "ipv6-flowspec-address"},
      ipv4vpn_flowspec_address{YType::str, "ipv4vpn-flowspec-address"},
      ipv6vpn_flowspec_address{YType::str, "ipv6vpn-flowspec-address"}
          ,
      l2vpn_vpls_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>())
      , l2vpn_mspw_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>())
      , ipv4_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>())
      , ipv6_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>())
  {
      l2vpn_vpls_address->parent = this;
      l2vpn_mspw_address->parent = this;
      ipv4_sr_policy_address->parent = this;
      ipv6_sr_policy_address->parent = this;
  
      yang_name = "neighbor-address"; yang_parent_name = "bgp-config-entid"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::~NeighborAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_data() const
  {
      if (is_presence_container) return true;
      return afi.is_set
  	|| ipv4_address.is_set
  	|| ipv4_mcast_address.is_set
  	|| ipv4_label_address.is_set
  	|| ipv4_tunnel_address.is_set
  	|| ipv4_mdt_address.is_set
  	|| ipv4vpn_address.is_set
  	|| ipv4vpna_mcastddress.is_set
  	|| ipv6_address.is_set
  	|| ipv6_mcast_address.is_set
  	|| ipv6_label_address.is_set
  	|| ipv6vpn_address.is_set
  	|| ipv6vpn_mcast_address.is_set
  	|| rt_constraint_address.is_set
  	|| ipv6mvpn_address.is_set
  	|| ipv4mvpn_address.is_set
  	|| l2vpn_evpn_address.is_set
  	|| ls_ls_address.is_set
  	|| ipv4_flowspec_address.is_set
  	|| ipv6_flowspec_address.is_set
  	|| ipv4vpn_flowspec_address.is_set
  	|| ipv6vpn_flowspec_address.is_set
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_data())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_data())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_data())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(afi.yfilter)
  	|| ydk::is_set(ipv4_address.yfilter)
  	|| ydk::is_set(ipv4_mcast_address.yfilter)
  	|| ydk::is_set(ipv4_label_address.yfilter)
  	|| ydk::is_set(ipv4_tunnel_address.yfilter)
  	|| ydk::is_set(ipv4_mdt_address.yfilter)
  	|| ydk::is_set(ipv4vpn_address.yfilter)
  	|| ydk::is_set(ipv4vpna_mcastddress.yfilter)
  	|| ydk::is_set(ipv6_address.yfilter)
  	|| ydk::is_set(ipv6_mcast_address.yfilter)
  	|| ydk::is_set(ipv6_label_address.yfilter)
  	|| ydk::is_set(ipv6vpn_address.yfilter)
  	|| ydk::is_set(ipv6vpn_mcast_address.yfilter)
  	|| ydk::is_set(rt_constraint_address.yfilter)
  	|| ydk::is_set(ipv6mvpn_address.yfilter)
  	|| ydk::is_set(ipv4mvpn_address.yfilter)
  	|| ydk::is_set(l2vpn_evpn_address.yfilter)
  	|| ydk::is_set(ls_ls_address.yfilter)
  	|| ydk::is_set(ipv4_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6_flowspec_address.yfilter)
  	|| ydk::is_set(ipv4vpn_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6vpn_flowspec_address.yfilter)
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_operation())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_operation())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_operation())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "neighbor-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (afi.is_set || is_set(afi.yfilter)) leaf_name_data.push_back(afi.get_name_leafdata());
      if (ipv4_address.is_set || is_set(ipv4_address.yfilter)) leaf_name_data.push_back(ipv4_address.get_name_leafdata());
      if (ipv4_mcast_address.is_set || is_set(ipv4_mcast_address.yfilter)) leaf_name_data.push_back(ipv4_mcast_address.get_name_leafdata());
      if (ipv4_label_address.is_set || is_set(ipv4_label_address.yfilter)) leaf_name_data.push_back(ipv4_label_address.get_name_leafdata());
      if (ipv4_tunnel_address.is_set || is_set(ipv4_tunnel_address.yfilter)) leaf_name_data.push_back(ipv4_tunnel_address.get_name_leafdata());
      if (ipv4_mdt_address.is_set || is_set(ipv4_mdt_address.yfilter)) leaf_name_data.push_back(ipv4_mdt_address.get_name_leafdata());
      if (ipv4vpn_address.is_set || is_set(ipv4vpn_address.yfilter)) leaf_name_data.push_back(ipv4vpn_address.get_name_leafdata());
      if (ipv4vpna_mcastddress.is_set || is_set(ipv4vpna_mcastddress.yfilter)) leaf_name_data.push_back(ipv4vpna_mcastddress.get_name_leafdata());
      if (ipv6_address.is_set || is_set(ipv6_address.yfilter)) leaf_name_data.push_back(ipv6_address.get_name_leafdata());
      if (ipv6_mcast_address.is_set || is_set(ipv6_mcast_address.yfilter)) leaf_name_data.push_back(ipv6_mcast_address.get_name_leafdata());
      if (ipv6_label_address.is_set || is_set(ipv6_label_address.yfilter)) leaf_name_data.push_back(ipv6_label_address.get_name_leafdata());
      if (ipv6vpn_address.is_set || is_set(ipv6vpn_address.yfilter)) leaf_name_data.push_back(ipv6vpn_address.get_name_leafdata());
      if (ipv6vpn_mcast_address.is_set || is_set(ipv6vpn_mcast_address.yfilter)) leaf_name_data.push_back(ipv6vpn_mcast_address.get_name_leafdata());
      if (rt_constraint_address.is_set || is_set(rt_constraint_address.yfilter)) leaf_name_data.push_back(rt_constraint_address.get_name_leafdata());
      if (ipv6mvpn_address.is_set || is_set(ipv6mvpn_address.yfilter)) leaf_name_data.push_back(ipv6mvpn_address.get_name_leafdata());
      if (ipv4mvpn_address.is_set || is_set(ipv4mvpn_address.yfilter)) leaf_name_data.push_back(ipv4mvpn_address.get_name_leafdata());
      if (l2vpn_evpn_address.is_set || is_set(l2vpn_evpn_address.yfilter)) leaf_name_data.push_back(l2vpn_evpn_address.get_name_leafdata());
      if (ls_ls_address.is_set || is_set(ls_ls_address.yfilter)) leaf_name_data.push_back(ls_ls_address.get_name_leafdata());
      if (ipv4_flowspec_address.is_set || is_set(ipv4_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4_flowspec_address.get_name_leafdata());
      if (ipv6_flowspec_address.is_set || is_set(ipv6_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6_flowspec_address.get_name_leafdata());
      if (ipv4vpn_flowspec_address.is_set || is_set(ipv4vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4vpn_flowspec_address.get_name_leafdata());
      if (ipv6vpn_flowspec_address.is_set || is_set(ipv6vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6vpn_flowspec_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "l2vpn-vpls-address")
      {
          if(l2vpn_vpls_address == nullptr)
          {
              l2vpn_vpls_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>();
          }
          return l2vpn_vpls_address;
      }
  
      if(child_yang_name == "l2vpn-mspw-address")
      {
          if(l2vpn_mspw_address == nullptr)
          {
              l2vpn_mspw_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>();
          }
          return l2vpn_mspw_address;
      }
  
      if(child_yang_name == "ipv4-sr-policy-address")
      {
          if(ipv4_sr_policy_address == nullptr)
          {
              ipv4_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>();
          }
          return ipv4_sr_policy_address;
      }
  
      if(child_yang_name == "ipv6-sr-policy-address")
      {
          if(ipv6_sr_policy_address == nullptr)
          {
              ipv6_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>();
          }
          return ipv6_sr_policy_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(l2vpn_vpls_address != nullptr)
      {
          _children["l2vpn-vpls-address"] = l2vpn_vpls_address;
      }
  
      if(l2vpn_mspw_address != nullptr)
      {
          _children["l2vpn-mspw-address"] = l2vpn_mspw_address;
      }
  
      if(ipv4_sr_policy_address != nullptr)
      {
          _children["ipv4-sr-policy-address"] = ipv4_sr_policy_address;
      }
  
      if(ipv6_sr_policy_address != nullptr)
      {
          _children["ipv6-sr-policy-address"] = ipv6_sr_policy_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "afi")
      {
          afi = value;
          afi.value_namespace = name_space;
          afi.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address = value;
          ipv4_address.value_namespace = name_space;
          ipv4_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address = value;
          ipv4_mcast_address.value_namespace = name_space;
          ipv4_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address = value;
          ipv4_label_address.value_namespace = name_space;
          ipv4_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address = value;
          ipv4_tunnel_address.value_namespace = name_space;
          ipv4_tunnel_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address = value;
          ipv4_mdt_address.value_namespace = name_space;
          ipv4_mdt_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address = value;
          ipv4vpn_address.value_namespace = name_space;
          ipv4vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress = value;
          ipv4vpna_mcastddress.value_namespace = name_space;
          ipv4vpna_mcastddress.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address = value;
          ipv6_address.value_namespace = name_space;
          ipv6_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address = value;
          ipv6_mcast_address.value_namespace = name_space;
          ipv6_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address = value;
          ipv6_label_address.value_namespace = name_space;
          ipv6_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address = value;
          ipv6vpn_address.value_namespace = name_space;
          ipv6vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address = value;
          ipv6vpn_mcast_address.value_namespace = name_space;
          ipv6vpn_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address = value;
          rt_constraint_address.value_namespace = name_space;
          rt_constraint_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address = value;
          ipv6mvpn_address.value_namespace = name_space;
          ipv6mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address = value;
          ipv4mvpn_address.value_namespace = name_space;
          ipv4mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address = value;
          l2vpn_evpn_address.value_namespace = name_space;
          l2vpn_evpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address = value;
          ls_ls_address.value_namespace = name_space;
          ls_ls_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address = value;
          ipv4_flowspec_address.value_namespace = name_space;
          ipv4_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address = value;
          ipv6_flowspec_address.value_namespace = name_space;
          ipv6_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address = value;
          ipv4vpn_flowspec_address.value_namespace = name_space;
          ipv4vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address = value;
          ipv6vpn_flowspec_address.value_namespace = name_space;
          ipv6vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "afi")
      {
          afi.yfilter = yfilter;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress.yfilter = yfilter;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address.yfilter = yfilter;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address.yfilter = yfilter;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address.yfilter = yfilter;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address.yfilter = yfilter;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-vpls-address" || name == "l2vpn-mspw-address" || name == "ipv4-sr-policy-address" || name == "ipv6-sr-policy-address" || name == "afi" || name == "ipv4-address" || name == "ipv4-mcast-address" || name == "ipv4-label-address" || name == "ipv4-tunnel-address" || name == "ipv4-mdt-address" || name == "ipv4vpn-address" || name == "ipv4vpna-mcastddress" || name == "ipv6-address" || name == "ipv6-mcast-address" || name == "ipv6-label-address" || name == "ipv6vpn-address" || name == "ipv6vpn-mcast-address" || name == "rt-constraint-address" || name == "ipv6mvpn-address" || name == "ipv4mvpn-address" || name == "l2vpn-evpn-address" || name == "ls-ls-address" || name == "ipv4-flowspec-address" || name == "ipv6-flowspec-address" || name == "ipv4vpn-flowspec-address" || name == "ipv6vpn-flowspec-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::L2vpnVplsAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-vpls-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::~L2vpnVplsAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-vpls-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::L2vpnMspwAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-mspw-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::~L2vpnMspwAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-mspw-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::Ipv4SrPolicyAddress()
      :
      ipv4_srpolicy_address{YType::str, "ipv4-srpolicy-address"}
  {
  
      yang_name = "ipv4-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::~Ipv4SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv4_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv4_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv4-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv4_srpolicy_address.is_set || is_set(ipv4_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv4_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address = value;
          ipv4_srpolicy_address.value_namespace = name_space;
          ipv4_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv4-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::Ipv6SrPolicyAddress()
      :
      ipv6_srpolicy_address{YType::str, "ipv6-srpolicy-address"}
  {
  
      yang_name = "ipv6-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::~Ipv6SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv6_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv6_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv6-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv6_srpolicy_address.is_set || is_set(ipv6_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv6_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address = value;
          ipv6_srpolicy_address.value_namespace = name_space;
          ipv6_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SpeakerIdInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv6-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::MinAdvertisementInfo()
      :
      is_item_configured{YType::boolean, "is-item-configured"}
          ,
      inheritance_chain(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain>())
  {
      inheritance_chain->parent = this;
  
      yang_name = "min-advertisement-info"; yang_parent_name = "af-independent-config"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::~MinAdvertisementInfo()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::has_data() const
  {
      if (is_presence_container) return true;
      return is_item_configured.is_set
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(is_item_configured.yfilter)
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "min-advertisement-info";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (is_item_configured.is_set || is_set(is_item_configured.yfilter)) leaf_name_data.push_back(is_item_configured.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "inheritance-chain")
      {
          if(inheritance_chain == nullptr)
          {
              inheritance_chain = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain>();
          }
          return inheritance_chain;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(inheritance_chain != nullptr)
      {
          _children["inheritance-chain"] = inheritance_chain;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured = value;
          is_item_configured.value_namespace = name_space;
          is_item_configured.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "inheritance-chain" || name == "is-item-configured")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::InheritanceChain()
      :
      bgp_config_entid(this, {})
  {
  
      yang_name = "inheritance-chain"; yang_parent_name = "min-advertisement-info"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::~InheritanceChain()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::has_data() const
  {
      if (is_presence_container) return true;
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_data())
              return true;
      }
      return false;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::has_operation() const
  {
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_operation())
              return true;
      }
      return is_set(yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "inheritance-chain";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "bgp-config-entid")
      {
          auto ent_ = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid>();
          ent_->parent = this;
          bgp_config_entid.append(ent_);
          return ent_;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      count_ = 0;
      for (auto ent_ : bgp_config_entid.entities())
      {
          if(_children.find(ent_->get_segment_path()) == _children.end())
              _children[ent_->get_segment_path()] = ent_;
          else
              _children[ent_->get_segment_path()+count_++] = ent_;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::set_filter(const std::string & value_path, YFilter yfilter)
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "bgp-config-entid")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::BgpConfigEntid()
      :
      address_family_identifier{YType::uint8, "address-family-identifier"},
      configuration_type{YType::enumeration, "configuration-type"},
      group_name{YType::str, "group-name"}
          ,
      neighbor_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>())
  {
      neighbor_address->parent = this;
  
      yang_name = "bgp-config-entid"; yang_parent_name = "inheritance-chain"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::~BgpConfigEntid()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::has_data() const
  {
      if (is_presence_container) return true;
      return address_family_identifier.is_set
  	|| configuration_type.is_set
  	|| group_name.is_set
  	|| (neighbor_address !=  nullptr && neighbor_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(address_family_identifier.yfilter)
  	|| ydk::is_set(configuration_type.yfilter)
  	|| ydk::is_set(group_name.yfilter)
  	|| (neighbor_address !=  nullptr && neighbor_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "bgp-config-entid";
      path_buffer << "[" << get_ylist_key() << "]";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (address_family_identifier.is_set || is_set(address_family_identifier.yfilter)) leaf_name_data.push_back(address_family_identifier.get_name_leafdata());
      if (configuration_type.is_set || is_set(configuration_type.yfilter)) leaf_name_data.push_back(configuration_type.get_name_leafdata());
      if (group_name.is_set || is_set(group_name.yfilter)) leaf_name_data.push_back(group_name.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "neighbor-address")
      {
          if(neighbor_address == nullptr)
          {
              neighbor_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>();
          }
          return neighbor_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(neighbor_address != nullptr)
      {
          _children["neighbor-address"] = neighbor_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier = value;
          address_family_identifier.value_namespace = name_space;
          address_family_identifier.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "configuration-type")
      {
          configuration_type = value;
          configuration_type.value_namespace = name_space;
          configuration_type.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "group-name")
      {
          group_name = value;
          group_name.value_namespace = name_space;
          group_name.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier.yfilter = yfilter;
      }
      if(value_path == "configuration-type")
      {
          configuration_type.yfilter = yfilter;
      }
      if(value_path == "group-name")
      {
          group_name.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "neighbor-address" || name == "address-family-identifier" || name == "configuration-type" || name == "group-name")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::NeighborAddress()
      :
      afi{YType::enumeration, "afi"},
      ipv4_address{YType::str, "ipv4-address"},
      ipv4_mcast_address{YType::str, "ipv4-mcast-address"},
      ipv4_label_address{YType::str, "ipv4-label-address"},
      ipv4_tunnel_address{YType::str, "ipv4-tunnel-address"},
      ipv4_mdt_address{YType::str, "ipv4-mdt-address"},
      ipv4vpn_address{YType::str, "ipv4vpn-address"},
      ipv4vpna_mcastddress{YType::str, "ipv4vpna-mcastddress"},
      ipv6_address{YType::str, "ipv6-address"},
      ipv6_mcast_address{YType::str, "ipv6-mcast-address"},
      ipv6_label_address{YType::str, "ipv6-label-address"},
      ipv6vpn_address{YType::str, "ipv6vpn-address"},
      ipv6vpn_mcast_address{YType::str, "ipv6vpn-mcast-address"},
      rt_constraint_address{YType::str, "rt-constraint-address"},
      ipv6mvpn_address{YType::str, "ipv6mvpn-address"},
      ipv4mvpn_address{YType::str, "ipv4mvpn-address"},
      l2vpn_evpn_address{YType::str, "l2vpn-evpn-address"},
      ls_ls_address{YType::str, "ls-ls-address"},
      ipv4_flowspec_address{YType::str, "ipv4-flowspec-address"},
      ipv6_flowspec_address{YType::str, "ipv6-flowspec-address"},
      ipv4vpn_flowspec_address{YType::str, "ipv4vpn-flowspec-address"},
      ipv6vpn_flowspec_address{YType::str, "ipv6vpn-flowspec-address"}
          ,
      l2vpn_vpls_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>())
      , l2vpn_mspw_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>())
      , ipv4_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>())
      , ipv6_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>())
  {
      l2vpn_vpls_address->parent = this;
      l2vpn_mspw_address->parent = this;
      ipv4_sr_policy_address->parent = this;
      ipv6_sr_policy_address->parent = this;
  
      yang_name = "neighbor-address"; yang_parent_name = "bgp-config-entid"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::~NeighborAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_data() const
  {
      if (is_presence_container) return true;
      return afi.is_set
  	|| ipv4_address.is_set
  	|| ipv4_mcast_address.is_set
  	|| ipv4_label_address.is_set
  	|| ipv4_tunnel_address.is_set
  	|| ipv4_mdt_address.is_set
  	|| ipv4vpn_address.is_set
  	|| ipv4vpna_mcastddress.is_set
  	|| ipv6_address.is_set
  	|| ipv6_mcast_address.is_set
  	|| ipv6_label_address.is_set
  	|| ipv6vpn_address.is_set
  	|| ipv6vpn_mcast_address.is_set
  	|| rt_constraint_address.is_set
  	|| ipv6mvpn_address.is_set
  	|| ipv4mvpn_address.is_set
  	|| l2vpn_evpn_address.is_set
  	|| ls_ls_address.is_set
  	|| ipv4_flowspec_address.is_set
  	|| ipv6_flowspec_address.is_set
  	|| ipv4vpn_flowspec_address.is_set
  	|| ipv6vpn_flowspec_address.is_set
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_data())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_data())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_data())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(afi.yfilter)
  	|| ydk::is_set(ipv4_address.yfilter)
  	|| ydk::is_set(ipv4_mcast_address.yfilter)
  	|| ydk::is_set(ipv4_label_address.yfilter)
  	|| ydk::is_set(ipv4_tunnel_address.yfilter)
  	|| ydk::is_set(ipv4_mdt_address.yfilter)
  	|| ydk::is_set(ipv4vpn_address.yfilter)
  	|| ydk::is_set(ipv4vpna_mcastddress.yfilter)
  	|| ydk::is_set(ipv6_address.yfilter)
  	|| ydk::is_set(ipv6_mcast_address.yfilter)
  	|| ydk::is_set(ipv6_label_address.yfilter)
  	|| ydk::is_set(ipv6vpn_address.yfilter)
  	|| ydk::is_set(ipv6vpn_mcast_address.yfilter)
  	|| ydk::is_set(rt_constraint_address.yfilter)
  	|| ydk::is_set(ipv6mvpn_address.yfilter)
  	|| ydk::is_set(ipv4mvpn_address.yfilter)
  	|| ydk::is_set(l2vpn_evpn_address.yfilter)
  	|| ydk::is_set(ls_ls_address.yfilter)
  	|| ydk::is_set(ipv4_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6_flowspec_address.yfilter)
  	|| ydk::is_set(ipv4vpn_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6vpn_flowspec_address.yfilter)
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_operation())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_operation())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_operation())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "neighbor-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (afi.is_set || is_set(afi.yfilter)) leaf_name_data.push_back(afi.get_name_leafdata());
      if (ipv4_address.is_set || is_set(ipv4_address.yfilter)) leaf_name_data.push_back(ipv4_address.get_name_leafdata());
      if (ipv4_mcast_address.is_set || is_set(ipv4_mcast_address.yfilter)) leaf_name_data.push_back(ipv4_mcast_address.get_name_leafdata());
      if (ipv4_label_address.is_set || is_set(ipv4_label_address.yfilter)) leaf_name_data.push_back(ipv4_label_address.get_name_leafdata());
      if (ipv4_tunnel_address.is_set || is_set(ipv4_tunnel_address.yfilter)) leaf_name_data.push_back(ipv4_tunnel_address.get_name_leafdata());
      if (ipv4_mdt_address.is_set || is_set(ipv4_mdt_address.yfilter)) leaf_name_data.push_back(ipv4_mdt_address.get_name_leafdata());
      if (ipv4vpn_address.is_set || is_set(ipv4vpn_address.yfilter)) leaf_name_data.push_back(ipv4vpn_address.get_name_leafdata());
      if (ipv4vpna_mcastddress.is_set || is_set(ipv4vpna_mcastddress.yfilter)) leaf_name_data.push_back(ipv4vpna_mcastddress.get_name_leafdata());
      if (ipv6_address.is_set || is_set(ipv6_address.yfilter)) leaf_name_data.push_back(ipv6_address.get_name_leafdata());
      if (ipv6_mcast_address.is_set || is_set(ipv6_mcast_address.yfilter)) leaf_name_data.push_back(ipv6_mcast_address.get_name_leafdata());
      if (ipv6_label_address.is_set || is_set(ipv6_label_address.yfilter)) leaf_name_data.push_back(ipv6_label_address.get_name_leafdata());
      if (ipv6vpn_address.is_set || is_set(ipv6vpn_address.yfilter)) leaf_name_data.push_back(ipv6vpn_address.get_name_leafdata());
      if (ipv6vpn_mcast_address.is_set || is_set(ipv6vpn_mcast_address.yfilter)) leaf_name_data.push_back(ipv6vpn_mcast_address.get_name_leafdata());
      if (rt_constraint_address.is_set || is_set(rt_constraint_address.yfilter)) leaf_name_data.push_back(rt_constraint_address.get_name_leafdata());
      if (ipv6mvpn_address.is_set || is_set(ipv6mvpn_address.yfilter)) leaf_name_data.push_back(ipv6mvpn_address.get_name_leafdata());
      if (ipv4mvpn_address.is_set || is_set(ipv4mvpn_address.yfilter)) leaf_name_data.push_back(ipv4mvpn_address.get_name_leafdata());
      if (l2vpn_evpn_address.is_set || is_set(l2vpn_evpn_address.yfilter)) leaf_name_data.push_back(l2vpn_evpn_address.get_name_leafdata());
      if (ls_ls_address.is_set || is_set(ls_ls_address.yfilter)) leaf_name_data.push_back(ls_ls_address.get_name_leafdata());
      if (ipv4_flowspec_address.is_set || is_set(ipv4_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4_flowspec_address.get_name_leafdata());
      if (ipv6_flowspec_address.is_set || is_set(ipv6_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6_flowspec_address.get_name_leafdata());
      if (ipv4vpn_flowspec_address.is_set || is_set(ipv4vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4vpn_flowspec_address.get_name_leafdata());
      if (ipv6vpn_flowspec_address.is_set || is_set(ipv6vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6vpn_flowspec_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "l2vpn-vpls-address")
      {
          if(l2vpn_vpls_address == nullptr)
          {
              l2vpn_vpls_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>();
          }
          return l2vpn_vpls_address;
      }
  
      if(child_yang_name == "l2vpn-mspw-address")
      {
          if(l2vpn_mspw_address == nullptr)
          {
              l2vpn_mspw_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>();
          }
          return l2vpn_mspw_address;
      }
  
      if(child_yang_name == "ipv4-sr-policy-address")
      {
          if(ipv4_sr_policy_address == nullptr)
          {
              ipv4_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>();
          }
          return ipv4_sr_policy_address;
      }
  
      if(child_yang_name == "ipv6-sr-policy-address")
      {
          if(ipv6_sr_policy_address == nullptr)
          {
              ipv6_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>();
          }
          return ipv6_sr_policy_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(l2vpn_vpls_address != nullptr)
      {
          _children["l2vpn-vpls-address"] = l2vpn_vpls_address;
      }
  
      if(l2vpn_mspw_address != nullptr)
      {
          _children["l2vpn-mspw-address"] = l2vpn_mspw_address;
      }
  
      if(ipv4_sr_policy_address != nullptr)
      {
          _children["ipv4-sr-policy-address"] = ipv4_sr_policy_address;
      }
  
      if(ipv6_sr_policy_address != nullptr)
      {
          _children["ipv6-sr-policy-address"] = ipv6_sr_policy_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "afi")
      {
          afi = value;
          afi.value_namespace = name_space;
          afi.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address = value;
          ipv4_address.value_namespace = name_space;
          ipv4_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address = value;
          ipv4_mcast_address.value_namespace = name_space;
          ipv4_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address = value;
          ipv4_label_address.value_namespace = name_space;
          ipv4_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address = value;
          ipv4_tunnel_address.value_namespace = name_space;
          ipv4_tunnel_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address = value;
          ipv4_mdt_address.value_namespace = name_space;
          ipv4_mdt_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address = value;
          ipv4vpn_address.value_namespace = name_space;
          ipv4vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress = value;
          ipv4vpna_mcastddress.value_namespace = name_space;
          ipv4vpna_mcastddress.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address = value;
          ipv6_address.value_namespace = name_space;
          ipv6_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address = value;
          ipv6_mcast_address.value_namespace = name_space;
          ipv6_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address = value;
          ipv6_label_address.value_namespace = name_space;
          ipv6_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address = value;
          ipv6vpn_address.value_namespace = name_space;
          ipv6vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address = value;
          ipv6vpn_mcast_address.value_namespace = name_space;
          ipv6vpn_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address = value;
          rt_constraint_address.value_namespace = name_space;
          rt_constraint_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address = value;
          ipv6mvpn_address.value_namespace = name_space;
          ipv6mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address = value;
          ipv4mvpn_address.value_namespace = name_space;
          ipv4mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address = value;
          l2vpn_evpn_address.value_namespace = name_space;
          l2vpn_evpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address = value;
          ls_ls_address.value_namespace = name_space;
          ls_ls_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address = value;
          ipv4_flowspec_address.value_namespace = name_space;
          ipv4_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address = value;
          ipv6_flowspec_address.value_namespace = name_space;
          ipv6_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address = value;
          ipv4vpn_flowspec_address.value_namespace = name_space;
          ipv4vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address = value;
          ipv6vpn_flowspec_address.value_namespace = name_space;
          ipv6vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "afi")
      {
          afi.yfilter = yfilter;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress.yfilter = yfilter;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address.yfilter = yfilter;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address.yfilter = yfilter;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address.yfilter = yfilter;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address.yfilter = yfilter;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-vpls-address" || name == "l2vpn-mspw-address" || name == "ipv4-sr-policy-address" || name == "ipv6-sr-policy-address" || name == "afi" || name == "ipv4-address" || name == "ipv4-mcast-address" || name == "ipv4-label-address" || name == "ipv4-tunnel-address" || name == "ipv4-mdt-address" || name == "ipv4vpn-address" || name == "ipv4vpna-mcastddress" || name == "ipv6-address" || name == "ipv6-mcast-address" || name == "ipv6-label-address" || name == "ipv6vpn-address" || name == "ipv6vpn-mcast-address" || name == "rt-constraint-address" || name == "ipv6mvpn-address" || name == "ipv4mvpn-address" || name == "l2vpn-evpn-address" || name == "ls-ls-address" || name == "ipv4-flowspec-address" || name == "ipv6-flowspec-address" || name == "ipv4vpn-flowspec-address" || name == "ipv6vpn-flowspec-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::L2vpnVplsAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-vpls-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::~L2vpnVplsAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-vpls-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::L2vpnMspwAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-mspw-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::~L2vpnMspwAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-mspw-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::Ipv4SrPolicyAddress()
      :
      ipv4_srpolicy_address{YType::str, "ipv4-srpolicy-address"}
  {
  
      yang_name = "ipv4-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::~Ipv4SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv4_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv4_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv4-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv4_srpolicy_address.is_set || is_set(ipv4_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv4_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address = value;
          ipv4_srpolicy_address.value_namespace = name_space;
          ipv4_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv4-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::Ipv6SrPolicyAddress()
      :
      ipv6_srpolicy_address{YType::str, "ipv6-srpolicy-address"}
  {
  
      yang_name = "ipv6-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::~Ipv6SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv6_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv6_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv6-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv6_srpolicy_address.is_set || is_set(ipv6_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv6_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address = value;
          ipv6_srpolicy_address.value_namespace = name_space;
          ipv6_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MinAdvertisementInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv6-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::DescriptionInfo()
      :
      is_item_configured{YType::boolean, "is-item-configured"}
          ,
      inheritance_chain(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain>())
  {
      inheritance_chain->parent = this;
  
      yang_name = "description-info"; yang_parent_name = "af-independent-config"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::~DescriptionInfo()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::has_data() const
  {
      if (is_presence_container) return true;
      return is_item_configured.is_set
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(is_item_configured.yfilter)
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "description-info";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (is_item_configured.is_set || is_set(is_item_configured.yfilter)) leaf_name_data.push_back(is_item_configured.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "inheritance-chain")
      {
          if(inheritance_chain == nullptr)
          {
              inheritance_chain = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain>();
          }
          return inheritance_chain;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(inheritance_chain != nullptr)
      {
          _children["inheritance-chain"] = inheritance_chain;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured = value;
          is_item_configured.value_namespace = name_space;
          is_item_configured.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "inheritance-chain" || name == "is-item-configured")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::InheritanceChain()
      :
      bgp_config_entid(this, {})
  {
  
      yang_name = "inheritance-chain"; yang_parent_name = "description-info"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::~InheritanceChain()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::has_data() const
  {
      if (is_presence_container) return true;
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_data())
              return true;
      }
      return false;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::has_operation() const
  {
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_operation())
              return true;
      }
      return is_set(yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "inheritance-chain";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "bgp-config-entid")
      {
          auto ent_ = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid>();
          ent_->parent = this;
          bgp_config_entid.append(ent_);
          return ent_;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      count_ = 0;
      for (auto ent_ : bgp_config_entid.entities())
      {
          if(_children.find(ent_->get_segment_path()) == _children.end())
              _children[ent_->get_segment_path()] = ent_;
          else
              _children[ent_->get_segment_path()+count_++] = ent_;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::set_filter(const std::string & value_path, YFilter yfilter)
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "bgp-config-entid")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::BgpConfigEntid()
      :
      address_family_identifier{YType::uint8, "address-family-identifier"},
      configuration_type{YType::enumeration, "configuration-type"},
      group_name{YType::str, "group-name"}
          ,
      neighbor_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>())
  {
      neighbor_address->parent = this;
  
      yang_name = "bgp-config-entid"; yang_parent_name = "inheritance-chain"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::~BgpConfigEntid()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::has_data() const
  {
      if (is_presence_container) return true;
      return address_family_identifier.is_set
  	|| configuration_type.is_set
  	|| group_name.is_set
  	|| (neighbor_address !=  nullptr && neighbor_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(address_family_identifier.yfilter)
  	|| ydk::is_set(configuration_type.yfilter)
  	|| ydk::is_set(group_name.yfilter)
  	|| (neighbor_address !=  nullptr && neighbor_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "bgp-config-entid";
      path_buffer << "[" << get_ylist_key() << "]";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (address_family_identifier.is_set || is_set(address_family_identifier.yfilter)) leaf_name_data.push_back(address_family_identifier.get_name_leafdata());
      if (configuration_type.is_set || is_set(configuration_type.yfilter)) leaf_name_data.push_back(configuration_type.get_name_leafdata());
      if (group_name.is_set || is_set(group_name.yfilter)) leaf_name_data.push_back(group_name.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "neighbor-address")
      {
          if(neighbor_address == nullptr)
          {
              neighbor_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>();
          }
          return neighbor_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(neighbor_address != nullptr)
      {
          _children["neighbor-address"] = neighbor_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier = value;
          address_family_identifier.value_namespace = name_space;
          address_family_identifier.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "configuration-type")
      {
          configuration_type = value;
          configuration_type.value_namespace = name_space;
          configuration_type.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "group-name")
      {
          group_name = value;
          group_name.value_namespace = name_space;
          group_name.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier.yfilter = yfilter;
      }
      if(value_path == "configuration-type")
      {
          configuration_type.yfilter = yfilter;
      }
      if(value_path == "group-name")
      {
          group_name.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "neighbor-address" || name == "address-family-identifier" || name == "configuration-type" || name == "group-name")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::NeighborAddress()
      :
      afi{YType::enumeration, "afi"},
      ipv4_address{YType::str, "ipv4-address"},
      ipv4_mcast_address{YType::str, "ipv4-mcast-address"},
      ipv4_label_address{YType::str, "ipv4-label-address"},
      ipv4_tunnel_address{YType::str, "ipv4-tunnel-address"},
      ipv4_mdt_address{YType::str, "ipv4-mdt-address"},
      ipv4vpn_address{YType::str, "ipv4vpn-address"},
      ipv4vpna_mcastddress{YType::str, "ipv4vpna-mcastddress"},
      ipv6_address{YType::str, "ipv6-address"},
      ipv6_mcast_address{YType::str, "ipv6-mcast-address"},
      ipv6_label_address{YType::str, "ipv6-label-address"},
      ipv6vpn_address{YType::str, "ipv6vpn-address"},
      ipv6vpn_mcast_address{YType::str, "ipv6vpn-mcast-address"},
      rt_constraint_address{YType::str, "rt-constraint-address"},
      ipv6mvpn_address{YType::str, "ipv6mvpn-address"},
      ipv4mvpn_address{YType::str, "ipv4mvpn-address"},
      l2vpn_evpn_address{YType::str, "l2vpn-evpn-address"},
      ls_ls_address{YType::str, "ls-ls-address"},
      ipv4_flowspec_address{YType::str, "ipv4-flowspec-address"},
      ipv6_flowspec_address{YType::str, "ipv6-flowspec-address"},
      ipv4vpn_flowspec_address{YType::str, "ipv4vpn-flowspec-address"},
      ipv6vpn_flowspec_address{YType::str, "ipv6vpn-flowspec-address"}
          ,
      l2vpn_vpls_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>())
      , l2vpn_mspw_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>())
      , ipv4_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>())
      , ipv6_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>())
  {
      l2vpn_vpls_address->parent = this;
      l2vpn_mspw_address->parent = this;
      ipv4_sr_policy_address->parent = this;
      ipv6_sr_policy_address->parent = this;
  
      yang_name = "neighbor-address"; yang_parent_name = "bgp-config-entid"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::~NeighborAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_data() const
  {
      if (is_presence_container) return true;
      return afi.is_set
  	|| ipv4_address.is_set
  	|| ipv4_mcast_address.is_set
  	|| ipv4_label_address.is_set
  	|| ipv4_tunnel_address.is_set
  	|| ipv4_mdt_address.is_set
  	|| ipv4vpn_address.is_set
  	|| ipv4vpna_mcastddress.is_set
  	|| ipv6_address.is_set
  	|| ipv6_mcast_address.is_set
  	|| ipv6_label_address.is_set
  	|| ipv6vpn_address.is_set
  	|| ipv6vpn_mcast_address.is_set
  	|| rt_constraint_address.is_set
  	|| ipv6mvpn_address.is_set
  	|| ipv4mvpn_address.is_set
  	|| l2vpn_evpn_address.is_set
  	|| ls_ls_address.is_set
  	|| ipv4_flowspec_address.is_set
  	|| ipv6_flowspec_address.is_set
  	|| ipv4vpn_flowspec_address.is_set
  	|| ipv6vpn_flowspec_address.is_set
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_data())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_data())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_data())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(afi.yfilter)
  	|| ydk::is_set(ipv4_address.yfilter)
  	|| ydk::is_set(ipv4_mcast_address.yfilter)
  	|| ydk::is_set(ipv4_label_address.yfilter)
  	|| ydk::is_set(ipv4_tunnel_address.yfilter)
  	|| ydk::is_set(ipv4_mdt_address.yfilter)
  	|| ydk::is_set(ipv4vpn_address.yfilter)
  	|| ydk::is_set(ipv4vpna_mcastddress.yfilter)
  	|| ydk::is_set(ipv6_address.yfilter)
  	|| ydk::is_set(ipv6_mcast_address.yfilter)
  	|| ydk::is_set(ipv6_label_address.yfilter)
  	|| ydk::is_set(ipv6vpn_address.yfilter)
  	|| ydk::is_set(ipv6vpn_mcast_address.yfilter)
  	|| ydk::is_set(rt_constraint_address.yfilter)
  	|| ydk::is_set(ipv6mvpn_address.yfilter)
  	|| ydk::is_set(ipv4mvpn_address.yfilter)
  	|| ydk::is_set(l2vpn_evpn_address.yfilter)
  	|| ydk::is_set(ls_ls_address.yfilter)
  	|| ydk::is_set(ipv4_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6_flowspec_address.yfilter)
  	|| ydk::is_set(ipv4vpn_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6vpn_flowspec_address.yfilter)
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_operation())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_operation())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_operation())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "neighbor-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (afi.is_set || is_set(afi.yfilter)) leaf_name_data.push_back(afi.get_name_leafdata());
      if (ipv4_address.is_set || is_set(ipv4_address.yfilter)) leaf_name_data.push_back(ipv4_address.get_name_leafdata());
      if (ipv4_mcast_address.is_set || is_set(ipv4_mcast_address.yfilter)) leaf_name_data.push_back(ipv4_mcast_address.get_name_leafdata());
      if (ipv4_label_address.is_set || is_set(ipv4_label_address.yfilter)) leaf_name_data.push_back(ipv4_label_address.get_name_leafdata());
      if (ipv4_tunnel_address.is_set || is_set(ipv4_tunnel_address.yfilter)) leaf_name_data.push_back(ipv4_tunnel_address.get_name_leafdata());
      if (ipv4_mdt_address.is_set || is_set(ipv4_mdt_address.yfilter)) leaf_name_data.push_back(ipv4_mdt_address.get_name_leafdata());
      if (ipv4vpn_address.is_set || is_set(ipv4vpn_address.yfilter)) leaf_name_data.push_back(ipv4vpn_address.get_name_leafdata());
      if (ipv4vpna_mcastddress.is_set || is_set(ipv4vpna_mcastddress.yfilter)) leaf_name_data.push_back(ipv4vpna_mcastddress.get_name_leafdata());
      if (ipv6_address.is_set || is_set(ipv6_address.yfilter)) leaf_name_data.push_back(ipv6_address.get_name_leafdata());
      if (ipv6_mcast_address.is_set || is_set(ipv6_mcast_address.yfilter)) leaf_name_data.push_back(ipv6_mcast_address.get_name_leafdata());
      if (ipv6_label_address.is_set || is_set(ipv6_label_address.yfilter)) leaf_name_data.push_back(ipv6_label_address.get_name_leafdata());
      if (ipv6vpn_address.is_set || is_set(ipv6vpn_address.yfilter)) leaf_name_data.push_back(ipv6vpn_address.get_name_leafdata());
      if (ipv6vpn_mcast_address.is_set || is_set(ipv6vpn_mcast_address.yfilter)) leaf_name_data.push_back(ipv6vpn_mcast_address.get_name_leafdata());
      if (rt_constraint_address.is_set || is_set(rt_constraint_address.yfilter)) leaf_name_data.push_back(rt_constraint_address.get_name_leafdata());
      if (ipv6mvpn_address.is_set || is_set(ipv6mvpn_address.yfilter)) leaf_name_data.push_back(ipv6mvpn_address.get_name_leafdata());
      if (ipv4mvpn_address.is_set || is_set(ipv4mvpn_address.yfilter)) leaf_name_data.push_back(ipv4mvpn_address.get_name_leafdata());
      if (l2vpn_evpn_address.is_set || is_set(l2vpn_evpn_address.yfilter)) leaf_name_data.push_back(l2vpn_evpn_address.get_name_leafdata());
      if (ls_ls_address.is_set || is_set(ls_ls_address.yfilter)) leaf_name_data.push_back(ls_ls_address.get_name_leafdata());
      if (ipv4_flowspec_address.is_set || is_set(ipv4_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4_flowspec_address.get_name_leafdata());
      if (ipv6_flowspec_address.is_set || is_set(ipv6_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6_flowspec_address.get_name_leafdata());
      if (ipv4vpn_flowspec_address.is_set || is_set(ipv4vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4vpn_flowspec_address.get_name_leafdata());
      if (ipv6vpn_flowspec_address.is_set || is_set(ipv6vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6vpn_flowspec_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "l2vpn-vpls-address")
      {
          if(l2vpn_vpls_address == nullptr)
          {
              l2vpn_vpls_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>();
          }
          return l2vpn_vpls_address;
      }
  
      if(child_yang_name == "l2vpn-mspw-address")
      {
          if(l2vpn_mspw_address == nullptr)
          {
              l2vpn_mspw_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>();
          }
          return l2vpn_mspw_address;
      }
  
      if(child_yang_name == "ipv4-sr-policy-address")
      {
          if(ipv4_sr_policy_address == nullptr)
          {
              ipv4_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>();
          }
          return ipv4_sr_policy_address;
      }
  
      if(child_yang_name == "ipv6-sr-policy-address")
      {
          if(ipv6_sr_policy_address == nullptr)
          {
              ipv6_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>();
          }
          return ipv6_sr_policy_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(l2vpn_vpls_address != nullptr)
      {
          _children["l2vpn-vpls-address"] = l2vpn_vpls_address;
      }
  
      if(l2vpn_mspw_address != nullptr)
      {
          _children["l2vpn-mspw-address"] = l2vpn_mspw_address;
      }
  
      if(ipv4_sr_policy_address != nullptr)
      {
          _children["ipv4-sr-policy-address"] = ipv4_sr_policy_address;
      }
  
      if(ipv6_sr_policy_address != nullptr)
      {
          _children["ipv6-sr-policy-address"] = ipv6_sr_policy_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "afi")
      {
          afi = value;
          afi.value_namespace = name_space;
          afi.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address = value;
          ipv4_address.value_namespace = name_space;
          ipv4_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address = value;
          ipv4_mcast_address.value_namespace = name_space;
          ipv4_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address = value;
          ipv4_label_address.value_namespace = name_space;
          ipv4_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address = value;
          ipv4_tunnel_address.value_namespace = name_space;
          ipv4_tunnel_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address = value;
          ipv4_mdt_address.value_namespace = name_space;
          ipv4_mdt_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address = value;
          ipv4vpn_address.value_namespace = name_space;
          ipv4vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress = value;
          ipv4vpna_mcastddress.value_namespace = name_space;
          ipv4vpna_mcastddress.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address = value;
          ipv6_address.value_namespace = name_space;
          ipv6_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address = value;
          ipv6_mcast_address.value_namespace = name_space;
          ipv6_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address = value;
          ipv6_label_address.value_namespace = name_space;
          ipv6_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address = value;
          ipv6vpn_address.value_namespace = name_space;
          ipv6vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address = value;
          ipv6vpn_mcast_address.value_namespace = name_space;
          ipv6vpn_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address = value;
          rt_constraint_address.value_namespace = name_space;
          rt_constraint_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address = value;
          ipv6mvpn_address.value_namespace = name_space;
          ipv6mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address = value;
          ipv4mvpn_address.value_namespace = name_space;
          ipv4mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address = value;
          l2vpn_evpn_address.value_namespace = name_space;
          l2vpn_evpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address = value;
          ls_ls_address.value_namespace = name_space;
          ls_ls_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address = value;
          ipv4_flowspec_address.value_namespace = name_space;
          ipv4_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address = value;
          ipv6_flowspec_address.value_namespace = name_space;
          ipv6_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address = value;
          ipv4vpn_flowspec_address.value_namespace = name_space;
          ipv4vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address = value;
          ipv6vpn_flowspec_address.value_namespace = name_space;
          ipv6vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "afi")
      {
          afi.yfilter = yfilter;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress.yfilter = yfilter;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address.yfilter = yfilter;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address.yfilter = yfilter;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address.yfilter = yfilter;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address.yfilter = yfilter;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-vpls-address" || name == "l2vpn-mspw-address" || name == "ipv4-sr-policy-address" || name == "ipv6-sr-policy-address" || name == "afi" || name == "ipv4-address" || name == "ipv4-mcast-address" || name == "ipv4-label-address" || name == "ipv4-tunnel-address" || name == "ipv4-mdt-address" || name == "ipv4vpn-address" || name == "ipv4vpna-mcastddress" || name == "ipv6-address" || name == "ipv6-mcast-address" || name == "ipv6-label-address" || name == "ipv6vpn-address" || name == "ipv6vpn-mcast-address" || name == "rt-constraint-address" || name == "ipv6mvpn-address" || name == "ipv4mvpn-address" || name == "l2vpn-evpn-address" || name == "ls-ls-address" || name == "ipv4-flowspec-address" || name == "ipv6-flowspec-address" || name == "ipv4vpn-flowspec-address" || name == "ipv6vpn-flowspec-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::L2vpnVplsAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-vpls-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::~L2vpnVplsAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-vpls-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::L2vpnMspwAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-mspw-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::~L2vpnMspwAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-mspw-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::Ipv4SrPolicyAddress()
      :
      ipv4_srpolicy_address{YType::str, "ipv4-srpolicy-address"}
  {
  
      yang_name = "ipv4-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::~Ipv4SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv4_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv4_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv4-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv4_srpolicy_address.is_set || is_set(ipv4_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv4_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address = value;
          ipv4_srpolicy_address.value_namespace = name_space;
          ipv4_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv4-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::Ipv6SrPolicyAddress()
      :
      ipv6_srpolicy_address{YType::str, "ipv6-srpolicy-address"}
  {
  
      yang_name = "ipv6-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::~Ipv6SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv6_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv6_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv6-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv6_srpolicy_address.is_set || is_set(ipv6_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv6_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address = value;
          ipv6_srpolicy_address.value_namespace = name_space;
          ipv6_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DescriptionInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv6-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::EbgpHopCountInfo()
      :
      is_item_configured{YType::boolean, "is-item-configured"}
          ,
      inheritance_chain(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain>())
  {
      inheritance_chain->parent = this;
  
      yang_name = "ebgp-hop-count-info"; yang_parent_name = "af-independent-config"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::~EbgpHopCountInfo()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::has_data() const
  {
      if (is_presence_container) return true;
      return is_item_configured.is_set
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(is_item_configured.yfilter)
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ebgp-hop-count-info";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (is_item_configured.is_set || is_set(is_item_configured.yfilter)) leaf_name_data.push_back(is_item_configured.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "inheritance-chain")
      {
          if(inheritance_chain == nullptr)
          {
              inheritance_chain = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain>();
          }
          return inheritance_chain;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(inheritance_chain != nullptr)
      {
          _children["inheritance-chain"] = inheritance_chain;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured = value;
          is_item_configured.value_namespace = name_space;
          is_item_configured.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "inheritance-chain" || name == "is-item-configured")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::InheritanceChain()
      :
      bgp_config_entid(this, {})
  {
  
      yang_name = "inheritance-chain"; yang_parent_name = "ebgp-hop-count-info"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::~InheritanceChain()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::has_data() const
  {
      if (is_presence_container) return true;
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_data())
              return true;
      }
      return false;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::has_operation() const
  {
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_operation())
              return true;
      }
      return is_set(yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "inheritance-chain";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "bgp-config-entid")
      {
          auto ent_ = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid>();
          ent_->parent = this;
          bgp_config_entid.append(ent_);
          return ent_;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      count_ = 0;
      for (auto ent_ : bgp_config_entid.entities())
      {
          if(_children.find(ent_->get_segment_path()) == _children.end())
              _children[ent_->get_segment_path()] = ent_;
          else
              _children[ent_->get_segment_path()+count_++] = ent_;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::set_filter(const std::string & value_path, YFilter yfilter)
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "bgp-config-entid")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::BgpConfigEntid()
      :
      address_family_identifier{YType::uint8, "address-family-identifier"},
      configuration_type{YType::enumeration, "configuration-type"},
      group_name{YType::str, "group-name"}
          ,
      neighbor_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>())
  {
      neighbor_address->parent = this;
  
      yang_name = "bgp-config-entid"; yang_parent_name = "inheritance-chain"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::~BgpConfigEntid()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::has_data() const
  {
      if (is_presence_container) return true;
      return address_family_identifier.is_set
  	|| configuration_type.is_set
  	|| group_name.is_set
  	|| (neighbor_address !=  nullptr && neighbor_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(address_family_identifier.yfilter)
  	|| ydk::is_set(configuration_type.yfilter)
  	|| ydk::is_set(group_name.yfilter)
  	|| (neighbor_address !=  nullptr && neighbor_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "bgp-config-entid";
      path_buffer << "[" << get_ylist_key() << "]";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (address_family_identifier.is_set || is_set(address_family_identifier.yfilter)) leaf_name_data.push_back(address_family_identifier.get_name_leafdata());
      if (configuration_type.is_set || is_set(configuration_type.yfilter)) leaf_name_data.push_back(configuration_type.get_name_leafdata());
      if (group_name.is_set || is_set(group_name.yfilter)) leaf_name_data.push_back(group_name.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "neighbor-address")
      {
          if(neighbor_address == nullptr)
          {
              neighbor_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>();
          }
          return neighbor_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(neighbor_address != nullptr)
      {
          _children["neighbor-address"] = neighbor_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier = value;
          address_family_identifier.value_namespace = name_space;
          address_family_identifier.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "configuration-type")
      {
          configuration_type = value;
          configuration_type.value_namespace = name_space;
          configuration_type.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "group-name")
      {
          group_name = value;
          group_name.value_namespace = name_space;
          group_name.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier.yfilter = yfilter;
      }
      if(value_path == "configuration-type")
      {
          configuration_type.yfilter = yfilter;
      }
      if(value_path == "group-name")
      {
          group_name.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "neighbor-address" || name == "address-family-identifier" || name == "configuration-type" || name == "group-name")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::NeighborAddress()
      :
      afi{YType::enumeration, "afi"},
      ipv4_address{YType::str, "ipv4-address"},
      ipv4_mcast_address{YType::str, "ipv4-mcast-address"},
      ipv4_label_address{YType::str, "ipv4-label-address"},
      ipv4_tunnel_address{YType::str, "ipv4-tunnel-address"},
      ipv4_mdt_address{YType::str, "ipv4-mdt-address"},
      ipv4vpn_address{YType::str, "ipv4vpn-address"},
      ipv4vpna_mcastddress{YType::str, "ipv4vpna-mcastddress"},
      ipv6_address{YType::str, "ipv6-address"},
      ipv6_mcast_address{YType::str, "ipv6-mcast-address"},
      ipv6_label_address{YType::str, "ipv6-label-address"},
      ipv6vpn_address{YType::str, "ipv6vpn-address"},
      ipv6vpn_mcast_address{YType::str, "ipv6vpn-mcast-address"},
      rt_constraint_address{YType::str, "rt-constraint-address"},
      ipv6mvpn_address{YType::str, "ipv6mvpn-address"},
      ipv4mvpn_address{YType::str, "ipv4mvpn-address"},
      l2vpn_evpn_address{YType::str, "l2vpn-evpn-address"},
      ls_ls_address{YType::str, "ls-ls-address"},
      ipv4_flowspec_address{YType::str, "ipv4-flowspec-address"},
      ipv6_flowspec_address{YType::str, "ipv6-flowspec-address"},
      ipv4vpn_flowspec_address{YType::str, "ipv4vpn-flowspec-address"},
      ipv6vpn_flowspec_address{YType::str, "ipv6vpn-flowspec-address"}
          ,
      l2vpn_vpls_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>())
      , l2vpn_mspw_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>())
      , ipv4_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>())
      , ipv6_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>())
  {
      l2vpn_vpls_address->parent = this;
      l2vpn_mspw_address->parent = this;
      ipv4_sr_policy_address->parent = this;
      ipv6_sr_policy_address->parent = this;
  
      yang_name = "neighbor-address"; yang_parent_name = "bgp-config-entid"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::~NeighborAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_data() const
  {
      if (is_presence_container) return true;
      return afi.is_set
  	|| ipv4_address.is_set
  	|| ipv4_mcast_address.is_set
  	|| ipv4_label_address.is_set
  	|| ipv4_tunnel_address.is_set
  	|| ipv4_mdt_address.is_set
  	|| ipv4vpn_address.is_set
  	|| ipv4vpna_mcastddress.is_set
  	|| ipv6_address.is_set
  	|| ipv6_mcast_address.is_set
  	|| ipv6_label_address.is_set
  	|| ipv6vpn_address.is_set
  	|| ipv6vpn_mcast_address.is_set
  	|| rt_constraint_address.is_set
  	|| ipv6mvpn_address.is_set
  	|| ipv4mvpn_address.is_set
  	|| l2vpn_evpn_address.is_set
  	|| ls_ls_address.is_set
  	|| ipv4_flowspec_address.is_set
  	|| ipv6_flowspec_address.is_set
  	|| ipv4vpn_flowspec_address.is_set
  	|| ipv6vpn_flowspec_address.is_set
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_data())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_data())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_data())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(afi.yfilter)
  	|| ydk::is_set(ipv4_address.yfilter)
  	|| ydk::is_set(ipv4_mcast_address.yfilter)
  	|| ydk::is_set(ipv4_label_address.yfilter)
  	|| ydk::is_set(ipv4_tunnel_address.yfilter)
  	|| ydk::is_set(ipv4_mdt_address.yfilter)
  	|| ydk::is_set(ipv4vpn_address.yfilter)
  	|| ydk::is_set(ipv4vpna_mcastddress.yfilter)
  	|| ydk::is_set(ipv6_address.yfilter)
  	|| ydk::is_set(ipv6_mcast_address.yfilter)
  	|| ydk::is_set(ipv6_label_address.yfilter)
  	|| ydk::is_set(ipv6vpn_address.yfilter)
  	|| ydk::is_set(ipv6vpn_mcast_address.yfilter)
  	|| ydk::is_set(rt_constraint_address.yfilter)
  	|| ydk::is_set(ipv6mvpn_address.yfilter)
  	|| ydk::is_set(ipv4mvpn_address.yfilter)
  	|| ydk::is_set(l2vpn_evpn_address.yfilter)
  	|| ydk::is_set(ls_ls_address.yfilter)
  	|| ydk::is_set(ipv4_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6_flowspec_address.yfilter)
  	|| ydk::is_set(ipv4vpn_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6vpn_flowspec_address.yfilter)
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_operation())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_operation())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_operation())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "neighbor-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (afi.is_set || is_set(afi.yfilter)) leaf_name_data.push_back(afi.get_name_leafdata());
      if (ipv4_address.is_set || is_set(ipv4_address.yfilter)) leaf_name_data.push_back(ipv4_address.get_name_leafdata());
      if (ipv4_mcast_address.is_set || is_set(ipv4_mcast_address.yfilter)) leaf_name_data.push_back(ipv4_mcast_address.get_name_leafdata());
      if (ipv4_label_address.is_set || is_set(ipv4_label_address.yfilter)) leaf_name_data.push_back(ipv4_label_address.get_name_leafdata());
      if (ipv4_tunnel_address.is_set || is_set(ipv4_tunnel_address.yfilter)) leaf_name_data.push_back(ipv4_tunnel_address.get_name_leafdata());
      if (ipv4_mdt_address.is_set || is_set(ipv4_mdt_address.yfilter)) leaf_name_data.push_back(ipv4_mdt_address.get_name_leafdata());
      if (ipv4vpn_address.is_set || is_set(ipv4vpn_address.yfilter)) leaf_name_data.push_back(ipv4vpn_address.get_name_leafdata());
      if (ipv4vpna_mcastddress.is_set || is_set(ipv4vpna_mcastddress.yfilter)) leaf_name_data.push_back(ipv4vpna_mcastddress.get_name_leafdata());
      if (ipv6_address.is_set || is_set(ipv6_address.yfilter)) leaf_name_data.push_back(ipv6_address.get_name_leafdata());
      if (ipv6_mcast_address.is_set || is_set(ipv6_mcast_address.yfilter)) leaf_name_data.push_back(ipv6_mcast_address.get_name_leafdata());
      if (ipv6_label_address.is_set || is_set(ipv6_label_address.yfilter)) leaf_name_data.push_back(ipv6_label_address.get_name_leafdata());
      if (ipv6vpn_address.is_set || is_set(ipv6vpn_address.yfilter)) leaf_name_data.push_back(ipv6vpn_address.get_name_leafdata());
      if (ipv6vpn_mcast_address.is_set || is_set(ipv6vpn_mcast_address.yfilter)) leaf_name_data.push_back(ipv6vpn_mcast_address.get_name_leafdata());
      if (rt_constraint_address.is_set || is_set(rt_constraint_address.yfilter)) leaf_name_data.push_back(rt_constraint_address.get_name_leafdata());
      if (ipv6mvpn_address.is_set || is_set(ipv6mvpn_address.yfilter)) leaf_name_data.push_back(ipv6mvpn_address.get_name_leafdata());
      if (ipv4mvpn_address.is_set || is_set(ipv4mvpn_address.yfilter)) leaf_name_data.push_back(ipv4mvpn_address.get_name_leafdata());
      if (l2vpn_evpn_address.is_set || is_set(l2vpn_evpn_address.yfilter)) leaf_name_data.push_back(l2vpn_evpn_address.get_name_leafdata());
      if (ls_ls_address.is_set || is_set(ls_ls_address.yfilter)) leaf_name_data.push_back(ls_ls_address.get_name_leafdata());
      if (ipv4_flowspec_address.is_set || is_set(ipv4_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4_flowspec_address.get_name_leafdata());
      if (ipv6_flowspec_address.is_set || is_set(ipv6_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6_flowspec_address.get_name_leafdata());
      if (ipv4vpn_flowspec_address.is_set || is_set(ipv4vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4vpn_flowspec_address.get_name_leafdata());
      if (ipv6vpn_flowspec_address.is_set || is_set(ipv6vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6vpn_flowspec_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "l2vpn-vpls-address")
      {
          if(l2vpn_vpls_address == nullptr)
          {
              l2vpn_vpls_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>();
          }
          return l2vpn_vpls_address;
      }
  
      if(child_yang_name == "l2vpn-mspw-address")
      {
          if(l2vpn_mspw_address == nullptr)
          {
              l2vpn_mspw_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>();
          }
          return l2vpn_mspw_address;
      }
  
      if(child_yang_name == "ipv4-sr-policy-address")
      {
          if(ipv4_sr_policy_address == nullptr)
          {
              ipv4_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>();
          }
          return ipv4_sr_policy_address;
      }
  
      if(child_yang_name == "ipv6-sr-policy-address")
      {
          if(ipv6_sr_policy_address == nullptr)
          {
              ipv6_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>();
          }
          return ipv6_sr_policy_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(l2vpn_vpls_address != nullptr)
      {
          _children["l2vpn-vpls-address"] = l2vpn_vpls_address;
      }
  
      if(l2vpn_mspw_address != nullptr)
      {
          _children["l2vpn-mspw-address"] = l2vpn_mspw_address;
      }
  
      if(ipv4_sr_policy_address != nullptr)
      {
          _children["ipv4-sr-policy-address"] = ipv4_sr_policy_address;
      }
  
      if(ipv6_sr_policy_address != nullptr)
      {
          _children["ipv6-sr-policy-address"] = ipv6_sr_policy_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "afi")
      {
          afi = value;
          afi.value_namespace = name_space;
          afi.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address = value;
          ipv4_address.value_namespace = name_space;
          ipv4_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address = value;
          ipv4_mcast_address.value_namespace = name_space;
          ipv4_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address = value;
          ipv4_label_address.value_namespace = name_space;
          ipv4_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address = value;
          ipv4_tunnel_address.value_namespace = name_space;
          ipv4_tunnel_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address = value;
          ipv4_mdt_address.value_namespace = name_space;
          ipv4_mdt_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address = value;
          ipv4vpn_address.value_namespace = name_space;
          ipv4vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress = value;
          ipv4vpna_mcastddress.value_namespace = name_space;
          ipv4vpna_mcastddress.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address = value;
          ipv6_address.value_namespace = name_space;
          ipv6_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address = value;
          ipv6_mcast_address.value_namespace = name_space;
          ipv6_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address = value;
          ipv6_label_address.value_namespace = name_space;
          ipv6_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address = value;
          ipv6vpn_address.value_namespace = name_space;
          ipv6vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address = value;
          ipv6vpn_mcast_address.value_namespace = name_space;
          ipv6vpn_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address = value;
          rt_constraint_address.value_namespace = name_space;
          rt_constraint_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address = value;
          ipv6mvpn_address.value_namespace = name_space;
          ipv6mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address = value;
          ipv4mvpn_address.value_namespace = name_space;
          ipv4mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address = value;
          l2vpn_evpn_address.value_namespace = name_space;
          l2vpn_evpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address = value;
          ls_ls_address.value_namespace = name_space;
          ls_ls_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address = value;
          ipv4_flowspec_address.value_namespace = name_space;
          ipv4_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address = value;
          ipv6_flowspec_address.value_namespace = name_space;
          ipv6_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address = value;
          ipv4vpn_flowspec_address.value_namespace = name_space;
          ipv4vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address = value;
          ipv6vpn_flowspec_address.value_namespace = name_space;
          ipv6vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "afi")
      {
          afi.yfilter = yfilter;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress.yfilter = yfilter;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address.yfilter = yfilter;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address.yfilter = yfilter;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address.yfilter = yfilter;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address.yfilter = yfilter;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-vpls-address" || name == "l2vpn-mspw-address" || name == "ipv4-sr-policy-address" || name == "ipv6-sr-policy-address" || name == "afi" || name == "ipv4-address" || name == "ipv4-mcast-address" || name == "ipv4-label-address" || name == "ipv4-tunnel-address" || name == "ipv4-mdt-address" || name == "ipv4vpn-address" || name == "ipv4vpna-mcastddress" || name == "ipv6-address" || name == "ipv6-mcast-address" || name == "ipv6-label-address" || name == "ipv6vpn-address" || name == "ipv6vpn-mcast-address" || name == "rt-constraint-address" || name == "ipv6mvpn-address" || name == "ipv4mvpn-address" || name == "l2vpn-evpn-address" || name == "ls-ls-address" || name == "ipv4-flowspec-address" || name == "ipv6-flowspec-address" || name == "ipv4vpn-flowspec-address" || name == "ipv6vpn-flowspec-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::L2vpnVplsAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-vpls-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::~L2vpnVplsAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-vpls-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::L2vpnMspwAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-mspw-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::~L2vpnMspwAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-mspw-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::Ipv4SrPolicyAddress()
      :
      ipv4_srpolicy_address{YType::str, "ipv4-srpolicy-address"}
  {
  
      yang_name = "ipv4-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::~Ipv4SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv4_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv4_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv4-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv4_srpolicy_address.is_set || is_set(ipv4_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv4_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address = value;
          ipv4_srpolicy_address.value_namespace = name_space;
          ipv4_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv4-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::Ipv6SrPolicyAddress()
      :
      ipv6_srpolicy_address{YType::str, "ipv6-srpolicy-address"}
  {
  
      yang_name = "ipv6-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::~Ipv6SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv6_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv6_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv6-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv6_srpolicy_address.is_set || is_set(ipv6_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv6_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address = value;
          ipv6_srpolicy_address.value_namespace = name_space;
          ipv6_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpHopCountInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv6-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::TcpmssInfo()
      :
      is_item_configured{YType::boolean, "is-item-configured"}
          ,
      inheritance_chain(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain>())
  {
      inheritance_chain->parent = this;
  
      yang_name = "tcpmss-info"; yang_parent_name = "af-independent-config"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::~TcpmssInfo()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::has_data() const
  {
      if (is_presence_container) return true;
      return is_item_configured.is_set
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(is_item_configured.yfilter)
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "tcpmss-info";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (is_item_configured.is_set || is_set(is_item_configured.yfilter)) leaf_name_data.push_back(is_item_configured.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "inheritance-chain")
      {
          if(inheritance_chain == nullptr)
          {
              inheritance_chain = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain>();
          }
          return inheritance_chain;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(inheritance_chain != nullptr)
      {
          _children["inheritance-chain"] = inheritance_chain;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured = value;
          is_item_configured.value_namespace = name_space;
          is_item_configured.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "inheritance-chain" || name == "is-item-configured")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::InheritanceChain()
      :
      bgp_config_entid(this, {})
  {
  
      yang_name = "inheritance-chain"; yang_parent_name = "tcpmss-info"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::~InheritanceChain()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::has_data() const
  {
      if (is_presence_container) return true;
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_data())
              return true;
      }
      return false;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::has_operation() const
  {
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_operation())
              return true;
      }
      return is_set(yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "inheritance-chain";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "bgp-config-entid")
      {
          auto ent_ = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid>();
          ent_->parent = this;
          bgp_config_entid.append(ent_);
          return ent_;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      count_ = 0;
      for (auto ent_ : bgp_config_entid.entities())
      {
          if(_children.find(ent_->get_segment_path()) == _children.end())
              _children[ent_->get_segment_path()] = ent_;
          else
              _children[ent_->get_segment_path()+count_++] = ent_;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::set_filter(const std::string & value_path, YFilter yfilter)
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "bgp-config-entid")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::BgpConfigEntid()
      :
      address_family_identifier{YType::uint8, "address-family-identifier"},
      configuration_type{YType::enumeration, "configuration-type"},
      group_name{YType::str, "group-name"}
          ,
      neighbor_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>())
  {
      neighbor_address->parent = this;
  
      yang_name = "bgp-config-entid"; yang_parent_name = "inheritance-chain"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::~BgpConfigEntid()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::has_data() const
  {
      if (is_presence_container) return true;
      return address_family_identifier.is_set
  	|| configuration_type.is_set
  	|| group_name.is_set
  	|| (neighbor_address !=  nullptr && neighbor_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(address_family_identifier.yfilter)
  	|| ydk::is_set(configuration_type.yfilter)
  	|| ydk::is_set(group_name.yfilter)
  	|| (neighbor_address !=  nullptr && neighbor_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "bgp-config-entid";
      path_buffer << "[" << get_ylist_key() << "]";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (address_family_identifier.is_set || is_set(address_family_identifier.yfilter)) leaf_name_data.push_back(address_family_identifier.get_name_leafdata());
      if (configuration_type.is_set || is_set(configuration_type.yfilter)) leaf_name_data.push_back(configuration_type.get_name_leafdata());
      if (group_name.is_set || is_set(group_name.yfilter)) leaf_name_data.push_back(group_name.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "neighbor-address")
      {
          if(neighbor_address == nullptr)
          {
              neighbor_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>();
          }
          return neighbor_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(neighbor_address != nullptr)
      {
          _children["neighbor-address"] = neighbor_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier = value;
          address_family_identifier.value_namespace = name_space;
          address_family_identifier.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "configuration-type")
      {
          configuration_type = value;
          configuration_type.value_namespace = name_space;
          configuration_type.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "group-name")
      {
          group_name = value;
          group_name.value_namespace = name_space;
          group_name.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier.yfilter = yfilter;
      }
      if(value_path == "configuration-type")
      {
          configuration_type.yfilter = yfilter;
      }
      if(value_path == "group-name")
      {
          group_name.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "neighbor-address" || name == "address-family-identifier" || name == "configuration-type" || name == "group-name")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::NeighborAddress()
      :
      afi{YType::enumeration, "afi"},
      ipv4_address{YType::str, "ipv4-address"},
      ipv4_mcast_address{YType::str, "ipv4-mcast-address"},
      ipv4_label_address{YType::str, "ipv4-label-address"},
      ipv4_tunnel_address{YType::str, "ipv4-tunnel-address"},
      ipv4_mdt_address{YType::str, "ipv4-mdt-address"},
      ipv4vpn_address{YType::str, "ipv4vpn-address"},
      ipv4vpna_mcastddress{YType::str, "ipv4vpna-mcastddress"},
      ipv6_address{YType::str, "ipv6-address"},
      ipv6_mcast_address{YType::str, "ipv6-mcast-address"},
      ipv6_label_address{YType::str, "ipv6-label-address"},
      ipv6vpn_address{YType::str, "ipv6vpn-address"},
      ipv6vpn_mcast_address{YType::str, "ipv6vpn-mcast-address"},
      rt_constraint_address{YType::str, "rt-constraint-address"},
      ipv6mvpn_address{YType::str, "ipv6mvpn-address"},
      ipv4mvpn_address{YType::str, "ipv4mvpn-address"},
      l2vpn_evpn_address{YType::str, "l2vpn-evpn-address"},
      ls_ls_address{YType::str, "ls-ls-address"},
      ipv4_flowspec_address{YType::str, "ipv4-flowspec-address"},
      ipv6_flowspec_address{YType::str, "ipv6-flowspec-address"},
      ipv4vpn_flowspec_address{YType::str, "ipv4vpn-flowspec-address"},
      ipv6vpn_flowspec_address{YType::str, "ipv6vpn-flowspec-address"}
          ,
      l2vpn_vpls_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>())
      , l2vpn_mspw_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>())
      , ipv4_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>())
      , ipv6_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>())
  {
      l2vpn_vpls_address->parent = this;
      l2vpn_mspw_address->parent = this;
      ipv4_sr_policy_address->parent = this;
      ipv6_sr_policy_address->parent = this;
  
      yang_name = "neighbor-address"; yang_parent_name = "bgp-config-entid"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::~NeighborAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_data() const
  {
      if (is_presence_container) return true;
      return afi.is_set
  	|| ipv4_address.is_set
  	|| ipv4_mcast_address.is_set
  	|| ipv4_label_address.is_set
  	|| ipv4_tunnel_address.is_set
  	|| ipv4_mdt_address.is_set
  	|| ipv4vpn_address.is_set
  	|| ipv4vpna_mcastddress.is_set
  	|| ipv6_address.is_set
  	|| ipv6_mcast_address.is_set
  	|| ipv6_label_address.is_set
  	|| ipv6vpn_address.is_set
  	|| ipv6vpn_mcast_address.is_set
  	|| rt_constraint_address.is_set
  	|| ipv6mvpn_address.is_set
  	|| ipv4mvpn_address.is_set
  	|| l2vpn_evpn_address.is_set
  	|| ls_ls_address.is_set
  	|| ipv4_flowspec_address.is_set
  	|| ipv6_flowspec_address.is_set
  	|| ipv4vpn_flowspec_address.is_set
  	|| ipv6vpn_flowspec_address.is_set
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_data())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_data())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_data())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(afi.yfilter)
  	|| ydk::is_set(ipv4_address.yfilter)
  	|| ydk::is_set(ipv4_mcast_address.yfilter)
  	|| ydk::is_set(ipv4_label_address.yfilter)
  	|| ydk::is_set(ipv4_tunnel_address.yfilter)
  	|| ydk::is_set(ipv4_mdt_address.yfilter)
  	|| ydk::is_set(ipv4vpn_address.yfilter)
  	|| ydk::is_set(ipv4vpna_mcastddress.yfilter)
  	|| ydk::is_set(ipv6_address.yfilter)
  	|| ydk::is_set(ipv6_mcast_address.yfilter)
  	|| ydk::is_set(ipv6_label_address.yfilter)
  	|| ydk::is_set(ipv6vpn_address.yfilter)
  	|| ydk::is_set(ipv6vpn_mcast_address.yfilter)
  	|| ydk::is_set(rt_constraint_address.yfilter)
  	|| ydk::is_set(ipv6mvpn_address.yfilter)
  	|| ydk::is_set(ipv4mvpn_address.yfilter)
  	|| ydk::is_set(l2vpn_evpn_address.yfilter)
  	|| ydk::is_set(ls_ls_address.yfilter)
  	|| ydk::is_set(ipv4_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6_flowspec_address.yfilter)
  	|| ydk::is_set(ipv4vpn_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6vpn_flowspec_address.yfilter)
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_operation())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_operation())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_operation())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "neighbor-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (afi.is_set || is_set(afi.yfilter)) leaf_name_data.push_back(afi.get_name_leafdata());
      if (ipv4_address.is_set || is_set(ipv4_address.yfilter)) leaf_name_data.push_back(ipv4_address.get_name_leafdata());
      if (ipv4_mcast_address.is_set || is_set(ipv4_mcast_address.yfilter)) leaf_name_data.push_back(ipv4_mcast_address.get_name_leafdata());
      if (ipv4_label_address.is_set || is_set(ipv4_label_address.yfilter)) leaf_name_data.push_back(ipv4_label_address.get_name_leafdata());
      if (ipv4_tunnel_address.is_set || is_set(ipv4_tunnel_address.yfilter)) leaf_name_data.push_back(ipv4_tunnel_address.get_name_leafdata());
      if (ipv4_mdt_address.is_set || is_set(ipv4_mdt_address.yfilter)) leaf_name_data.push_back(ipv4_mdt_address.get_name_leafdata());
      if (ipv4vpn_address.is_set || is_set(ipv4vpn_address.yfilter)) leaf_name_data.push_back(ipv4vpn_address.get_name_leafdata());
      if (ipv4vpna_mcastddress.is_set || is_set(ipv4vpna_mcastddress.yfilter)) leaf_name_data.push_back(ipv4vpna_mcastddress.get_name_leafdata());
      if (ipv6_address.is_set || is_set(ipv6_address.yfilter)) leaf_name_data.push_back(ipv6_address.get_name_leafdata());
      if (ipv6_mcast_address.is_set || is_set(ipv6_mcast_address.yfilter)) leaf_name_data.push_back(ipv6_mcast_address.get_name_leafdata());
      if (ipv6_label_address.is_set || is_set(ipv6_label_address.yfilter)) leaf_name_data.push_back(ipv6_label_address.get_name_leafdata());
      if (ipv6vpn_address.is_set || is_set(ipv6vpn_address.yfilter)) leaf_name_data.push_back(ipv6vpn_address.get_name_leafdata());
      if (ipv6vpn_mcast_address.is_set || is_set(ipv6vpn_mcast_address.yfilter)) leaf_name_data.push_back(ipv6vpn_mcast_address.get_name_leafdata());
      if (rt_constraint_address.is_set || is_set(rt_constraint_address.yfilter)) leaf_name_data.push_back(rt_constraint_address.get_name_leafdata());
      if (ipv6mvpn_address.is_set || is_set(ipv6mvpn_address.yfilter)) leaf_name_data.push_back(ipv6mvpn_address.get_name_leafdata());
      if (ipv4mvpn_address.is_set || is_set(ipv4mvpn_address.yfilter)) leaf_name_data.push_back(ipv4mvpn_address.get_name_leafdata());
      if (l2vpn_evpn_address.is_set || is_set(l2vpn_evpn_address.yfilter)) leaf_name_data.push_back(l2vpn_evpn_address.get_name_leafdata());
      if (ls_ls_address.is_set || is_set(ls_ls_address.yfilter)) leaf_name_data.push_back(ls_ls_address.get_name_leafdata());
      if (ipv4_flowspec_address.is_set || is_set(ipv4_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4_flowspec_address.get_name_leafdata());
      if (ipv6_flowspec_address.is_set || is_set(ipv6_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6_flowspec_address.get_name_leafdata());
      if (ipv4vpn_flowspec_address.is_set || is_set(ipv4vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4vpn_flowspec_address.get_name_leafdata());
      if (ipv6vpn_flowspec_address.is_set || is_set(ipv6vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6vpn_flowspec_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "l2vpn-vpls-address")
      {
          if(l2vpn_vpls_address == nullptr)
          {
              l2vpn_vpls_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>();
          }
          return l2vpn_vpls_address;
      }
  
      if(child_yang_name == "l2vpn-mspw-address")
      {
          if(l2vpn_mspw_address == nullptr)
          {
              l2vpn_mspw_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>();
          }
          return l2vpn_mspw_address;
      }
  
      if(child_yang_name == "ipv4-sr-policy-address")
      {
          if(ipv4_sr_policy_address == nullptr)
          {
              ipv4_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>();
          }
          return ipv4_sr_policy_address;
      }
  
      if(child_yang_name == "ipv6-sr-policy-address")
      {
          if(ipv6_sr_policy_address == nullptr)
          {
              ipv6_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>();
          }
          return ipv6_sr_policy_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(l2vpn_vpls_address != nullptr)
      {
          _children["l2vpn-vpls-address"] = l2vpn_vpls_address;
      }
  
      if(l2vpn_mspw_address != nullptr)
      {
          _children["l2vpn-mspw-address"] = l2vpn_mspw_address;
      }
  
      if(ipv4_sr_policy_address != nullptr)
      {
          _children["ipv4-sr-policy-address"] = ipv4_sr_policy_address;
      }
  
      if(ipv6_sr_policy_address != nullptr)
      {
          _children["ipv6-sr-policy-address"] = ipv6_sr_policy_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "afi")
      {
          afi = value;
          afi.value_namespace = name_space;
          afi.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address = value;
          ipv4_address.value_namespace = name_space;
          ipv4_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address = value;
          ipv4_mcast_address.value_namespace = name_space;
          ipv4_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address = value;
          ipv4_label_address.value_namespace = name_space;
          ipv4_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address = value;
          ipv4_tunnel_address.value_namespace = name_space;
          ipv4_tunnel_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address = value;
          ipv4_mdt_address.value_namespace = name_space;
          ipv4_mdt_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address = value;
          ipv4vpn_address.value_namespace = name_space;
          ipv4vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress = value;
          ipv4vpna_mcastddress.value_namespace = name_space;
          ipv4vpna_mcastddress.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address = value;
          ipv6_address.value_namespace = name_space;
          ipv6_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address = value;
          ipv6_mcast_address.value_namespace = name_space;
          ipv6_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address = value;
          ipv6_label_address.value_namespace = name_space;
          ipv6_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address = value;
          ipv6vpn_address.value_namespace = name_space;
          ipv6vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address = value;
          ipv6vpn_mcast_address.value_namespace = name_space;
          ipv6vpn_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address = value;
          rt_constraint_address.value_namespace = name_space;
          rt_constraint_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address = value;
          ipv6mvpn_address.value_namespace = name_space;
          ipv6mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address = value;
          ipv4mvpn_address.value_namespace = name_space;
          ipv4mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address = value;
          l2vpn_evpn_address.value_namespace = name_space;
          l2vpn_evpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address = value;
          ls_ls_address.value_namespace = name_space;
          ls_ls_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address = value;
          ipv4_flowspec_address.value_namespace = name_space;
          ipv4_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address = value;
          ipv6_flowspec_address.value_namespace = name_space;
          ipv6_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address = value;
          ipv4vpn_flowspec_address.value_namespace = name_space;
          ipv4vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address = value;
          ipv6vpn_flowspec_address.value_namespace = name_space;
          ipv6vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "afi")
      {
          afi.yfilter = yfilter;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress.yfilter = yfilter;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address.yfilter = yfilter;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address.yfilter = yfilter;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address.yfilter = yfilter;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address.yfilter = yfilter;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-vpls-address" || name == "l2vpn-mspw-address" || name == "ipv4-sr-policy-address" || name == "ipv6-sr-policy-address" || name == "afi" || name == "ipv4-address" || name == "ipv4-mcast-address" || name == "ipv4-label-address" || name == "ipv4-tunnel-address" || name == "ipv4-mdt-address" || name == "ipv4vpn-address" || name == "ipv4vpna-mcastddress" || name == "ipv6-address" || name == "ipv6-mcast-address" || name == "ipv6-label-address" || name == "ipv6vpn-address" || name == "ipv6vpn-mcast-address" || name == "rt-constraint-address" || name == "ipv6mvpn-address" || name == "ipv4mvpn-address" || name == "l2vpn-evpn-address" || name == "ls-ls-address" || name == "ipv4-flowspec-address" || name == "ipv6-flowspec-address" || name == "ipv4vpn-flowspec-address" || name == "ipv6vpn-flowspec-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::L2vpnVplsAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-vpls-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::~L2vpnVplsAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-vpls-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::L2vpnMspwAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-mspw-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::~L2vpnMspwAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-mspw-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::Ipv4SrPolicyAddress()
      :
      ipv4_srpolicy_address{YType::str, "ipv4-srpolicy-address"}
  {
  
      yang_name = "ipv4-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::~Ipv4SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv4_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv4_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv4-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv4_srpolicy_address.is_set || is_set(ipv4_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv4_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address = value;
          ipv4_srpolicy_address.value_namespace = name_space;
          ipv4_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv4-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::Ipv6SrPolicyAddress()
      :
      ipv6_srpolicy_address{YType::str, "ipv6-srpolicy-address"}
  {
  
      yang_name = "ipv6-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::~Ipv6SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv6_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv6_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv6-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv6_srpolicy_address.is_set || is_set(ipv6_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv6_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address = value;
          ipv6_srpolicy_address.value_namespace = name_space;
          ipv6_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TcpmssInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv6-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::BmpServersInfo()
      :
      is_item_configured{YType::boolean, "is-item-configured"}
          ,
      inheritance_chain(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain>())
  {
      inheritance_chain->parent = this;
  
      yang_name = "bmp-servers-info"; yang_parent_name = "af-independent-config"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::~BmpServersInfo()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::has_data() const
  {
      if (is_presence_container) return true;
      return is_item_configured.is_set
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(is_item_configured.yfilter)
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "bmp-servers-info";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (is_item_configured.is_set || is_set(is_item_configured.yfilter)) leaf_name_data.push_back(is_item_configured.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "inheritance-chain")
      {
          if(inheritance_chain == nullptr)
          {
              inheritance_chain = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain>();
          }
          return inheritance_chain;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(inheritance_chain != nullptr)
      {
          _children["inheritance-chain"] = inheritance_chain;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured = value;
          is_item_configured.value_namespace = name_space;
          is_item_configured.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "inheritance-chain" || name == "is-item-configured")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::InheritanceChain()
      :
      bgp_config_entid(this, {})
  {
  
      yang_name = "inheritance-chain"; yang_parent_name = "bmp-servers-info"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::~InheritanceChain()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::has_data() const
  {
      if (is_presence_container) return true;
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_data())
              return true;
      }
      return false;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::has_operation() const
  {
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_operation())
              return true;
      }
      return is_set(yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "inheritance-chain";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "bgp-config-entid")
      {
          auto ent_ = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid>();
          ent_->parent = this;
          bgp_config_entid.append(ent_);
          return ent_;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      count_ = 0;
      for (auto ent_ : bgp_config_entid.entities())
      {
          if(_children.find(ent_->get_segment_path()) == _children.end())
              _children[ent_->get_segment_path()] = ent_;
          else
              _children[ent_->get_segment_path()+count_++] = ent_;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::set_filter(const std::string & value_path, YFilter yfilter)
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "bgp-config-entid")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::BgpConfigEntid()
      :
      address_family_identifier{YType::uint8, "address-family-identifier"},
      configuration_type{YType::enumeration, "configuration-type"},
      group_name{YType::str, "group-name"}
          ,
      neighbor_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>())
  {
      neighbor_address->parent = this;
  
      yang_name = "bgp-config-entid"; yang_parent_name = "inheritance-chain"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::~BgpConfigEntid()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::has_data() const
  {
      if (is_presence_container) return true;
      return address_family_identifier.is_set
  	|| configuration_type.is_set
  	|| group_name.is_set
  	|| (neighbor_address !=  nullptr && neighbor_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(address_family_identifier.yfilter)
  	|| ydk::is_set(configuration_type.yfilter)
  	|| ydk::is_set(group_name.yfilter)
  	|| (neighbor_address !=  nullptr && neighbor_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "bgp-config-entid";
      path_buffer << "[" << get_ylist_key() << "]";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (address_family_identifier.is_set || is_set(address_family_identifier.yfilter)) leaf_name_data.push_back(address_family_identifier.get_name_leafdata());
      if (configuration_type.is_set || is_set(configuration_type.yfilter)) leaf_name_data.push_back(configuration_type.get_name_leafdata());
      if (group_name.is_set || is_set(group_name.yfilter)) leaf_name_data.push_back(group_name.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "neighbor-address")
      {
          if(neighbor_address == nullptr)
          {
              neighbor_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>();
          }
          return neighbor_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(neighbor_address != nullptr)
      {
          _children["neighbor-address"] = neighbor_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier = value;
          address_family_identifier.value_namespace = name_space;
          address_family_identifier.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "configuration-type")
      {
          configuration_type = value;
          configuration_type.value_namespace = name_space;
          configuration_type.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "group-name")
      {
          group_name = value;
          group_name.value_namespace = name_space;
          group_name.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier.yfilter = yfilter;
      }
      if(value_path == "configuration-type")
      {
          configuration_type.yfilter = yfilter;
      }
      if(value_path == "group-name")
      {
          group_name.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "neighbor-address" || name == "address-family-identifier" || name == "configuration-type" || name == "group-name")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::NeighborAddress()
      :
      afi{YType::enumeration, "afi"},
      ipv4_address{YType::str, "ipv4-address"},
      ipv4_mcast_address{YType::str, "ipv4-mcast-address"},
      ipv4_label_address{YType::str, "ipv4-label-address"},
      ipv4_tunnel_address{YType::str, "ipv4-tunnel-address"},
      ipv4_mdt_address{YType::str, "ipv4-mdt-address"},
      ipv4vpn_address{YType::str, "ipv4vpn-address"},
      ipv4vpna_mcastddress{YType::str, "ipv4vpna-mcastddress"},
      ipv6_address{YType::str, "ipv6-address"},
      ipv6_mcast_address{YType::str, "ipv6-mcast-address"},
      ipv6_label_address{YType::str, "ipv6-label-address"},
      ipv6vpn_address{YType::str, "ipv6vpn-address"},
      ipv6vpn_mcast_address{YType::str, "ipv6vpn-mcast-address"},
      rt_constraint_address{YType::str, "rt-constraint-address"},
      ipv6mvpn_address{YType::str, "ipv6mvpn-address"},
      ipv4mvpn_address{YType::str, "ipv4mvpn-address"},
      l2vpn_evpn_address{YType::str, "l2vpn-evpn-address"},
      ls_ls_address{YType::str, "ls-ls-address"},
      ipv4_flowspec_address{YType::str, "ipv4-flowspec-address"},
      ipv6_flowspec_address{YType::str, "ipv6-flowspec-address"},
      ipv4vpn_flowspec_address{YType::str, "ipv4vpn-flowspec-address"},
      ipv6vpn_flowspec_address{YType::str, "ipv6vpn-flowspec-address"}
          ,
      l2vpn_vpls_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>())
      , l2vpn_mspw_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>())
      , ipv4_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>())
      , ipv6_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>())
  {
      l2vpn_vpls_address->parent = this;
      l2vpn_mspw_address->parent = this;
      ipv4_sr_policy_address->parent = this;
      ipv6_sr_policy_address->parent = this;
  
      yang_name = "neighbor-address"; yang_parent_name = "bgp-config-entid"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::~NeighborAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_data() const
  {
      if (is_presence_container) return true;
      return afi.is_set
  	|| ipv4_address.is_set
  	|| ipv4_mcast_address.is_set
  	|| ipv4_label_address.is_set
  	|| ipv4_tunnel_address.is_set
  	|| ipv4_mdt_address.is_set
  	|| ipv4vpn_address.is_set
  	|| ipv4vpna_mcastddress.is_set
  	|| ipv6_address.is_set
  	|| ipv6_mcast_address.is_set
  	|| ipv6_label_address.is_set
  	|| ipv6vpn_address.is_set
  	|| ipv6vpn_mcast_address.is_set
  	|| rt_constraint_address.is_set
  	|| ipv6mvpn_address.is_set
  	|| ipv4mvpn_address.is_set
  	|| l2vpn_evpn_address.is_set
  	|| ls_ls_address.is_set
  	|| ipv4_flowspec_address.is_set
  	|| ipv6_flowspec_address.is_set
  	|| ipv4vpn_flowspec_address.is_set
  	|| ipv6vpn_flowspec_address.is_set
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_data())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_data())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_data())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(afi.yfilter)
  	|| ydk::is_set(ipv4_address.yfilter)
  	|| ydk::is_set(ipv4_mcast_address.yfilter)
  	|| ydk::is_set(ipv4_label_address.yfilter)
  	|| ydk::is_set(ipv4_tunnel_address.yfilter)
  	|| ydk::is_set(ipv4_mdt_address.yfilter)
  	|| ydk::is_set(ipv4vpn_address.yfilter)
  	|| ydk::is_set(ipv4vpna_mcastddress.yfilter)
  	|| ydk::is_set(ipv6_address.yfilter)
  	|| ydk::is_set(ipv6_mcast_address.yfilter)
  	|| ydk::is_set(ipv6_label_address.yfilter)
  	|| ydk::is_set(ipv6vpn_address.yfilter)
  	|| ydk::is_set(ipv6vpn_mcast_address.yfilter)
  	|| ydk::is_set(rt_constraint_address.yfilter)
  	|| ydk::is_set(ipv6mvpn_address.yfilter)
  	|| ydk::is_set(ipv4mvpn_address.yfilter)
  	|| ydk::is_set(l2vpn_evpn_address.yfilter)
  	|| ydk::is_set(ls_ls_address.yfilter)
  	|| ydk::is_set(ipv4_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6_flowspec_address.yfilter)
  	|| ydk::is_set(ipv4vpn_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6vpn_flowspec_address.yfilter)
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_operation())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_operation())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_operation())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "neighbor-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (afi.is_set || is_set(afi.yfilter)) leaf_name_data.push_back(afi.get_name_leafdata());
      if (ipv4_address.is_set || is_set(ipv4_address.yfilter)) leaf_name_data.push_back(ipv4_address.get_name_leafdata());
      if (ipv4_mcast_address.is_set || is_set(ipv4_mcast_address.yfilter)) leaf_name_data.push_back(ipv4_mcast_address.get_name_leafdata());
      if (ipv4_label_address.is_set || is_set(ipv4_label_address.yfilter)) leaf_name_data.push_back(ipv4_label_address.get_name_leafdata());
      if (ipv4_tunnel_address.is_set || is_set(ipv4_tunnel_address.yfilter)) leaf_name_data.push_back(ipv4_tunnel_address.get_name_leafdata());
      if (ipv4_mdt_address.is_set || is_set(ipv4_mdt_address.yfilter)) leaf_name_data.push_back(ipv4_mdt_address.get_name_leafdata());
      if (ipv4vpn_address.is_set || is_set(ipv4vpn_address.yfilter)) leaf_name_data.push_back(ipv4vpn_address.get_name_leafdata());
      if (ipv4vpna_mcastddress.is_set || is_set(ipv4vpna_mcastddress.yfilter)) leaf_name_data.push_back(ipv4vpna_mcastddress.get_name_leafdata());
      if (ipv6_address.is_set || is_set(ipv6_address.yfilter)) leaf_name_data.push_back(ipv6_address.get_name_leafdata());
      if (ipv6_mcast_address.is_set || is_set(ipv6_mcast_address.yfilter)) leaf_name_data.push_back(ipv6_mcast_address.get_name_leafdata());
      if (ipv6_label_address.is_set || is_set(ipv6_label_address.yfilter)) leaf_name_data.push_back(ipv6_label_address.get_name_leafdata());
      if (ipv6vpn_address.is_set || is_set(ipv6vpn_address.yfilter)) leaf_name_data.push_back(ipv6vpn_address.get_name_leafdata());
      if (ipv6vpn_mcast_address.is_set || is_set(ipv6vpn_mcast_address.yfilter)) leaf_name_data.push_back(ipv6vpn_mcast_address.get_name_leafdata());
      if (rt_constraint_address.is_set || is_set(rt_constraint_address.yfilter)) leaf_name_data.push_back(rt_constraint_address.get_name_leafdata());
      if (ipv6mvpn_address.is_set || is_set(ipv6mvpn_address.yfilter)) leaf_name_data.push_back(ipv6mvpn_address.get_name_leafdata());
      if (ipv4mvpn_address.is_set || is_set(ipv4mvpn_address.yfilter)) leaf_name_data.push_back(ipv4mvpn_address.get_name_leafdata());
      if (l2vpn_evpn_address.is_set || is_set(l2vpn_evpn_address.yfilter)) leaf_name_data.push_back(l2vpn_evpn_address.get_name_leafdata());
      if (ls_ls_address.is_set || is_set(ls_ls_address.yfilter)) leaf_name_data.push_back(ls_ls_address.get_name_leafdata());
      if (ipv4_flowspec_address.is_set || is_set(ipv4_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4_flowspec_address.get_name_leafdata());
      if (ipv6_flowspec_address.is_set || is_set(ipv6_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6_flowspec_address.get_name_leafdata());
      if (ipv4vpn_flowspec_address.is_set || is_set(ipv4vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4vpn_flowspec_address.get_name_leafdata());
      if (ipv6vpn_flowspec_address.is_set || is_set(ipv6vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6vpn_flowspec_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "l2vpn-vpls-address")
      {
          if(l2vpn_vpls_address == nullptr)
          {
              l2vpn_vpls_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>();
          }
          return l2vpn_vpls_address;
      }
  
      if(child_yang_name == "l2vpn-mspw-address")
      {
          if(l2vpn_mspw_address == nullptr)
          {
              l2vpn_mspw_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>();
          }
          return l2vpn_mspw_address;
      }
  
      if(child_yang_name == "ipv4-sr-policy-address")
      {
          if(ipv4_sr_policy_address == nullptr)
          {
              ipv4_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>();
          }
          return ipv4_sr_policy_address;
      }
  
      if(child_yang_name == "ipv6-sr-policy-address")
      {
          if(ipv6_sr_policy_address == nullptr)
          {
              ipv6_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>();
          }
          return ipv6_sr_policy_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(l2vpn_vpls_address != nullptr)
      {
          _children["l2vpn-vpls-address"] = l2vpn_vpls_address;
      }
  
      if(l2vpn_mspw_address != nullptr)
      {
          _children["l2vpn-mspw-address"] = l2vpn_mspw_address;
      }
  
      if(ipv4_sr_policy_address != nullptr)
      {
          _children["ipv4-sr-policy-address"] = ipv4_sr_policy_address;
      }
  
      if(ipv6_sr_policy_address != nullptr)
      {
          _children["ipv6-sr-policy-address"] = ipv6_sr_policy_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "afi")
      {
          afi = value;
          afi.value_namespace = name_space;
          afi.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address = value;
          ipv4_address.value_namespace = name_space;
          ipv4_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address = value;
          ipv4_mcast_address.value_namespace = name_space;
          ipv4_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address = value;
          ipv4_label_address.value_namespace = name_space;
          ipv4_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address = value;
          ipv4_tunnel_address.value_namespace = name_space;
          ipv4_tunnel_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address = value;
          ipv4_mdt_address.value_namespace = name_space;
          ipv4_mdt_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address = value;
          ipv4vpn_address.value_namespace = name_space;
          ipv4vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress = value;
          ipv4vpna_mcastddress.value_namespace = name_space;
          ipv4vpna_mcastddress.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address = value;
          ipv6_address.value_namespace = name_space;
          ipv6_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address = value;
          ipv6_mcast_address.value_namespace = name_space;
          ipv6_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address = value;
          ipv6_label_address.value_namespace = name_space;
          ipv6_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address = value;
          ipv6vpn_address.value_namespace = name_space;
          ipv6vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address = value;
          ipv6vpn_mcast_address.value_namespace = name_space;
          ipv6vpn_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address = value;
          rt_constraint_address.value_namespace = name_space;
          rt_constraint_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address = value;
          ipv6mvpn_address.value_namespace = name_space;
          ipv6mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address = value;
          ipv4mvpn_address.value_namespace = name_space;
          ipv4mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address = value;
          l2vpn_evpn_address.value_namespace = name_space;
          l2vpn_evpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address = value;
          ls_ls_address.value_namespace = name_space;
          ls_ls_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address = value;
          ipv4_flowspec_address.value_namespace = name_space;
          ipv4_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address = value;
          ipv6_flowspec_address.value_namespace = name_space;
          ipv6_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address = value;
          ipv4vpn_flowspec_address.value_namespace = name_space;
          ipv4vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address = value;
          ipv6vpn_flowspec_address.value_namespace = name_space;
          ipv6vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "afi")
      {
          afi.yfilter = yfilter;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress.yfilter = yfilter;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address.yfilter = yfilter;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address.yfilter = yfilter;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address.yfilter = yfilter;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address.yfilter = yfilter;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-vpls-address" || name == "l2vpn-mspw-address" || name == "ipv4-sr-policy-address" || name == "ipv6-sr-policy-address" || name == "afi" || name == "ipv4-address" || name == "ipv4-mcast-address" || name == "ipv4-label-address" || name == "ipv4-tunnel-address" || name == "ipv4-mdt-address" || name == "ipv4vpn-address" || name == "ipv4vpna-mcastddress" || name == "ipv6-address" || name == "ipv6-mcast-address" || name == "ipv6-label-address" || name == "ipv6vpn-address" || name == "ipv6vpn-mcast-address" || name == "rt-constraint-address" || name == "ipv6mvpn-address" || name == "ipv4mvpn-address" || name == "l2vpn-evpn-address" || name == "ls-ls-address" || name == "ipv4-flowspec-address" || name == "ipv6-flowspec-address" || name == "ipv4vpn-flowspec-address" || name == "ipv6vpn-flowspec-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::L2vpnVplsAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-vpls-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::~L2vpnVplsAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-vpls-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::L2vpnMspwAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-mspw-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::~L2vpnMspwAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-mspw-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::Ipv4SrPolicyAddress()
      :
      ipv4_srpolicy_address{YType::str, "ipv4-srpolicy-address"}
  {
  
      yang_name = "ipv4-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::~Ipv4SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv4_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv4_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv4-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv4_srpolicy_address.is_set || is_set(ipv4_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv4_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address = value;
          ipv4_srpolicy_address.value_namespace = name_space;
          ipv4_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv4-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::Ipv6SrPolicyAddress()
      :
      ipv6_srpolicy_address{YType::str, "ipv6-srpolicy-address"}
  {
  
      yang_name = "ipv6-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::~Ipv6SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv6_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv6_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv6-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv6_srpolicy_address.is_set || is_set(ipv6_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv6_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address = value;
          ipv6_srpolicy_address.value_namespace = name_space;
          ipv6_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::BmpServersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv6-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::KeychainInfo()
      :
      is_item_configured{YType::boolean, "is-item-configured"}
          ,
      inheritance_chain(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain>())
  {
      inheritance_chain->parent = this;
  
      yang_name = "keychain-info"; yang_parent_name = "af-independent-config"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::~KeychainInfo()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::has_data() const
  {
      if (is_presence_container) return true;
      return is_item_configured.is_set
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(is_item_configured.yfilter)
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "keychain-info";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (is_item_configured.is_set || is_set(is_item_configured.yfilter)) leaf_name_data.push_back(is_item_configured.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "inheritance-chain")
      {
          if(inheritance_chain == nullptr)
          {
              inheritance_chain = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain>();
          }
          return inheritance_chain;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(inheritance_chain != nullptr)
      {
          _children["inheritance-chain"] = inheritance_chain;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured = value;
          is_item_configured.value_namespace = name_space;
          is_item_configured.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "inheritance-chain" || name == "is-item-configured")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::InheritanceChain()
      :
      bgp_config_entid(this, {})
  {
  
      yang_name = "inheritance-chain"; yang_parent_name = "keychain-info"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::~InheritanceChain()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::has_data() const
  {
      if (is_presence_container) return true;
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_data())
              return true;
      }
      return false;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::has_operation() const
  {
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_operation())
              return true;
      }
      return is_set(yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "inheritance-chain";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "bgp-config-entid")
      {
          auto ent_ = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid>();
          ent_->parent = this;
          bgp_config_entid.append(ent_);
          return ent_;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      count_ = 0;
      for (auto ent_ : bgp_config_entid.entities())
      {
          if(_children.find(ent_->get_segment_path()) == _children.end())
              _children[ent_->get_segment_path()] = ent_;
          else
              _children[ent_->get_segment_path()+count_++] = ent_;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::set_filter(const std::string & value_path, YFilter yfilter)
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "bgp-config-entid")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::BgpConfigEntid()
      :
      address_family_identifier{YType::uint8, "address-family-identifier"},
      configuration_type{YType::enumeration, "configuration-type"},
      group_name{YType::str, "group-name"}
          ,
      neighbor_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>())
  {
      neighbor_address->parent = this;
  
      yang_name = "bgp-config-entid"; yang_parent_name = "inheritance-chain"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::~BgpConfigEntid()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::has_data() const
  {
      if (is_presence_container) return true;
      return address_family_identifier.is_set
  	|| configuration_type.is_set
  	|| group_name.is_set
  	|| (neighbor_address !=  nullptr && neighbor_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(address_family_identifier.yfilter)
  	|| ydk::is_set(configuration_type.yfilter)
  	|| ydk::is_set(group_name.yfilter)
  	|| (neighbor_address !=  nullptr && neighbor_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "bgp-config-entid";
      path_buffer << "[" << get_ylist_key() << "]";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (address_family_identifier.is_set || is_set(address_family_identifier.yfilter)) leaf_name_data.push_back(address_family_identifier.get_name_leafdata());
      if (configuration_type.is_set || is_set(configuration_type.yfilter)) leaf_name_data.push_back(configuration_type.get_name_leafdata());
      if (group_name.is_set || is_set(group_name.yfilter)) leaf_name_data.push_back(group_name.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "neighbor-address")
      {
          if(neighbor_address == nullptr)
          {
              neighbor_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>();
          }
          return neighbor_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(neighbor_address != nullptr)
      {
          _children["neighbor-address"] = neighbor_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier = value;
          address_family_identifier.value_namespace = name_space;
          address_family_identifier.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "configuration-type")
      {
          configuration_type = value;
          configuration_type.value_namespace = name_space;
          configuration_type.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "group-name")
      {
          group_name = value;
          group_name.value_namespace = name_space;
          group_name.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier.yfilter = yfilter;
      }
      if(value_path == "configuration-type")
      {
          configuration_type.yfilter = yfilter;
      }
      if(value_path == "group-name")
      {
          group_name.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "neighbor-address" || name == "address-family-identifier" || name == "configuration-type" || name == "group-name")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::NeighborAddress()
      :
      afi{YType::enumeration, "afi"},
      ipv4_address{YType::str, "ipv4-address"},
      ipv4_mcast_address{YType::str, "ipv4-mcast-address"},
      ipv4_label_address{YType::str, "ipv4-label-address"},
      ipv4_tunnel_address{YType::str, "ipv4-tunnel-address"},
      ipv4_mdt_address{YType::str, "ipv4-mdt-address"},
      ipv4vpn_address{YType::str, "ipv4vpn-address"},
      ipv4vpna_mcastddress{YType::str, "ipv4vpna-mcastddress"},
      ipv6_address{YType::str, "ipv6-address"},
      ipv6_mcast_address{YType::str, "ipv6-mcast-address"},
      ipv6_label_address{YType::str, "ipv6-label-address"},
      ipv6vpn_address{YType::str, "ipv6vpn-address"},
      ipv6vpn_mcast_address{YType::str, "ipv6vpn-mcast-address"},
      rt_constraint_address{YType::str, "rt-constraint-address"},
      ipv6mvpn_address{YType::str, "ipv6mvpn-address"},
      ipv4mvpn_address{YType::str, "ipv4mvpn-address"},
      l2vpn_evpn_address{YType::str, "l2vpn-evpn-address"},
      ls_ls_address{YType::str, "ls-ls-address"},
      ipv4_flowspec_address{YType::str, "ipv4-flowspec-address"},
      ipv6_flowspec_address{YType::str, "ipv6-flowspec-address"},
      ipv4vpn_flowspec_address{YType::str, "ipv4vpn-flowspec-address"},
      ipv6vpn_flowspec_address{YType::str, "ipv6vpn-flowspec-address"}
          ,
      l2vpn_vpls_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>())
      , l2vpn_mspw_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>())
      , ipv4_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>())
      , ipv6_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>())
  {
      l2vpn_vpls_address->parent = this;
      l2vpn_mspw_address->parent = this;
      ipv4_sr_policy_address->parent = this;
      ipv6_sr_policy_address->parent = this;
  
      yang_name = "neighbor-address"; yang_parent_name = "bgp-config-entid"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::~NeighborAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_data() const
  {
      if (is_presence_container) return true;
      return afi.is_set
  	|| ipv4_address.is_set
  	|| ipv4_mcast_address.is_set
  	|| ipv4_label_address.is_set
  	|| ipv4_tunnel_address.is_set
  	|| ipv4_mdt_address.is_set
  	|| ipv4vpn_address.is_set
  	|| ipv4vpna_mcastddress.is_set
  	|| ipv6_address.is_set
  	|| ipv6_mcast_address.is_set
  	|| ipv6_label_address.is_set
  	|| ipv6vpn_address.is_set
  	|| ipv6vpn_mcast_address.is_set
  	|| rt_constraint_address.is_set
  	|| ipv6mvpn_address.is_set
  	|| ipv4mvpn_address.is_set
  	|| l2vpn_evpn_address.is_set
  	|| ls_ls_address.is_set
  	|| ipv4_flowspec_address.is_set
  	|| ipv6_flowspec_address.is_set
  	|| ipv4vpn_flowspec_address.is_set
  	|| ipv6vpn_flowspec_address.is_set
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_data())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_data())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_data())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(afi.yfilter)
  	|| ydk::is_set(ipv4_address.yfilter)
  	|| ydk::is_set(ipv4_mcast_address.yfilter)
  	|| ydk::is_set(ipv4_label_address.yfilter)
  	|| ydk::is_set(ipv4_tunnel_address.yfilter)
  	|| ydk::is_set(ipv4_mdt_address.yfilter)
  	|| ydk::is_set(ipv4vpn_address.yfilter)
  	|| ydk::is_set(ipv4vpna_mcastddress.yfilter)
  	|| ydk::is_set(ipv6_address.yfilter)
  	|| ydk::is_set(ipv6_mcast_address.yfilter)
  	|| ydk::is_set(ipv6_label_address.yfilter)
  	|| ydk::is_set(ipv6vpn_address.yfilter)
  	|| ydk::is_set(ipv6vpn_mcast_address.yfilter)
  	|| ydk::is_set(rt_constraint_address.yfilter)
  	|| ydk::is_set(ipv6mvpn_address.yfilter)
  	|| ydk::is_set(ipv4mvpn_address.yfilter)
  	|| ydk::is_set(l2vpn_evpn_address.yfilter)
  	|| ydk::is_set(ls_ls_address.yfilter)
  	|| ydk::is_set(ipv4_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6_flowspec_address.yfilter)
  	|| ydk::is_set(ipv4vpn_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6vpn_flowspec_address.yfilter)
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_operation())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_operation())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_operation())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "neighbor-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (afi.is_set || is_set(afi.yfilter)) leaf_name_data.push_back(afi.get_name_leafdata());
      if (ipv4_address.is_set || is_set(ipv4_address.yfilter)) leaf_name_data.push_back(ipv4_address.get_name_leafdata());
      if (ipv4_mcast_address.is_set || is_set(ipv4_mcast_address.yfilter)) leaf_name_data.push_back(ipv4_mcast_address.get_name_leafdata());
      if (ipv4_label_address.is_set || is_set(ipv4_label_address.yfilter)) leaf_name_data.push_back(ipv4_label_address.get_name_leafdata());
      if (ipv4_tunnel_address.is_set || is_set(ipv4_tunnel_address.yfilter)) leaf_name_data.push_back(ipv4_tunnel_address.get_name_leafdata());
      if (ipv4_mdt_address.is_set || is_set(ipv4_mdt_address.yfilter)) leaf_name_data.push_back(ipv4_mdt_address.get_name_leafdata());
      if (ipv4vpn_address.is_set || is_set(ipv4vpn_address.yfilter)) leaf_name_data.push_back(ipv4vpn_address.get_name_leafdata());
      if (ipv4vpna_mcastddress.is_set || is_set(ipv4vpna_mcastddress.yfilter)) leaf_name_data.push_back(ipv4vpna_mcastddress.get_name_leafdata());
      if (ipv6_address.is_set || is_set(ipv6_address.yfilter)) leaf_name_data.push_back(ipv6_address.get_name_leafdata());
      if (ipv6_mcast_address.is_set || is_set(ipv6_mcast_address.yfilter)) leaf_name_data.push_back(ipv6_mcast_address.get_name_leafdata());
      if (ipv6_label_address.is_set || is_set(ipv6_label_address.yfilter)) leaf_name_data.push_back(ipv6_label_address.get_name_leafdata());
      if (ipv6vpn_address.is_set || is_set(ipv6vpn_address.yfilter)) leaf_name_data.push_back(ipv6vpn_address.get_name_leafdata());
      if (ipv6vpn_mcast_address.is_set || is_set(ipv6vpn_mcast_address.yfilter)) leaf_name_data.push_back(ipv6vpn_mcast_address.get_name_leafdata());
      if (rt_constraint_address.is_set || is_set(rt_constraint_address.yfilter)) leaf_name_data.push_back(rt_constraint_address.get_name_leafdata());
      if (ipv6mvpn_address.is_set || is_set(ipv6mvpn_address.yfilter)) leaf_name_data.push_back(ipv6mvpn_address.get_name_leafdata());
      if (ipv4mvpn_address.is_set || is_set(ipv4mvpn_address.yfilter)) leaf_name_data.push_back(ipv4mvpn_address.get_name_leafdata());
      if (l2vpn_evpn_address.is_set || is_set(l2vpn_evpn_address.yfilter)) leaf_name_data.push_back(l2vpn_evpn_address.get_name_leafdata());
      if (ls_ls_address.is_set || is_set(ls_ls_address.yfilter)) leaf_name_data.push_back(ls_ls_address.get_name_leafdata());
      if (ipv4_flowspec_address.is_set || is_set(ipv4_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4_flowspec_address.get_name_leafdata());
      if (ipv6_flowspec_address.is_set || is_set(ipv6_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6_flowspec_address.get_name_leafdata());
      if (ipv4vpn_flowspec_address.is_set || is_set(ipv4vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4vpn_flowspec_address.get_name_leafdata());
      if (ipv6vpn_flowspec_address.is_set || is_set(ipv6vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6vpn_flowspec_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "l2vpn-vpls-address")
      {
          if(l2vpn_vpls_address == nullptr)
          {
              l2vpn_vpls_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>();
          }
          return l2vpn_vpls_address;
      }
  
      if(child_yang_name == "l2vpn-mspw-address")
      {
          if(l2vpn_mspw_address == nullptr)
          {
              l2vpn_mspw_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>();
          }
          return l2vpn_mspw_address;
      }
  
      if(child_yang_name == "ipv4-sr-policy-address")
      {
          if(ipv4_sr_policy_address == nullptr)
          {
              ipv4_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>();
          }
          return ipv4_sr_policy_address;
      }
  
      if(child_yang_name == "ipv6-sr-policy-address")
      {
          if(ipv6_sr_policy_address == nullptr)
          {
              ipv6_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>();
          }
          return ipv6_sr_policy_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(l2vpn_vpls_address != nullptr)
      {
          _children["l2vpn-vpls-address"] = l2vpn_vpls_address;
      }
  
      if(l2vpn_mspw_address != nullptr)
      {
          _children["l2vpn-mspw-address"] = l2vpn_mspw_address;
      }
  
      if(ipv4_sr_policy_address != nullptr)
      {
          _children["ipv4-sr-policy-address"] = ipv4_sr_policy_address;
      }
  
      if(ipv6_sr_policy_address != nullptr)
      {
          _children["ipv6-sr-policy-address"] = ipv6_sr_policy_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "afi")
      {
          afi = value;
          afi.value_namespace = name_space;
          afi.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address = value;
          ipv4_address.value_namespace = name_space;
          ipv4_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address = value;
          ipv4_mcast_address.value_namespace = name_space;
          ipv4_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address = value;
          ipv4_label_address.value_namespace = name_space;
          ipv4_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address = value;
          ipv4_tunnel_address.value_namespace = name_space;
          ipv4_tunnel_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address = value;
          ipv4_mdt_address.value_namespace = name_space;
          ipv4_mdt_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address = value;
          ipv4vpn_address.value_namespace = name_space;
          ipv4vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress = value;
          ipv4vpna_mcastddress.value_namespace = name_space;
          ipv4vpna_mcastddress.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address = value;
          ipv6_address.value_namespace = name_space;
          ipv6_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address = value;
          ipv6_mcast_address.value_namespace = name_space;
          ipv6_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address = value;
          ipv6_label_address.value_namespace = name_space;
          ipv6_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address = value;
          ipv6vpn_address.value_namespace = name_space;
          ipv6vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address = value;
          ipv6vpn_mcast_address.value_namespace = name_space;
          ipv6vpn_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address = value;
          rt_constraint_address.value_namespace = name_space;
          rt_constraint_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address = value;
          ipv6mvpn_address.value_namespace = name_space;
          ipv6mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address = value;
          ipv4mvpn_address.value_namespace = name_space;
          ipv4mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address = value;
          l2vpn_evpn_address.value_namespace = name_space;
          l2vpn_evpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address = value;
          ls_ls_address.value_namespace = name_space;
          ls_ls_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address = value;
          ipv4_flowspec_address.value_namespace = name_space;
          ipv4_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address = value;
          ipv6_flowspec_address.value_namespace = name_space;
          ipv6_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address = value;
          ipv4vpn_flowspec_address.value_namespace = name_space;
          ipv4vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address = value;
          ipv6vpn_flowspec_address.value_namespace = name_space;
          ipv6vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "afi")
      {
          afi.yfilter = yfilter;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress.yfilter = yfilter;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address.yfilter = yfilter;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address.yfilter = yfilter;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address.yfilter = yfilter;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address.yfilter = yfilter;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-vpls-address" || name == "l2vpn-mspw-address" || name == "ipv4-sr-policy-address" || name == "ipv6-sr-policy-address" || name == "afi" || name == "ipv4-address" || name == "ipv4-mcast-address" || name == "ipv4-label-address" || name == "ipv4-tunnel-address" || name == "ipv4-mdt-address" || name == "ipv4vpn-address" || name == "ipv4vpna-mcastddress" || name == "ipv6-address" || name == "ipv6-mcast-address" || name == "ipv6-label-address" || name == "ipv6vpn-address" || name == "ipv6vpn-mcast-address" || name == "rt-constraint-address" || name == "ipv6mvpn-address" || name == "ipv4mvpn-address" || name == "l2vpn-evpn-address" || name == "ls-ls-address" || name == "ipv4-flowspec-address" || name == "ipv6-flowspec-address" || name == "ipv4vpn-flowspec-address" || name == "ipv6vpn-flowspec-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::L2vpnVplsAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-vpls-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::~L2vpnVplsAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-vpls-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::L2vpnMspwAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-mspw-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::~L2vpnMspwAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-mspw-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::Ipv4SrPolicyAddress()
      :
      ipv4_srpolicy_address{YType::str, "ipv4-srpolicy-address"}
  {
  
      yang_name = "ipv4-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::~Ipv4SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv4_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv4_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv4-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv4_srpolicy_address.is_set || is_set(ipv4_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv4_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address = value;
          ipv4_srpolicy_address.value_namespace = name_space;
          ipv4_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv4-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::Ipv6SrPolicyAddress()
      :
      ipv6_srpolicy_address{YType::str, "ipv6-srpolicy-address"}
  {
  
      yang_name = "ipv6-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::~Ipv6SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv6_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv6_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv6-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv6_srpolicy_address.is_set || is_set(ipv6_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv6_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address = value;
          ipv6_srpolicy_address.value_namespace = name_space;
          ipv6_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::KeychainInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv6-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::LocalAsInfo()
      :
      is_item_configured{YType::boolean, "is-item-configured"}
          ,
      inheritance_chain(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain>())
  {
      inheritance_chain->parent = this;
  
      yang_name = "local-as-info"; yang_parent_name = "af-independent-config"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::~LocalAsInfo()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::has_data() const
  {
      if (is_presence_container) return true;
      return is_item_configured.is_set
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(is_item_configured.yfilter)
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "local-as-info";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (is_item_configured.is_set || is_set(is_item_configured.yfilter)) leaf_name_data.push_back(is_item_configured.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "inheritance-chain")
      {
          if(inheritance_chain == nullptr)
          {
              inheritance_chain = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain>();
          }
          return inheritance_chain;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(inheritance_chain != nullptr)
      {
          _children["inheritance-chain"] = inheritance_chain;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured = value;
          is_item_configured.value_namespace = name_space;
          is_item_configured.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "inheritance-chain" || name == "is-item-configured")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::InheritanceChain()
      :
      bgp_config_entid(this, {})
  {
  
      yang_name = "inheritance-chain"; yang_parent_name = "local-as-info"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::~InheritanceChain()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::has_data() const
  {
      if (is_presence_container) return true;
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_data())
              return true;
      }
      return false;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::has_operation() const
  {
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_operation())
              return true;
      }
      return is_set(yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "inheritance-chain";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "bgp-config-entid")
      {
          auto ent_ = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid>();
          ent_->parent = this;
          bgp_config_entid.append(ent_);
          return ent_;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      count_ = 0;
      for (auto ent_ : bgp_config_entid.entities())
      {
          if(_children.find(ent_->get_segment_path()) == _children.end())
              _children[ent_->get_segment_path()] = ent_;
          else
              _children[ent_->get_segment_path()+count_++] = ent_;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::set_filter(const std::string & value_path, YFilter yfilter)
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "bgp-config-entid")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::BgpConfigEntid()
      :
      address_family_identifier{YType::uint8, "address-family-identifier"},
      configuration_type{YType::enumeration, "configuration-type"},
      group_name{YType::str, "group-name"}
          ,
      neighbor_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>())
  {
      neighbor_address->parent = this;
  
      yang_name = "bgp-config-entid"; yang_parent_name = "inheritance-chain"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::~BgpConfigEntid()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::has_data() const
  {
      if (is_presence_container) return true;
      return address_family_identifier.is_set
  	|| configuration_type.is_set
  	|| group_name.is_set
  	|| (neighbor_address !=  nullptr && neighbor_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(address_family_identifier.yfilter)
  	|| ydk::is_set(configuration_type.yfilter)
  	|| ydk::is_set(group_name.yfilter)
  	|| (neighbor_address !=  nullptr && neighbor_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "bgp-config-entid";
      path_buffer << "[" << get_ylist_key() << "]";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (address_family_identifier.is_set || is_set(address_family_identifier.yfilter)) leaf_name_data.push_back(address_family_identifier.get_name_leafdata());
      if (configuration_type.is_set || is_set(configuration_type.yfilter)) leaf_name_data.push_back(configuration_type.get_name_leafdata());
      if (group_name.is_set || is_set(group_name.yfilter)) leaf_name_data.push_back(group_name.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "neighbor-address")
      {
          if(neighbor_address == nullptr)
          {
              neighbor_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>();
          }
          return neighbor_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(neighbor_address != nullptr)
      {
          _children["neighbor-address"] = neighbor_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier = value;
          address_family_identifier.value_namespace = name_space;
          address_family_identifier.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "configuration-type")
      {
          configuration_type = value;
          configuration_type.value_namespace = name_space;
          configuration_type.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "group-name")
      {
          group_name = value;
          group_name.value_namespace = name_space;
          group_name.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier.yfilter = yfilter;
      }
      if(value_path == "configuration-type")
      {
          configuration_type.yfilter = yfilter;
      }
      if(value_path == "group-name")
      {
          group_name.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "neighbor-address" || name == "address-family-identifier" || name == "configuration-type" || name == "group-name")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::NeighborAddress()
      :
      afi{YType::enumeration, "afi"},
      ipv4_address{YType::str, "ipv4-address"},
      ipv4_mcast_address{YType::str, "ipv4-mcast-address"},
      ipv4_label_address{YType::str, "ipv4-label-address"},
      ipv4_tunnel_address{YType::str, "ipv4-tunnel-address"},
      ipv4_mdt_address{YType::str, "ipv4-mdt-address"},
      ipv4vpn_address{YType::str, "ipv4vpn-address"},
      ipv4vpna_mcastddress{YType::str, "ipv4vpna-mcastddress"},
      ipv6_address{YType::str, "ipv6-address"},
      ipv6_mcast_address{YType::str, "ipv6-mcast-address"},
      ipv6_label_address{YType::str, "ipv6-label-address"},
      ipv6vpn_address{YType::str, "ipv6vpn-address"},
      ipv6vpn_mcast_address{YType::str, "ipv6vpn-mcast-address"},
      rt_constraint_address{YType::str, "rt-constraint-address"},
      ipv6mvpn_address{YType::str, "ipv6mvpn-address"},
      ipv4mvpn_address{YType::str, "ipv4mvpn-address"},
      l2vpn_evpn_address{YType::str, "l2vpn-evpn-address"},
      ls_ls_address{YType::str, "ls-ls-address"},
      ipv4_flowspec_address{YType::str, "ipv4-flowspec-address"},
      ipv6_flowspec_address{YType::str, "ipv6-flowspec-address"},
      ipv4vpn_flowspec_address{YType::str, "ipv4vpn-flowspec-address"},
      ipv6vpn_flowspec_address{YType::str, "ipv6vpn-flowspec-address"}
          ,
      l2vpn_vpls_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>())
      , l2vpn_mspw_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>())
      , ipv4_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>())
      , ipv6_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>())
  {
      l2vpn_vpls_address->parent = this;
      l2vpn_mspw_address->parent = this;
      ipv4_sr_policy_address->parent = this;
      ipv6_sr_policy_address->parent = this;
  
      yang_name = "neighbor-address"; yang_parent_name = "bgp-config-entid"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::~NeighborAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_data() const
  {
      if (is_presence_container) return true;
      return afi.is_set
  	|| ipv4_address.is_set
  	|| ipv4_mcast_address.is_set
  	|| ipv4_label_address.is_set
  	|| ipv4_tunnel_address.is_set
  	|| ipv4_mdt_address.is_set
  	|| ipv4vpn_address.is_set
  	|| ipv4vpna_mcastddress.is_set
  	|| ipv6_address.is_set
  	|| ipv6_mcast_address.is_set
  	|| ipv6_label_address.is_set
  	|| ipv6vpn_address.is_set
  	|| ipv6vpn_mcast_address.is_set
  	|| rt_constraint_address.is_set
  	|| ipv6mvpn_address.is_set
  	|| ipv4mvpn_address.is_set
  	|| l2vpn_evpn_address.is_set
  	|| ls_ls_address.is_set
  	|| ipv4_flowspec_address.is_set
  	|| ipv6_flowspec_address.is_set
  	|| ipv4vpn_flowspec_address.is_set
  	|| ipv6vpn_flowspec_address.is_set
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_data())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_data())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_data())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(afi.yfilter)
  	|| ydk::is_set(ipv4_address.yfilter)
  	|| ydk::is_set(ipv4_mcast_address.yfilter)
  	|| ydk::is_set(ipv4_label_address.yfilter)
  	|| ydk::is_set(ipv4_tunnel_address.yfilter)
  	|| ydk::is_set(ipv4_mdt_address.yfilter)
  	|| ydk::is_set(ipv4vpn_address.yfilter)
  	|| ydk::is_set(ipv4vpna_mcastddress.yfilter)
  	|| ydk::is_set(ipv6_address.yfilter)
  	|| ydk::is_set(ipv6_mcast_address.yfilter)
  	|| ydk::is_set(ipv6_label_address.yfilter)
  	|| ydk::is_set(ipv6vpn_address.yfilter)
  	|| ydk::is_set(ipv6vpn_mcast_address.yfilter)
  	|| ydk::is_set(rt_constraint_address.yfilter)
  	|| ydk::is_set(ipv6mvpn_address.yfilter)
  	|| ydk::is_set(ipv4mvpn_address.yfilter)
  	|| ydk::is_set(l2vpn_evpn_address.yfilter)
  	|| ydk::is_set(ls_ls_address.yfilter)
  	|| ydk::is_set(ipv4_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6_flowspec_address.yfilter)
  	|| ydk::is_set(ipv4vpn_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6vpn_flowspec_address.yfilter)
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_operation())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_operation())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_operation())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "neighbor-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (afi.is_set || is_set(afi.yfilter)) leaf_name_data.push_back(afi.get_name_leafdata());
      if (ipv4_address.is_set || is_set(ipv4_address.yfilter)) leaf_name_data.push_back(ipv4_address.get_name_leafdata());
      if (ipv4_mcast_address.is_set || is_set(ipv4_mcast_address.yfilter)) leaf_name_data.push_back(ipv4_mcast_address.get_name_leafdata());
      if (ipv4_label_address.is_set || is_set(ipv4_label_address.yfilter)) leaf_name_data.push_back(ipv4_label_address.get_name_leafdata());
      if (ipv4_tunnel_address.is_set || is_set(ipv4_tunnel_address.yfilter)) leaf_name_data.push_back(ipv4_tunnel_address.get_name_leafdata());
      if (ipv4_mdt_address.is_set || is_set(ipv4_mdt_address.yfilter)) leaf_name_data.push_back(ipv4_mdt_address.get_name_leafdata());
      if (ipv4vpn_address.is_set || is_set(ipv4vpn_address.yfilter)) leaf_name_data.push_back(ipv4vpn_address.get_name_leafdata());
      if (ipv4vpna_mcastddress.is_set || is_set(ipv4vpna_mcastddress.yfilter)) leaf_name_data.push_back(ipv4vpna_mcastddress.get_name_leafdata());
      if (ipv6_address.is_set || is_set(ipv6_address.yfilter)) leaf_name_data.push_back(ipv6_address.get_name_leafdata());
      if (ipv6_mcast_address.is_set || is_set(ipv6_mcast_address.yfilter)) leaf_name_data.push_back(ipv6_mcast_address.get_name_leafdata());
      if (ipv6_label_address.is_set || is_set(ipv6_label_address.yfilter)) leaf_name_data.push_back(ipv6_label_address.get_name_leafdata());
      if (ipv6vpn_address.is_set || is_set(ipv6vpn_address.yfilter)) leaf_name_data.push_back(ipv6vpn_address.get_name_leafdata());
      if (ipv6vpn_mcast_address.is_set || is_set(ipv6vpn_mcast_address.yfilter)) leaf_name_data.push_back(ipv6vpn_mcast_address.get_name_leafdata());
      if (rt_constraint_address.is_set || is_set(rt_constraint_address.yfilter)) leaf_name_data.push_back(rt_constraint_address.get_name_leafdata());
      if (ipv6mvpn_address.is_set || is_set(ipv6mvpn_address.yfilter)) leaf_name_data.push_back(ipv6mvpn_address.get_name_leafdata());
      if (ipv4mvpn_address.is_set || is_set(ipv4mvpn_address.yfilter)) leaf_name_data.push_back(ipv4mvpn_address.get_name_leafdata());
      if (l2vpn_evpn_address.is_set || is_set(l2vpn_evpn_address.yfilter)) leaf_name_data.push_back(l2vpn_evpn_address.get_name_leafdata());
      if (ls_ls_address.is_set || is_set(ls_ls_address.yfilter)) leaf_name_data.push_back(ls_ls_address.get_name_leafdata());
      if (ipv4_flowspec_address.is_set || is_set(ipv4_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4_flowspec_address.get_name_leafdata());
      if (ipv6_flowspec_address.is_set || is_set(ipv6_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6_flowspec_address.get_name_leafdata());
      if (ipv4vpn_flowspec_address.is_set || is_set(ipv4vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4vpn_flowspec_address.get_name_leafdata());
      if (ipv6vpn_flowspec_address.is_set || is_set(ipv6vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6vpn_flowspec_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "l2vpn-vpls-address")
      {
          if(l2vpn_vpls_address == nullptr)
          {
              l2vpn_vpls_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>();
          }
          return l2vpn_vpls_address;
      }
  
      if(child_yang_name == "l2vpn-mspw-address")
      {
          if(l2vpn_mspw_address == nullptr)
          {
              l2vpn_mspw_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>();
          }
          return l2vpn_mspw_address;
      }
  
      if(child_yang_name == "ipv4-sr-policy-address")
      {
          if(ipv4_sr_policy_address == nullptr)
          {
              ipv4_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>();
          }
          return ipv4_sr_policy_address;
      }
  
      if(child_yang_name == "ipv6-sr-policy-address")
      {
          if(ipv6_sr_policy_address == nullptr)
          {
              ipv6_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>();
          }
          return ipv6_sr_policy_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(l2vpn_vpls_address != nullptr)
      {
          _children["l2vpn-vpls-address"] = l2vpn_vpls_address;
      }
  
      if(l2vpn_mspw_address != nullptr)
      {
          _children["l2vpn-mspw-address"] = l2vpn_mspw_address;
      }
  
      if(ipv4_sr_policy_address != nullptr)
      {
          _children["ipv4-sr-policy-address"] = ipv4_sr_policy_address;
      }
  
      if(ipv6_sr_policy_address != nullptr)
      {
          _children["ipv6-sr-policy-address"] = ipv6_sr_policy_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "afi")
      {
          afi = value;
          afi.value_namespace = name_space;
          afi.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address = value;
          ipv4_address.value_namespace = name_space;
          ipv4_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address = value;
          ipv4_mcast_address.value_namespace = name_space;
          ipv4_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address = value;
          ipv4_label_address.value_namespace = name_space;
          ipv4_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address = value;
          ipv4_tunnel_address.value_namespace = name_space;
          ipv4_tunnel_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address = value;
          ipv4_mdt_address.value_namespace = name_space;
          ipv4_mdt_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address = value;
          ipv4vpn_address.value_namespace = name_space;
          ipv4vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress = value;
          ipv4vpna_mcastddress.value_namespace = name_space;
          ipv4vpna_mcastddress.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address = value;
          ipv6_address.value_namespace = name_space;
          ipv6_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address = value;
          ipv6_mcast_address.value_namespace = name_space;
          ipv6_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address = value;
          ipv6_label_address.value_namespace = name_space;
          ipv6_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address = value;
          ipv6vpn_address.value_namespace = name_space;
          ipv6vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address = value;
          ipv6vpn_mcast_address.value_namespace = name_space;
          ipv6vpn_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address = value;
          rt_constraint_address.value_namespace = name_space;
          rt_constraint_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address = value;
          ipv6mvpn_address.value_namespace = name_space;
          ipv6mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address = value;
          ipv4mvpn_address.value_namespace = name_space;
          ipv4mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address = value;
          l2vpn_evpn_address.value_namespace = name_space;
          l2vpn_evpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address = value;
          ls_ls_address.value_namespace = name_space;
          ls_ls_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address = value;
          ipv4_flowspec_address.value_namespace = name_space;
          ipv4_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address = value;
          ipv6_flowspec_address.value_namespace = name_space;
          ipv6_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address = value;
          ipv4vpn_flowspec_address.value_namespace = name_space;
          ipv4vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address = value;
          ipv6vpn_flowspec_address.value_namespace = name_space;
          ipv6vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "afi")
      {
          afi.yfilter = yfilter;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress.yfilter = yfilter;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address.yfilter = yfilter;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address.yfilter = yfilter;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address.yfilter = yfilter;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address.yfilter = yfilter;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-vpls-address" || name == "l2vpn-mspw-address" || name == "ipv4-sr-policy-address" || name == "ipv6-sr-policy-address" || name == "afi" || name == "ipv4-address" || name == "ipv4-mcast-address" || name == "ipv4-label-address" || name == "ipv4-tunnel-address" || name == "ipv4-mdt-address" || name == "ipv4vpn-address" || name == "ipv4vpna-mcastddress" || name == "ipv6-address" || name == "ipv6-mcast-address" || name == "ipv6-label-address" || name == "ipv6vpn-address" || name == "ipv6vpn-mcast-address" || name == "rt-constraint-address" || name == "ipv6mvpn-address" || name == "ipv4mvpn-address" || name == "l2vpn-evpn-address" || name == "ls-ls-address" || name == "ipv4-flowspec-address" || name == "ipv6-flowspec-address" || name == "ipv4vpn-flowspec-address" || name == "ipv6vpn-flowspec-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::L2vpnVplsAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-vpls-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::~L2vpnVplsAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-vpls-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::L2vpnMspwAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-mspw-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::~L2vpnMspwAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-mspw-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::Ipv4SrPolicyAddress()
      :
      ipv4_srpolicy_address{YType::str, "ipv4-srpolicy-address"}
  {
  
      yang_name = "ipv4-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::~Ipv4SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv4_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv4_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv4-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv4_srpolicy_address.is_set || is_set(ipv4_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv4_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address = value;
          ipv4_srpolicy_address.value_namespace = name_space;
          ipv4_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv4-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::Ipv6SrPolicyAddress()
      :
      ipv6_srpolicy_address{YType::str, "ipv6-srpolicy-address"}
  {
  
      yang_name = "ipv6-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::~Ipv6SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv6_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv6_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv6-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv6_srpolicy_address.is_set || is_set(ipv6_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv6_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address = value;
          ipv6_srpolicy_address.value_namespace = name_space;
          ipv6_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAsInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv6-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::PasswordInfo()
      :
      is_item_configured{YType::boolean, "is-item-configured"}
          ,
      inheritance_chain(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain>())
  {
      inheritance_chain->parent = this;
  
      yang_name = "password-info"; yang_parent_name = "af-independent-config"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::~PasswordInfo()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::has_data() const
  {
      if (is_presence_container) return true;
      return is_item_configured.is_set
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(is_item_configured.yfilter)
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "password-info";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (is_item_configured.is_set || is_set(is_item_configured.yfilter)) leaf_name_data.push_back(is_item_configured.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "inheritance-chain")
      {
          if(inheritance_chain == nullptr)
          {
              inheritance_chain = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain>();
          }
          return inheritance_chain;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(inheritance_chain != nullptr)
      {
          _children["inheritance-chain"] = inheritance_chain;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured = value;
          is_item_configured.value_namespace = name_space;
          is_item_configured.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "inheritance-chain" || name == "is-item-configured")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::InheritanceChain()
      :
      bgp_config_entid(this, {})
  {
  
      yang_name = "inheritance-chain"; yang_parent_name = "password-info"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::~InheritanceChain()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::has_data() const
  {
      if (is_presence_container) return true;
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_data())
              return true;
      }
      return false;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::has_operation() const
  {
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_operation())
              return true;
      }
      return is_set(yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "inheritance-chain";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "bgp-config-entid")
      {
          auto ent_ = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid>();
          ent_->parent = this;
          bgp_config_entid.append(ent_);
          return ent_;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      count_ = 0;
      for (auto ent_ : bgp_config_entid.entities())
      {
          if(_children.find(ent_->get_segment_path()) == _children.end())
              _children[ent_->get_segment_path()] = ent_;
          else
              _children[ent_->get_segment_path()+count_++] = ent_;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::set_filter(const std::string & value_path, YFilter yfilter)
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "bgp-config-entid")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::BgpConfigEntid()
      :
      address_family_identifier{YType::uint8, "address-family-identifier"},
      configuration_type{YType::enumeration, "configuration-type"},
      group_name{YType::str, "group-name"}
          ,
      neighbor_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>())
  {
      neighbor_address->parent = this;
  
      yang_name = "bgp-config-entid"; yang_parent_name = "inheritance-chain"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::~BgpConfigEntid()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::has_data() const
  {
      if (is_presence_container) return true;
      return address_family_identifier.is_set
  	|| configuration_type.is_set
  	|| group_name.is_set
  	|| (neighbor_address !=  nullptr && neighbor_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(address_family_identifier.yfilter)
  	|| ydk::is_set(configuration_type.yfilter)
  	|| ydk::is_set(group_name.yfilter)
  	|| (neighbor_address !=  nullptr && neighbor_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "bgp-config-entid";
      path_buffer << "[" << get_ylist_key() << "]";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (address_family_identifier.is_set || is_set(address_family_identifier.yfilter)) leaf_name_data.push_back(address_family_identifier.get_name_leafdata());
      if (configuration_type.is_set || is_set(configuration_type.yfilter)) leaf_name_data.push_back(configuration_type.get_name_leafdata());
      if (group_name.is_set || is_set(group_name.yfilter)) leaf_name_data.push_back(group_name.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "neighbor-address")
      {
          if(neighbor_address == nullptr)
          {
              neighbor_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>();
          }
          return neighbor_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(neighbor_address != nullptr)
      {
          _children["neighbor-address"] = neighbor_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier = value;
          address_family_identifier.value_namespace = name_space;
          address_family_identifier.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "configuration-type")
      {
          configuration_type = value;
          configuration_type.value_namespace = name_space;
          configuration_type.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "group-name")
      {
          group_name = value;
          group_name.value_namespace = name_space;
          group_name.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier.yfilter = yfilter;
      }
      if(value_path == "configuration-type")
      {
          configuration_type.yfilter = yfilter;
      }
      if(value_path == "group-name")
      {
          group_name.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "neighbor-address" || name == "address-family-identifier" || name == "configuration-type" || name == "group-name")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::NeighborAddress()
      :
      afi{YType::enumeration, "afi"},
      ipv4_address{YType::str, "ipv4-address"},
      ipv4_mcast_address{YType::str, "ipv4-mcast-address"},
      ipv4_label_address{YType::str, "ipv4-label-address"},
      ipv4_tunnel_address{YType::str, "ipv4-tunnel-address"},
      ipv4_mdt_address{YType::str, "ipv4-mdt-address"},
      ipv4vpn_address{YType::str, "ipv4vpn-address"},
      ipv4vpna_mcastddress{YType::str, "ipv4vpna-mcastddress"},
      ipv6_address{YType::str, "ipv6-address"},
      ipv6_mcast_address{YType::str, "ipv6-mcast-address"},
      ipv6_label_address{YType::str, "ipv6-label-address"},
      ipv6vpn_address{YType::str, "ipv6vpn-address"},
      ipv6vpn_mcast_address{YType::str, "ipv6vpn-mcast-address"},
      rt_constraint_address{YType::str, "rt-constraint-address"},
      ipv6mvpn_address{YType::str, "ipv6mvpn-address"},
      ipv4mvpn_address{YType::str, "ipv4mvpn-address"},
      l2vpn_evpn_address{YType::str, "l2vpn-evpn-address"},
      ls_ls_address{YType::str, "ls-ls-address"},
      ipv4_flowspec_address{YType::str, "ipv4-flowspec-address"},
      ipv6_flowspec_address{YType::str, "ipv6-flowspec-address"},
      ipv4vpn_flowspec_address{YType::str, "ipv4vpn-flowspec-address"},
      ipv6vpn_flowspec_address{YType::str, "ipv6vpn-flowspec-address"}
          ,
      l2vpn_vpls_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>())
      , l2vpn_mspw_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>())
      , ipv4_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>())
      , ipv6_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>())
  {
      l2vpn_vpls_address->parent = this;
      l2vpn_mspw_address->parent = this;
      ipv4_sr_policy_address->parent = this;
      ipv6_sr_policy_address->parent = this;
  
      yang_name = "neighbor-address"; yang_parent_name = "bgp-config-entid"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::~NeighborAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_data() const
  {
      if (is_presence_container) return true;
      return afi.is_set
  	|| ipv4_address.is_set
  	|| ipv4_mcast_address.is_set
  	|| ipv4_label_address.is_set
  	|| ipv4_tunnel_address.is_set
  	|| ipv4_mdt_address.is_set
  	|| ipv4vpn_address.is_set
  	|| ipv4vpna_mcastddress.is_set
  	|| ipv6_address.is_set
  	|| ipv6_mcast_address.is_set
  	|| ipv6_label_address.is_set
  	|| ipv6vpn_address.is_set
  	|| ipv6vpn_mcast_address.is_set
  	|| rt_constraint_address.is_set
  	|| ipv6mvpn_address.is_set
  	|| ipv4mvpn_address.is_set
  	|| l2vpn_evpn_address.is_set
  	|| ls_ls_address.is_set
  	|| ipv4_flowspec_address.is_set
  	|| ipv6_flowspec_address.is_set
  	|| ipv4vpn_flowspec_address.is_set
  	|| ipv6vpn_flowspec_address.is_set
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_data())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_data())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_data())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(afi.yfilter)
  	|| ydk::is_set(ipv4_address.yfilter)
  	|| ydk::is_set(ipv4_mcast_address.yfilter)
  	|| ydk::is_set(ipv4_label_address.yfilter)
  	|| ydk::is_set(ipv4_tunnel_address.yfilter)
  	|| ydk::is_set(ipv4_mdt_address.yfilter)
  	|| ydk::is_set(ipv4vpn_address.yfilter)
  	|| ydk::is_set(ipv4vpna_mcastddress.yfilter)
  	|| ydk::is_set(ipv6_address.yfilter)
  	|| ydk::is_set(ipv6_mcast_address.yfilter)
  	|| ydk::is_set(ipv6_label_address.yfilter)
  	|| ydk::is_set(ipv6vpn_address.yfilter)
  	|| ydk::is_set(ipv6vpn_mcast_address.yfilter)
  	|| ydk::is_set(rt_constraint_address.yfilter)
  	|| ydk::is_set(ipv6mvpn_address.yfilter)
  	|| ydk::is_set(ipv4mvpn_address.yfilter)
  	|| ydk::is_set(l2vpn_evpn_address.yfilter)
  	|| ydk::is_set(ls_ls_address.yfilter)
  	|| ydk::is_set(ipv4_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6_flowspec_address.yfilter)
  	|| ydk::is_set(ipv4vpn_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6vpn_flowspec_address.yfilter)
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_operation())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_operation())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_operation())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "neighbor-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (afi.is_set || is_set(afi.yfilter)) leaf_name_data.push_back(afi.get_name_leafdata());
      if (ipv4_address.is_set || is_set(ipv4_address.yfilter)) leaf_name_data.push_back(ipv4_address.get_name_leafdata());
      if (ipv4_mcast_address.is_set || is_set(ipv4_mcast_address.yfilter)) leaf_name_data.push_back(ipv4_mcast_address.get_name_leafdata());
      if (ipv4_label_address.is_set || is_set(ipv4_label_address.yfilter)) leaf_name_data.push_back(ipv4_label_address.get_name_leafdata());
      if (ipv4_tunnel_address.is_set || is_set(ipv4_tunnel_address.yfilter)) leaf_name_data.push_back(ipv4_tunnel_address.get_name_leafdata());
      if (ipv4_mdt_address.is_set || is_set(ipv4_mdt_address.yfilter)) leaf_name_data.push_back(ipv4_mdt_address.get_name_leafdata());
      if (ipv4vpn_address.is_set || is_set(ipv4vpn_address.yfilter)) leaf_name_data.push_back(ipv4vpn_address.get_name_leafdata());
      if (ipv4vpna_mcastddress.is_set || is_set(ipv4vpna_mcastddress.yfilter)) leaf_name_data.push_back(ipv4vpna_mcastddress.get_name_leafdata());
      if (ipv6_address.is_set || is_set(ipv6_address.yfilter)) leaf_name_data.push_back(ipv6_address.get_name_leafdata());
      if (ipv6_mcast_address.is_set || is_set(ipv6_mcast_address.yfilter)) leaf_name_data.push_back(ipv6_mcast_address.get_name_leafdata());
      if (ipv6_label_address.is_set || is_set(ipv6_label_address.yfilter)) leaf_name_data.push_back(ipv6_label_address.get_name_leafdata());
      if (ipv6vpn_address.is_set || is_set(ipv6vpn_address.yfilter)) leaf_name_data.push_back(ipv6vpn_address.get_name_leafdata());
      if (ipv6vpn_mcast_address.is_set || is_set(ipv6vpn_mcast_address.yfilter)) leaf_name_data.push_back(ipv6vpn_mcast_address.get_name_leafdata());
      if (rt_constraint_address.is_set || is_set(rt_constraint_address.yfilter)) leaf_name_data.push_back(rt_constraint_address.get_name_leafdata());
      if (ipv6mvpn_address.is_set || is_set(ipv6mvpn_address.yfilter)) leaf_name_data.push_back(ipv6mvpn_address.get_name_leafdata());
      if (ipv4mvpn_address.is_set || is_set(ipv4mvpn_address.yfilter)) leaf_name_data.push_back(ipv4mvpn_address.get_name_leafdata());
      if (l2vpn_evpn_address.is_set || is_set(l2vpn_evpn_address.yfilter)) leaf_name_data.push_back(l2vpn_evpn_address.get_name_leafdata());
      if (ls_ls_address.is_set || is_set(ls_ls_address.yfilter)) leaf_name_data.push_back(ls_ls_address.get_name_leafdata());
      if (ipv4_flowspec_address.is_set || is_set(ipv4_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4_flowspec_address.get_name_leafdata());
      if (ipv6_flowspec_address.is_set || is_set(ipv6_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6_flowspec_address.get_name_leafdata());
      if (ipv4vpn_flowspec_address.is_set || is_set(ipv4vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4vpn_flowspec_address.get_name_leafdata());
      if (ipv6vpn_flowspec_address.is_set || is_set(ipv6vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6vpn_flowspec_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "l2vpn-vpls-address")
      {
          if(l2vpn_vpls_address == nullptr)
          {
              l2vpn_vpls_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>();
          }
          return l2vpn_vpls_address;
      }
  
      if(child_yang_name == "l2vpn-mspw-address")
      {
          if(l2vpn_mspw_address == nullptr)
          {
              l2vpn_mspw_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>();
          }
          return l2vpn_mspw_address;
      }
  
      if(child_yang_name == "ipv4-sr-policy-address")
      {
          if(ipv4_sr_policy_address == nullptr)
          {
              ipv4_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>();
          }
          return ipv4_sr_policy_address;
      }
  
      if(child_yang_name == "ipv6-sr-policy-address")
      {
          if(ipv6_sr_policy_address == nullptr)
          {
              ipv6_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>();
          }
          return ipv6_sr_policy_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(l2vpn_vpls_address != nullptr)
      {
          _children["l2vpn-vpls-address"] = l2vpn_vpls_address;
      }
  
      if(l2vpn_mspw_address != nullptr)
      {
          _children["l2vpn-mspw-address"] = l2vpn_mspw_address;
      }
  
      if(ipv4_sr_policy_address != nullptr)
      {
          _children["ipv4-sr-policy-address"] = ipv4_sr_policy_address;
      }
  
      if(ipv6_sr_policy_address != nullptr)
      {
          _children["ipv6-sr-policy-address"] = ipv6_sr_policy_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "afi")
      {
          afi = value;
          afi.value_namespace = name_space;
          afi.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address = value;
          ipv4_address.value_namespace = name_space;
          ipv4_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address = value;
          ipv4_mcast_address.value_namespace = name_space;
          ipv4_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address = value;
          ipv4_label_address.value_namespace = name_space;
          ipv4_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address = value;
          ipv4_tunnel_address.value_namespace = name_space;
          ipv4_tunnel_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address = value;
          ipv4_mdt_address.value_namespace = name_space;
          ipv4_mdt_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address = value;
          ipv4vpn_address.value_namespace = name_space;
          ipv4vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress = value;
          ipv4vpna_mcastddress.value_namespace = name_space;
          ipv4vpna_mcastddress.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address = value;
          ipv6_address.value_namespace = name_space;
          ipv6_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address = value;
          ipv6_mcast_address.value_namespace = name_space;
          ipv6_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address = value;
          ipv6_label_address.value_namespace = name_space;
          ipv6_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address = value;
          ipv6vpn_address.value_namespace = name_space;
          ipv6vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address = value;
          ipv6vpn_mcast_address.value_namespace = name_space;
          ipv6vpn_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address = value;
          rt_constraint_address.value_namespace = name_space;
          rt_constraint_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address = value;
          ipv6mvpn_address.value_namespace = name_space;
          ipv6mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address = value;
          ipv4mvpn_address.value_namespace = name_space;
          ipv4mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address = value;
          l2vpn_evpn_address.value_namespace = name_space;
          l2vpn_evpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address = value;
          ls_ls_address.value_namespace = name_space;
          ls_ls_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address = value;
          ipv4_flowspec_address.value_namespace = name_space;
          ipv4_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address = value;
          ipv6_flowspec_address.value_namespace = name_space;
          ipv6_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address = value;
          ipv4vpn_flowspec_address.value_namespace = name_space;
          ipv4vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address = value;
          ipv6vpn_flowspec_address.value_namespace = name_space;
          ipv6vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "afi")
      {
          afi.yfilter = yfilter;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress.yfilter = yfilter;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address.yfilter = yfilter;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address.yfilter = yfilter;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address.yfilter = yfilter;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address.yfilter = yfilter;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-vpls-address" || name == "l2vpn-mspw-address" || name == "ipv4-sr-policy-address" || name == "ipv6-sr-policy-address" || name == "afi" || name == "ipv4-address" || name == "ipv4-mcast-address" || name == "ipv4-label-address" || name == "ipv4-tunnel-address" || name == "ipv4-mdt-address" || name == "ipv4vpn-address" || name == "ipv4vpna-mcastddress" || name == "ipv6-address" || name == "ipv6-mcast-address" || name == "ipv6-label-address" || name == "ipv6vpn-address" || name == "ipv6vpn-mcast-address" || name == "rt-constraint-address" || name == "ipv6mvpn-address" || name == "ipv4mvpn-address" || name == "l2vpn-evpn-address" || name == "ls-ls-address" || name == "ipv4-flowspec-address" || name == "ipv6-flowspec-address" || name == "ipv4vpn-flowspec-address" || name == "ipv6vpn-flowspec-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::L2vpnVplsAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-vpls-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::~L2vpnVplsAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-vpls-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::L2vpnMspwAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-mspw-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::~L2vpnMspwAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-mspw-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::Ipv4SrPolicyAddress()
      :
      ipv4_srpolicy_address{YType::str, "ipv4-srpolicy-address"}
  {
  
      yang_name = "ipv4-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::~Ipv4SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv4_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv4_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv4-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv4_srpolicy_address.is_set || is_set(ipv4_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv4_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address = value;
          ipv4_srpolicy_address.value_namespace = name_space;
          ipv4_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv4-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::Ipv6SrPolicyAddress()
      :
      ipv6_srpolicy_address{YType::str, "ipv6-srpolicy-address"}
  {
  
      yang_name = "ipv6-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::~Ipv6SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv6_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv6_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv6-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv6_srpolicy_address.is_set || is_set(ipv6_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv6_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address = value;
          ipv6_srpolicy_address.value_namespace = name_space;
          ipv6_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::PasswordInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv6-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::ReceiveBufferInfo()
      :
      is_item_configured{YType::boolean, "is-item-configured"}
          ,
      inheritance_chain(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain>())
  {
      inheritance_chain->parent = this;
  
      yang_name = "receive-buffer-info"; yang_parent_name = "af-independent-config"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::~ReceiveBufferInfo()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::has_data() const
  {
      if (is_presence_container) return true;
      return is_item_configured.is_set
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(is_item_configured.yfilter)
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "receive-buffer-info";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (is_item_configured.is_set || is_set(is_item_configured.yfilter)) leaf_name_data.push_back(is_item_configured.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "inheritance-chain")
      {
          if(inheritance_chain == nullptr)
          {
              inheritance_chain = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain>();
          }
          return inheritance_chain;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(inheritance_chain != nullptr)
      {
          _children["inheritance-chain"] = inheritance_chain;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured = value;
          is_item_configured.value_namespace = name_space;
          is_item_configured.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "inheritance-chain" || name == "is-item-configured")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::InheritanceChain()
      :
      bgp_config_entid(this, {})
  {
  
      yang_name = "inheritance-chain"; yang_parent_name = "receive-buffer-info"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::~InheritanceChain()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::has_data() const
  {
      if (is_presence_container) return true;
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_data())
              return true;
      }
      return false;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::has_operation() const
  {
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_operation())
              return true;
      }
      return is_set(yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "inheritance-chain";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "bgp-config-entid")
      {
          auto ent_ = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid>();
          ent_->parent = this;
          bgp_config_entid.append(ent_);
          return ent_;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      count_ = 0;
      for (auto ent_ : bgp_config_entid.entities())
      {
          if(_children.find(ent_->get_segment_path()) == _children.end())
              _children[ent_->get_segment_path()] = ent_;
          else
              _children[ent_->get_segment_path()+count_++] = ent_;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::set_filter(const std::string & value_path, YFilter yfilter)
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "bgp-config-entid")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::BgpConfigEntid()
      :
      address_family_identifier{YType::uint8, "address-family-identifier"},
      configuration_type{YType::enumeration, "configuration-type"},
      group_name{YType::str, "group-name"}
          ,
      neighbor_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>())
  {
      neighbor_address->parent = this;
  
      yang_name = "bgp-config-entid"; yang_parent_name = "inheritance-chain"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::~BgpConfigEntid()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::has_data() const
  {
      if (is_presence_container) return true;
      return address_family_identifier.is_set
  	|| configuration_type.is_set
  	|| group_name.is_set
  	|| (neighbor_address !=  nullptr && neighbor_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(address_family_identifier.yfilter)
  	|| ydk::is_set(configuration_type.yfilter)
  	|| ydk::is_set(group_name.yfilter)
  	|| (neighbor_address !=  nullptr && neighbor_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "bgp-config-entid";
      path_buffer << "[" << get_ylist_key() << "]";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (address_family_identifier.is_set || is_set(address_family_identifier.yfilter)) leaf_name_data.push_back(address_family_identifier.get_name_leafdata());
      if (configuration_type.is_set || is_set(configuration_type.yfilter)) leaf_name_data.push_back(configuration_type.get_name_leafdata());
      if (group_name.is_set || is_set(group_name.yfilter)) leaf_name_data.push_back(group_name.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "neighbor-address")
      {
          if(neighbor_address == nullptr)
          {
              neighbor_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>();
          }
          return neighbor_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(neighbor_address != nullptr)
      {
          _children["neighbor-address"] = neighbor_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier = value;
          address_family_identifier.value_namespace = name_space;
          address_family_identifier.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "configuration-type")
      {
          configuration_type = value;
          configuration_type.value_namespace = name_space;
          configuration_type.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "group-name")
      {
          group_name = value;
          group_name.value_namespace = name_space;
          group_name.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier.yfilter = yfilter;
      }
      if(value_path == "configuration-type")
      {
          configuration_type.yfilter = yfilter;
      }
      if(value_path == "group-name")
      {
          group_name.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "neighbor-address" || name == "address-family-identifier" || name == "configuration-type" || name == "group-name")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::NeighborAddress()
      :
      afi{YType::enumeration, "afi"},
      ipv4_address{YType::str, "ipv4-address"},
      ipv4_mcast_address{YType::str, "ipv4-mcast-address"},
      ipv4_label_address{YType::str, "ipv4-label-address"},
      ipv4_tunnel_address{YType::str, "ipv4-tunnel-address"},
      ipv4_mdt_address{YType::str, "ipv4-mdt-address"},
      ipv4vpn_address{YType::str, "ipv4vpn-address"},
      ipv4vpna_mcastddress{YType::str, "ipv4vpna-mcastddress"},
      ipv6_address{YType::str, "ipv6-address"},
      ipv6_mcast_address{YType::str, "ipv6-mcast-address"},
      ipv6_label_address{YType::str, "ipv6-label-address"},
      ipv6vpn_address{YType::str, "ipv6vpn-address"},
      ipv6vpn_mcast_address{YType::str, "ipv6vpn-mcast-address"},
      rt_constraint_address{YType::str, "rt-constraint-address"},
      ipv6mvpn_address{YType::str, "ipv6mvpn-address"},
      ipv4mvpn_address{YType::str, "ipv4mvpn-address"},
      l2vpn_evpn_address{YType::str, "l2vpn-evpn-address"},
      ls_ls_address{YType::str, "ls-ls-address"},
      ipv4_flowspec_address{YType::str, "ipv4-flowspec-address"},
      ipv6_flowspec_address{YType::str, "ipv6-flowspec-address"},
      ipv4vpn_flowspec_address{YType::str, "ipv4vpn-flowspec-address"},
      ipv6vpn_flowspec_address{YType::str, "ipv6vpn-flowspec-address"}
          ,
      l2vpn_vpls_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>())
      , l2vpn_mspw_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>())
      , ipv4_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>())
      , ipv6_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>())
  {
      l2vpn_vpls_address->parent = this;
      l2vpn_mspw_address->parent = this;
      ipv4_sr_policy_address->parent = this;
      ipv6_sr_policy_address->parent = this;
  
      yang_name = "neighbor-address"; yang_parent_name = "bgp-config-entid"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::~NeighborAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_data() const
  {
      if (is_presence_container) return true;
      return afi.is_set
  	|| ipv4_address.is_set
  	|| ipv4_mcast_address.is_set
  	|| ipv4_label_address.is_set
  	|| ipv4_tunnel_address.is_set
  	|| ipv4_mdt_address.is_set
  	|| ipv4vpn_address.is_set
  	|| ipv4vpna_mcastddress.is_set
  	|| ipv6_address.is_set
  	|| ipv6_mcast_address.is_set
  	|| ipv6_label_address.is_set
  	|| ipv6vpn_address.is_set
  	|| ipv6vpn_mcast_address.is_set
  	|| rt_constraint_address.is_set
  	|| ipv6mvpn_address.is_set
  	|| ipv4mvpn_address.is_set
  	|| l2vpn_evpn_address.is_set
  	|| ls_ls_address.is_set
  	|| ipv4_flowspec_address.is_set
  	|| ipv6_flowspec_address.is_set
  	|| ipv4vpn_flowspec_address.is_set
  	|| ipv6vpn_flowspec_address.is_set
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_data())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_data())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_data())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(afi.yfilter)
  	|| ydk::is_set(ipv4_address.yfilter)
  	|| ydk::is_set(ipv4_mcast_address.yfilter)
  	|| ydk::is_set(ipv4_label_address.yfilter)
  	|| ydk::is_set(ipv4_tunnel_address.yfilter)
  	|| ydk::is_set(ipv4_mdt_address.yfilter)
  	|| ydk::is_set(ipv4vpn_address.yfilter)
  	|| ydk::is_set(ipv4vpna_mcastddress.yfilter)
  	|| ydk::is_set(ipv6_address.yfilter)
  	|| ydk::is_set(ipv6_mcast_address.yfilter)
  	|| ydk::is_set(ipv6_label_address.yfilter)
  	|| ydk::is_set(ipv6vpn_address.yfilter)
  	|| ydk::is_set(ipv6vpn_mcast_address.yfilter)
  	|| ydk::is_set(rt_constraint_address.yfilter)
  	|| ydk::is_set(ipv6mvpn_address.yfilter)
  	|| ydk::is_set(ipv4mvpn_address.yfilter)
  	|| ydk::is_set(l2vpn_evpn_address.yfilter)
  	|| ydk::is_set(ls_ls_address.yfilter)
  	|| ydk::is_set(ipv4_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6_flowspec_address.yfilter)
  	|| ydk::is_set(ipv4vpn_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6vpn_flowspec_address.yfilter)
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_operation())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_operation())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_operation())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "neighbor-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (afi.is_set || is_set(afi.yfilter)) leaf_name_data.push_back(afi.get_name_leafdata());
      if (ipv4_address.is_set || is_set(ipv4_address.yfilter)) leaf_name_data.push_back(ipv4_address.get_name_leafdata());
      if (ipv4_mcast_address.is_set || is_set(ipv4_mcast_address.yfilter)) leaf_name_data.push_back(ipv4_mcast_address.get_name_leafdata());
      if (ipv4_label_address.is_set || is_set(ipv4_label_address.yfilter)) leaf_name_data.push_back(ipv4_label_address.get_name_leafdata());
      if (ipv4_tunnel_address.is_set || is_set(ipv4_tunnel_address.yfilter)) leaf_name_data.push_back(ipv4_tunnel_address.get_name_leafdata());
      if (ipv4_mdt_address.is_set || is_set(ipv4_mdt_address.yfilter)) leaf_name_data.push_back(ipv4_mdt_address.get_name_leafdata());
      if (ipv4vpn_address.is_set || is_set(ipv4vpn_address.yfilter)) leaf_name_data.push_back(ipv4vpn_address.get_name_leafdata());
      if (ipv4vpna_mcastddress.is_set || is_set(ipv4vpna_mcastddress.yfilter)) leaf_name_data.push_back(ipv4vpna_mcastddress.get_name_leafdata());
      if (ipv6_address.is_set || is_set(ipv6_address.yfilter)) leaf_name_data.push_back(ipv6_address.get_name_leafdata());
      if (ipv6_mcast_address.is_set || is_set(ipv6_mcast_address.yfilter)) leaf_name_data.push_back(ipv6_mcast_address.get_name_leafdata());
      if (ipv6_label_address.is_set || is_set(ipv6_label_address.yfilter)) leaf_name_data.push_back(ipv6_label_address.get_name_leafdata());
      if (ipv6vpn_address.is_set || is_set(ipv6vpn_address.yfilter)) leaf_name_data.push_back(ipv6vpn_address.get_name_leafdata());
      if (ipv6vpn_mcast_address.is_set || is_set(ipv6vpn_mcast_address.yfilter)) leaf_name_data.push_back(ipv6vpn_mcast_address.get_name_leafdata());
      if (rt_constraint_address.is_set || is_set(rt_constraint_address.yfilter)) leaf_name_data.push_back(rt_constraint_address.get_name_leafdata());
      if (ipv6mvpn_address.is_set || is_set(ipv6mvpn_address.yfilter)) leaf_name_data.push_back(ipv6mvpn_address.get_name_leafdata());
      if (ipv4mvpn_address.is_set || is_set(ipv4mvpn_address.yfilter)) leaf_name_data.push_back(ipv4mvpn_address.get_name_leafdata());
      if (l2vpn_evpn_address.is_set || is_set(l2vpn_evpn_address.yfilter)) leaf_name_data.push_back(l2vpn_evpn_address.get_name_leafdata());
      if (ls_ls_address.is_set || is_set(ls_ls_address.yfilter)) leaf_name_data.push_back(ls_ls_address.get_name_leafdata());
      if (ipv4_flowspec_address.is_set || is_set(ipv4_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4_flowspec_address.get_name_leafdata());
      if (ipv6_flowspec_address.is_set || is_set(ipv6_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6_flowspec_address.get_name_leafdata());
      if (ipv4vpn_flowspec_address.is_set || is_set(ipv4vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4vpn_flowspec_address.get_name_leafdata());
      if (ipv6vpn_flowspec_address.is_set || is_set(ipv6vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6vpn_flowspec_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "l2vpn-vpls-address")
      {
          if(l2vpn_vpls_address == nullptr)
          {
              l2vpn_vpls_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>();
          }
          return l2vpn_vpls_address;
      }
  
      if(child_yang_name == "l2vpn-mspw-address")
      {
          if(l2vpn_mspw_address == nullptr)
          {
              l2vpn_mspw_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>();
          }
          return l2vpn_mspw_address;
      }
  
      if(child_yang_name == "ipv4-sr-policy-address")
      {
          if(ipv4_sr_policy_address == nullptr)
          {
              ipv4_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>();
          }
          return ipv4_sr_policy_address;
      }
  
      if(child_yang_name == "ipv6-sr-policy-address")
      {
          if(ipv6_sr_policy_address == nullptr)
          {
              ipv6_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>();
          }
          return ipv6_sr_policy_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(l2vpn_vpls_address != nullptr)
      {
          _children["l2vpn-vpls-address"] = l2vpn_vpls_address;
      }
  
      if(l2vpn_mspw_address != nullptr)
      {
          _children["l2vpn-mspw-address"] = l2vpn_mspw_address;
      }
  
      if(ipv4_sr_policy_address != nullptr)
      {
          _children["ipv4-sr-policy-address"] = ipv4_sr_policy_address;
      }
  
      if(ipv6_sr_policy_address != nullptr)
      {
          _children["ipv6-sr-policy-address"] = ipv6_sr_policy_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "afi")
      {
          afi = value;
          afi.value_namespace = name_space;
          afi.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address = value;
          ipv4_address.value_namespace = name_space;
          ipv4_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address = value;
          ipv4_mcast_address.value_namespace = name_space;
          ipv4_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address = value;
          ipv4_label_address.value_namespace = name_space;
          ipv4_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address = value;
          ipv4_tunnel_address.value_namespace = name_space;
          ipv4_tunnel_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address = value;
          ipv4_mdt_address.value_namespace = name_space;
          ipv4_mdt_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address = value;
          ipv4vpn_address.value_namespace = name_space;
          ipv4vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress = value;
          ipv4vpna_mcastddress.value_namespace = name_space;
          ipv4vpna_mcastddress.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address = value;
          ipv6_address.value_namespace = name_space;
          ipv6_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address = value;
          ipv6_mcast_address.value_namespace = name_space;
          ipv6_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address = value;
          ipv6_label_address.value_namespace = name_space;
          ipv6_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address = value;
          ipv6vpn_address.value_namespace = name_space;
          ipv6vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address = value;
          ipv6vpn_mcast_address.value_namespace = name_space;
          ipv6vpn_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address = value;
          rt_constraint_address.value_namespace = name_space;
          rt_constraint_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address = value;
          ipv6mvpn_address.value_namespace = name_space;
          ipv6mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address = value;
          ipv4mvpn_address.value_namespace = name_space;
          ipv4mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address = value;
          l2vpn_evpn_address.value_namespace = name_space;
          l2vpn_evpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address = value;
          ls_ls_address.value_namespace = name_space;
          ls_ls_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address = value;
          ipv4_flowspec_address.value_namespace = name_space;
          ipv4_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address = value;
          ipv6_flowspec_address.value_namespace = name_space;
          ipv6_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address = value;
          ipv4vpn_flowspec_address.value_namespace = name_space;
          ipv4vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address = value;
          ipv6vpn_flowspec_address.value_namespace = name_space;
          ipv6vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "afi")
      {
          afi.yfilter = yfilter;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress.yfilter = yfilter;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address.yfilter = yfilter;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address.yfilter = yfilter;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address.yfilter = yfilter;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address.yfilter = yfilter;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-vpls-address" || name == "l2vpn-mspw-address" || name == "ipv4-sr-policy-address" || name == "ipv6-sr-policy-address" || name == "afi" || name == "ipv4-address" || name == "ipv4-mcast-address" || name == "ipv4-label-address" || name == "ipv4-tunnel-address" || name == "ipv4-mdt-address" || name == "ipv4vpn-address" || name == "ipv4vpna-mcastddress" || name == "ipv6-address" || name == "ipv6-mcast-address" || name == "ipv6-label-address" || name == "ipv6vpn-address" || name == "ipv6vpn-mcast-address" || name == "rt-constraint-address" || name == "ipv6mvpn-address" || name == "ipv4mvpn-address" || name == "l2vpn-evpn-address" || name == "ls-ls-address" || name == "ipv4-flowspec-address" || name == "ipv6-flowspec-address" || name == "ipv4vpn-flowspec-address" || name == "ipv6vpn-flowspec-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::L2vpnVplsAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-vpls-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::~L2vpnVplsAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-vpls-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::L2vpnMspwAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-mspw-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::~L2vpnMspwAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-mspw-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::Ipv4SrPolicyAddress()
      :
      ipv4_srpolicy_address{YType::str, "ipv4-srpolicy-address"}
  {
  
      yang_name = "ipv4-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::~Ipv4SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv4_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv4_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv4-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv4_srpolicy_address.is_set || is_set(ipv4_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv4_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address = value;
          ipv4_srpolicy_address.value_namespace = name_space;
          ipv4_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv4-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::Ipv6SrPolicyAddress()
      :
      ipv6_srpolicy_address{YType::str, "ipv6-srpolicy-address"}
  {
  
      yang_name = "ipv6-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::~Ipv6SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv6_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv6_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv6-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv6_srpolicy_address.is_set || is_set(ipv6_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv6_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address = value;
          ipv6_srpolicy_address.value_namespace = name_space;
          ipv6_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ReceiveBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv6-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::SendBufferInfo()
      :
      is_item_configured{YType::boolean, "is-item-configured"}
          ,
      inheritance_chain(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain>())
  {
      inheritance_chain->parent = this;
  
      yang_name = "send-buffer-info"; yang_parent_name = "af-independent-config"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::~SendBufferInfo()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::has_data() const
  {
      if (is_presence_container) return true;
      return is_item_configured.is_set
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(is_item_configured.yfilter)
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "send-buffer-info";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (is_item_configured.is_set || is_set(is_item_configured.yfilter)) leaf_name_data.push_back(is_item_configured.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "inheritance-chain")
      {
          if(inheritance_chain == nullptr)
          {
              inheritance_chain = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain>();
          }
          return inheritance_chain;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(inheritance_chain != nullptr)
      {
          _children["inheritance-chain"] = inheritance_chain;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured = value;
          is_item_configured.value_namespace = name_space;
          is_item_configured.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "inheritance-chain" || name == "is-item-configured")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::InheritanceChain()
      :
      bgp_config_entid(this, {})
  {
  
      yang_name = "inheritance-chain"; yang_parent_name = "send-buffer-info"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::~InheritanceChain()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::has_data() const
  {
      if (is_presence_container) return true;
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_data())
              return true;
      }
      return false;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::has_operation() const
  {
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_operation())
              return true;
      }
      return is_set(yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "inheritance-chain";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "bgp-config-entid")
      {
          auto ent_ = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid>();
          ent_->parent = this;
          bgp_config_entid.append(ent_);
          return ent_;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      count_ = 0;
      for (auto ent_ : bgp_config_entid.entities())
      {
          if(_children.find(ent_->get_segment_path()) == _children.end())
              _children[ent_->get_segment_path()] = ent_;
          else
              _children[ent_->get_segment_path()+count_++] = ent_;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::set_filter(const std::string & value_path, YFilter yfilter)
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "bgp-config-entid")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::BgpConfigEntid()
      :
      address_family_identifier{YType::uint8, "address-family-identifier"},
      configuration_type{YType::enumeration, "configuration-type"},
      group_name{YType::str, "group-name"}
          ,
      neighbor_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>())
  {
      neighbor_address->parent = this;
  
      yang_name = "bgp-config-entid"; yang_parent_name = "inheritance-chain"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::~BgpConfigEntid()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::has_data() const
  {
      if (is_presence_container) return true;
      return address_family_identifier.is_set
  	|| configuration_type.is_set
  	|| group_name.is_set
  	|| (neighbor_address !=  nullptr && neighbor_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(address_family_identifier.yfilter)
  	|| ydk::is_set(configuration_type.yfilter)
  	|| ydk::is_set(group_name.yfilter)
  	|| (neighbor_address !=  nullptr && neighbor_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "bgp-config-entid";
      path_buffer << "[" << get_ylist_key() << "]";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (address_family_identifier.is_set || is_set(address_family_identifier.yfilter)) leaf_name_data.push_back(address_family_identifier.get_name_leafdata());
      if (configuration_type.is_set || is_set(configuration_type.yfilter)) leaf_name_data.push_back(configuration_type.get_name_leafdata());
      if (group_name.is_set || is_set(group_name.yfilter)) leaf_name_data.push_back(group_name.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "neighbor-address")
      {
          if(neighbor_address == nullptr)
          {
              neighbor_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>();
          }
          return neighbor_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(neighbor_address != nullptr)
      {
          _children["neighbor-address"] = neighbor_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier = value;
          address_family_identifier.value_namespace = name_space;
          address_family_identifier.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "configuration-type")
      {
          configuration_type = value;
          configuration_type.value_namespace = name_space;
          configuration_type.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "group-name")
      {
          group_name = value;
          group_name.value_namespace = name_space;
          group_name.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier.yfilter = yfilter;
      }
      if(value_path == "configuration-type")
      {
          configuration_type.yfilter = yfilter;
      }
      if(value_path == "group-name")
      {
          group_name.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "neighbor-address" || name == "address-family-identifier" || name == "configuration-type" || name == "group-name")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::NeighborAddress()
      :
      afi{YType::enumeration, "afi"},
      ipv4_address{YType::str, "ipv4-address"},
      ipv4_mcast_address{YType::str, "ipv4-mcast-address"},
      ipv4_label_address{YType::str, "ipv4-label-address"},
      ipv4_tunnel_address{YType::str, "ipv4-tunnel-address"},
      ipv4_mdt_address{YType::str, "ipv4-mdt-address"},
      ipv4vpn_address{YType::str, "ipv4vpn-address"},
      ipv4vpna_mcastddress{YType::str, "ipv4vpna-mcastddress"},
      ipv6_address{YType::str, "ipv6-address"},
      ipv6_mcast_address{YType::str, "ipv6-mcast-address"},
      ipv6_label_address{YType::str, "ipv6-label-address"},
      ipv6vpn_address{YType::str, "ipv6vpn-address"},
      ipv6vpn_mcast_address{YType::str, "ipv6vpn-mcast-address"},
      rt_constraint_address{YType::str, "rt-constraint-address"},
      ipv6mvpn_address{YType::str, "ipv6mvpn-address"},
      ipv4mvpn_address{YType::str, "ipv4mvpn-address"},
      l2vpn_evpn_address{YType::str, "l2vpn-evpn-address"},
      ls_ls_address{YType::str, "ls-ls-address"},
      ipv4_flowspec_address{YType::str, "ipv4-flowspec-address"},
      ipv6_flowspec_address{YType::str, "ipv6-flowspec-address"},
      ipv4vpn_flowspec_address{YType::str, "ipv4vpn-flowspec-address"},
      ipv6vpn_flowspec_address{YType::str, "ipv6vpn-flowspec-address"}
          ,
      l2vpn_vpls_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>())
      , l2vpn_mspw_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>())
      , ipv4_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>())
      , ipv6_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>())
  {
      l2vpn_vpls_address->parent = this;
      l2vpn_mspw_address->parent = this;
      ipv4_sr_policy_address->parent = this;
      ipv6_sr_policy_address->parent = this;
  
      yang_name = "neighbor-address"; yang_parent_name = "bgp-config-entid"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::~NeighborAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_data() const
  {
      if (is_presence_container) return true;
      return afi.is_set
  	|| ipv4_address.is_set
  	|| ipv4_mcast_address.is_set
  	|| ipv4_label_address.is_set
  	|| ipv4_tunnel_address.is_set
  	|| ipv4_mdt_address.is_set
  	|| ipv4vpn_address.is_set
  	|| ipv4vpna_mcastddress.is_set
  	|| ipv6_address.is_set
  	|| ipv6_mcast_address.is_set
  	|| ipv6_label_address.is_set
  	|| ipv6vpn_address.is_set
  	|| ipv6vpn_mcast_address.is_set
  	|| rt_constraint_address.is_set
  	|| ipv6mvpn_address.is_set
  	|| ipv4mvpn_address.is_set
  	|| l2vpn_evpn_address.is_set
  	|| ls_ls_address.is_set
  	|| ipv4_flowspec_address.is_set
  	|| ipv6_flowspec_address.is_set
  	|| ipv4vpn_flowspec_address.is_set
  	|| ipv6vpn_flowspec_address.is_set
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_data())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_data())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_data())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(afi.yfilter)
  	|| ydk::is_set(ipv4_address.yfilter)
  	|| ydk::is_set(ipv4_mcast_address.yfilter)
  	|| ydk::is_set(ipv4_label_address.yfilter)
  	|| ydk::is_set(ipv4_tunnel_address.yfilter)
  	|| ydk::is_set(ipv4_mdt_address.yfilter)
  	|| ydk::is_set(ipv4vpn_address.yfilter)
  	|| ydk::is_set(ipv4vpna_mcastddress.yfilter)
  	|| ydk::is_set(ipv6_address.yfilter)
  	|| ydk::is_set(ipv6_mcast_address.yfilter)
  	|| ydk::is_set(ipv6_label_address.yfilter)
  	|| ydk::is_set(ipv6vpn_address.yfilter)
  	|| ydk::is_set(ipv6vpn_mcast_address.yfilter)
  	|| ydk::is_set(rt_constraint_address.yfilter)
  	|| ydk::is_set(ipv6mvpn_address.yfilter)
  	|| ydk::is_set(ipv4mvpn_address.yfilter)
  	|| ydk::is_set(l2vpn_evpn_address.yfilter)
  	|| ydk::is_set(ls_ls_address.yfilter)
  	|| ydk::is_set(ipv4_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6_flowspec_address.yfilter)
  	|| ydk::is_set(ipv4vpn_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6vpn_flowspec_address.yfilter)
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_operation())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_operation())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_operation())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "neighbor-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (afi.is_set || is_set(afi.yfilter)) leaf_name_data.push_back(afi.get_name_leafdata());
      if (ipv4_address.is_set || is_set(ipv4_address.yfilter)) leaf_name_data.push_back(ipv4_address.get_name_leafdata());
      if (ipv4_mcast_address.is_set || is_set(ipv4_mcast_address.yfilter)) leaf_name_data.push_back(ipv4_mcast_address.get_name_leafdata());
      if (ipv4_label_address.is_set || is_set(ipv4_label_address.yfilter)) leaf_name_data.push_back(ipv4_label_address.get_name_leafdata());
      if (ipv4_tunnel_address.is_set || is_set(ipv4_tunnel_address.yfilter)) leaf_name_data.push_back(ipv4_tunnel_address.get_name_leafdata());
      if (ipv4_mdt_address.is_set || is_set(ipv4_mdt_address.yfilter)) leaf_name_data.push_back(ipv4_mdt_address.get_name_leafdata());
      if (ipv4vpn_address.is_set || is_set(ipv4vpn_address.yfilter)) leaf_name_data.push_back(ipv4vpn_address.get_name_leafdata());
      if (ipv4vpna_mcastddress.is_set || is_set(ipv4vpna_mcastddress.yfilter)) leaf_name_data.push_back(ipv4vpna_mcastddress.get_name_leafdata());
      if (ipv6_address.is_set || is_set(ipv6_address.yfilter)) leaf_name_data.push_back(ipv6_address.get_name_leafdata());
      if (ipv6_mcast_address.is_set || is_set(ipv6_mcast_address.yfilter)) leaf_name_data.push_back(ipv6_mcast_address.get_name_leafdata());
      if (ipv6_label_address.is_set || is_set(ipv6_label_address.yfilter)) leaf_name_data.push_back(ipv6_label_address.get_name_leafdata());
      if (ipv6vpn_address.is_set || is_set(ipv6vpn_address.yfilter)) leaf_name_data.push_back(ipv6vpn_address.get_name_leafdata());
      if (ipv6vpn_mcast_address.is_set || is_set(ipv6vpn_mcast_address.yfilter)) leaf_name_data.push_back(ipv6vpn_mcast_address.get_name_leafdata());
      if (rt_constraint_address.is_set || is_set(rt_constraint_address.yfilter)) leaf_name_data.push_back(rt_constraint_address.get_name_leafdata());
      if (ipv6mvpn_address.is_set || is_set(ipv6mvpn_address.yfilter)) leaf_name_data.push_back(ipv6mvpn_address.get_name_leafdata());
      if (ipv4mvpn_address.is_set || is_set(ipv4mvpn_address.yfilter)) leaf_name_data.push_back(ipv4mvpn_address.get_name_leafdata());
      if (l2vpn_evpn_address.is_set || is_set(l2vpn_evpn_address.yfilter)) leaf_name_data.push_back(l2vpn_evpn_address.get_name_leafdata());
      if (ls_ls_address.is_set || is_set(ls_ls_address.yfilter)) leaf_name_data.push_back(ls_ls_address.get_name_leafdata());
      if (ipv4_flowspec_address.is_set || is_set(ipv4_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4_flowspec_address.get_name_leafdata());
      if (ipv6_flowspec_address.is_set || is_set(ipv6_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6_flowspec_address.get_name_leafdata());
      if (ipv4vpn_flowspec_address.is_set || is_set(ipv4vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4vpn_flowspec_address.get_name_leafdata());
      if (ipv6vpn_flowspec_address.is_set || is_set(ipv6vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6vpn_flowspec_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "l2vpn-vpls-address")
      {
          if(l2vpn_vpls_address == nullptr)
          {
              l2vpn_vpls_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>();
          }
          return l2vpn_vpls_address;
      }
  
      if(child_yang_name == "l2vpn-mspw-address")
      {
          if(l2vpn_mspw_address == nullptr)
          {
              l2vpn_mspw_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>();
          }
          return l2vpn_mspw_address;
      }
  
      if(child_yang_name == "ipv4-sr-policy-address")
      {
          if(ipv4_sr_policy_address == nullptr)
          {
              ipv4_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>();
          }
          return ipv4_sr_policy_address;
      }
  
      if(child_yang_name == "ipv6-sr-policy-address")
      {
          if(ipv6_sr_policy_address == nullptr)
          {
              ipv6_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>();
          }
          return ipv6_sr_policy_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(l2vpn_vpls_address != nullptr)
      {
          _children["l2vpn-vpls-address"] = l2vpn_vpls_address;
      }
  
      if(l2vpn_mspw_address != nullptr)
      {
          _children["l2vpn-mspw-address"] = l2vpn_mspw_address;
      }
  
      if(ipv4_sr_policy_address != nullptr)
      {
          _children["ipv4-sr-policy-address"] = ipv4_sr_policy_address;
      }
  
      if(ipv6_sr_policy_address != nullptr)
      {
          _children["ipv6-sr-policy-address"] = ipv6_sr_policy_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "afi")
      {
          afi = value;
          afi.value_namespace = name_space;
          afi.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address = value;
          ipv4_address.value_namespace = name_space;
          ipv4_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address = value;
          ipv4_mcast_address.value_namespace = name_space;
          ipv4_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address = value;
          ipv4_label_address.value_namespace = name_space;
          ipv4_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address = value;
          ipv4_tunnel_address.value_namespace = name_space;
          ipv4_tunnel_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address = value;
          ipv4_mdt_address.value_namespace = name_space;
          ipv4_mdt_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address = value;
          ipv4vpn_address.value_namespace = name_space;
          ipv4vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress = value;
          ipv4vpna_mcastddress.value_namespace = name_space;
          ipv4vpna_mcastddress.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address = value;
          ipv6_address.value_namespace = name_space;
          ipv6_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address = value;
          ipv6_mcast_address.value_namespace = name_space;
          ipv6_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address = value;
          ipv6_label_address.value_namespace = name_space;
          ipv6_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address = value;
          ipv6vpn_address.value_namespace = name_space;
          ipv6vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address = value;
          ipv6vpn_mcast_address.value_namespace = name_space;
          ipv6vpn_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address = value;
          rt_constraint_address.value_namespace = name_space;
          rt_constraint_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address = value;
          ipv6mvpn_address.value_namespace = name_space;
          ipv6mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address = value;
          ipv4mvpn_address.value_namespace = name_space;
          ipv4mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address = value;
          l2vpn_evpn_address.value_namespace = name_space;
          l2vpn_evpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address = value;
          ls_ls_address.value_namespace = name_space;
          ls_ls_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address = value;
          ipv4_flowspec_address.value_namespace = name_space;
          ipv4_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address = value;
          ipv6_flowspec_address.value_namespace = name_space;
          ipv6_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address = value;
          ipv4vpn_flowspec_address.value_namespace = name_space;
          ipv4vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address = value;
          ipv6vpn_flowspec_address.value_namespace = name_space;
          ipv6vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "afi")
      {
          afi.yfilter = yfilter;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress.yfilter = yfilter;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address.yfilter = yfilter;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address.yfilter = yfilter;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address.yfilter = yfilter;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address.yfilter = yfilter;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-vpls-address" || name == "l2vpn-mspw-address" || name == "ipv4-sr-policy-address" || name == "ipv6-sr-policy-address" || name == "afi" || name == "ipv4-address" || name == "ipv4-mcast-address" || name == "ipv4-label-address" || name == "ipv4-tunnel-address" || name == "ipv4-mdt-address" || name == "ipv4vpn-address" || name == "ipv4vpna-mcastddress" || name == "ipv6-address" || name == "ipv6-mcast-address" || name == "ipv6-label-address" || name == "ipv6vpn-address" || name == "ipv6vpn-mcast-address" || name == "rt-constraint-address" || name == "ipv6mvpn-address" || name == "ipv4mvpn-address" || name == "l2vpn-evpn-address" || name == "ls-ls-address" || name == "ipv4-flowspec-address" || name == "ipv6-flowspec-address" || name == "ipv4vpn-flowspec-address" || name == "ipv6vpn-flowspec-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::L2vpnVplsAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-vpls-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::~L2vpnVplsAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-vpls-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::L2vpnMspwAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-mspw-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::~L2vpnMspwAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-mspw-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::Ipv4SrPolicyAddress()
      :
      ipv4_srpolicy_address{YType::str, "ipv4-srpolicy-address"}
  {
  
      yang_name = "ipv4-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::~Ipv4SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv4_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv4_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv4-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv4_srpolicy_address.is_set || is_set(ipv4_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv4_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address = value;
          ipv4_srpolicy_address.value_namespace = name_space;
          ipv4_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv4-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::Ipv6SrPolicyAddress()
      :
      ipv6_srpolicy_address{YType::str, "ipv6-srpolicy-address"}
  {
  
      yang_name = "ipv6-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::~Ipv6SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv6_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv6_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv6-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv6_srpolicy_address.is_set || is_set(ipv6_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv6_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address = value;
          ipv6_srpolicy_address.value_namespace = name_space;
          ipv6_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::SendBufferInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv6-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::ShutdownInfo()
      :
      is_item_configured{YType::boolean, "is-item-configured"}
          ,
      inheritance_chain(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain>())
  {
      inheritance_chain->parent = this;
  
      yang_name = "shutdown-info"; yang_parent_name = "af-independent-config"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::~ShutdownInfo()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::has_data() const
  {
      if (is_presence_container) return true;
      return is_item_configured.is_set
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(is_item_configured.yfilter)
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "shutdown-info";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (is_item_configured.is_set || is_set(is_item_configured.yfilter)) leaf_name_data.push_back(is_item_configured.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "inheritance-chain")
      {
          if(inheritance_chain == nullptr)
          {
              inheritance_chain = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain>();
          }
          return inheritance_chain;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(inheritance_chain != nullptr)
      {
          _children["inheritance-chain"] = inheritance_chain;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured = value;
          is_item_configured.value_namespace = name_space;
          is_item_configured.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "inheritance-chain" || name == "is-item-configured")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::InheritanceChain()
      :
      bgp_config_entid(this, {})
  {
  
      yang_name = "inheritance-chain"; yang_parent_name = "shutdown-info"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::~InheritanceChain()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::has_data() const
  {
      if (is_presence_container) return true;
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_data())
              return true;
      }
      return false;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::has_operation() const
  {
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_operation())
              return true;
      }
      return is_set(yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "inheritance-chain";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "bgp-config-entid")
      {
          auto ent_ = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid>();
          ent_->parent = this;
          bgp_config_entid.append(ent_);
          return ent_;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      count_ = 0;
      for (auto ent_ : bgp_config_entid.entities())
      {
          if(_children.find(ent_->get_segment_path()) == _children.end())
              _children[ent_->get_segment_path()] = ent_;
          else
              _children[ent_->get_segment_path()+count_++] = ent_;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::set_filter(const std::string & value_path, YFilter yfilter)
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "bgp-config-entid")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::BgpConfigEntid()
      :
      address_family_identifier{YType::uint8, "address-family-identifier"},
      configuration_type{YType::enumeration, "configuration-type"},
      group_name{YType::str, "group-name"}
          ,
      neighbor_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>())
  {
      neighbor_address->parent = this;
  
      yang_name = "bgp-config-entid"; yang_parent_name = "inheritance-chain"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::~BgpConfigEntid()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::has_data() const
  {
      if (is_presence_container) return true;
      return address_family_identifier.is_set
  	|| configuration_type.is_set
  	|| group_name.is_set
  	|| (neighbor_address !=  nullptr && neighbor_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(address_family_identifier.yfilter)
  	|| ydk::is_set(configuration_type.yfilter)
  	|| ydk::is_set(group_name.yfilter)
  	|| (neighbor_address !=  nullptr && neighbor_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "bgp-config-entid";
      path_buffer << "[" << get_ylist_key() << "]";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (address_family_identifier.is_set || is_set(address_family_identifier.yfilter)) leaf_name_data.push_back(address_family_identifier.get_name_leafdata());
      if (configuration_type.is_set || is_set(configuration_type.yfilter)) leaf_name_data.push_back(configuration_type.get_name_leafdata());
      if (group_name.is_set || is_set(group_name.yfilter)) leaf_name_data.push_back(group_name.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "neighbor-address")
      {
          if(neighbor_address == nullptr)
          {
              neighbor_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>();
          }
          return neighbor_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(neighbor_address != nullptr)
      {
          _children["neighbor-address"] = neighbor_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier = value;
          address_family_identifier.value_namespace = name_space;
          address_family_identifier.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "configuration-type")
      {
          configuration_type = value;
          configuration_type.value_namespace = name_space;
          configuration_type.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "group-name")
      {
          group_name = value;
          group_name.value_namespace = name_space;
          group_name.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier.yfilter = yfilter;
      }
      if(value_path == "configuration-type")
      {
          configuration_type.yfilter = yfilter;
      }
      if(value_path == "group-name")
      {
          group_name.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "neighbor-address" || name == "address-family-identifier" || name == "configuration-type" || name == "group-name")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::NeighborAddress()
      :
      afi{YType::enumeration, "afi"},
      ipv4_address{YType::str, "ipv4-address"},
      ipv4_mcast_address{YType::str, "ipv4-mcast-address"},
      ipv4_label_address{YType::str, "ipv4-label-address"},
      ipv4_tunnel_address{YType::str, "ipv4-tunnel-address"},
      ipv4_mdt_address{YType::str, "ipv4-mdt-address"},
      ipv4vpn_address{YType::str, "ipv4vpn-address"},
      ipv4vpna_mcastddress{YType::str, "ipv4vpna-mcastddress"},
      ipv6_address{YType::str, "ipv6-address"},
      ipv6_mcast_address{YType::str, "ipv6-mcast-address"},
      ipv6_label_address{YType::str, "ipv6-label-address"},
      ipv6vpn_address{YType::str, "ipv6vpn-address"},
      ipv6vpn_mcast_address{YType::str, "ipv6vpn-mcast-address"},
      rt_constraint_address{YType::str, "rt-constraint-address"},
      ipv6mvpn_address{YType::str, "ipv6mvpn-address"},
      ipv4mvpn_address{YType::str, "ipv4mvpn-address"},
      l2vpn_evpn_address{YType::str, "l2vpn-evpn-address"},
      ls_ls_address{YType::str, "ls-ls-address"},
      ipv4_flowspec_address{YType::str, "ipv4-flowspec-address"},
      ipv6_flowspec_address{YType::str, "ipv6-flowspec-address"},
      ipv4vpn_flowspec_address{YType::str, "ipv4vpn-flowspec-address"},
      ipv6vpn_flowspec_address{YType::str, "ipv6vpn-flowspec-address"}
          ,
      l2vpn_vpls_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>())
      , l2vpn_mspw_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>())
      , ipv4_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>())
      , ipv6_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>())
  {
      l2vpn_vpls_address->parent = this;
      l2vpn_mspw_address->parent = this;
      ipv4_sr_policy_address->parent = this;
      ipv6_sr_policy_address->parent = this;
  
      yang_name = "neighbor-address"; yang_parent_name = "bgp-config-entid"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::~NeighborAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_data() const
  {
      if (is_presence_container) return true;
      return afi.is_set
  	|| ipv4_address.is_set
  	|| ipv4_mcast_address.is_set
  	|| ipv4_label_address.is_set
  	|| ipv4_tunnel_address.is_set
  	|| ipv4_mdt_address.is_set
  	|| ipv4vpn_address.is_set
  	|| ipv4vpna_mcastddress.is_set
  	|| ipv6_address.is_set
  	|| ipv6_mcast_address.is_set
  	|| ipv6_label_address.is_set
  	|| ipv6vpn_address.is_set
  	|| ipv6vpn_mcast_address.is_set
  	|| rt_constraint_address.is_set
  	|| ipv6mvpn_address.is_set
  	|| ipv4mvpn_address.is_set
  	|| l2vpn_evpn_address.is_set
  	|| ls_ls_address.is_set
  	|| ipv4_flowspec_address.is_set
  	|| ipv6_flowspec_address.is_set
  	|| ipv4vpn_flowspec_address.is_set
  	|| ipv6vpn_flowspec_address.is_set
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_data())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_data())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_data())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(afi.yfilter)
  	|| ydk::is_set(ipv4_address.yfilter)
  	|| ydk::is_set(ipv4_mcast_address.yfilter)
  	|| ydk::is_set(ipv4_label_address.yfilter)
  	|| ydk::is_set(ipv4_tunnel_address.yfilter)
  	|| ydk::is_set(ipv4_mdt_address.yfilter)
  	|| ydk::is_set(ipv4vpn_address.yfilter)
  	|| ydk::is_set(ipv4vpna_mcastddress.yfilter)
  	|| ydk::is_set(ipv6_address.yfilter)
  	|| ydk::is_set(ipv6_mcast_address.yfilter)
  	|| ydk::is_set(ipv6_label_address.yfilter)
  	|| ydk::is_set(ipv6vpn_address.yfilter)
  	|| ydk::is_set(ipv6vpn_mcast_address.yfilter)
  	|| ydk::is_set(rt_constraint_address.yfilter)
  	|| ydk::is_set(ipv6mvpn_address.yfilter)
  	|| ydk::is_set(ipv4mvpn_address.yfilter)
  	|| ydk::is_set(l2vpn_evpn_address.yfilter)
  	|| ydk::is_set(ls_ls_address.yfilter)
  	|| ydk::is_set(ipv4_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6_flowspec_address.yfilter)
  	|| ydk::is_set(ipv4vpn_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6vpn_flowspec_address.yfilter)
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_operation())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_operation())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_operation())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "neighbor-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (afi.is_set || is_set(afi.yfilter)) leaf_name_data.push_back(afi.get_name_leafdata());
      if (ipv4_address.is_set || is_set(ipv4_address.yfilter)) leaf_name_data.push_back(ipv4_address.get_name_leafdata());
      if (ipv4_mcast_address.is_set || is_set(ipv4_mcast_address.yfilter)) leaf_name_data.push_back(ipv4_mcast_address.get_name_leafdata());
      if (ipv4_label_address.is_set || is_set(ipv4_label_address.yfilter)) leaf_name_data.push_back(ipv4_label_address.get_name_leafdata());
      if (ipv4_tunnel_address.is_set || is_set(ipv4_tunnel_address.yfilter)) leaf_name_data.push_back(ipv4_tunnel_address.get_name_leafdata());
      if (ipv4_mdt_address.is_set || is_set(ipv4_mdt_address.yfilter)) leaf_name_data.push_back(ipv4_mdt_address.get_name_leafdata());
      if (ipv4vpn_address.is_set || is_set(ipv4vpn_address.yfilter)) leaf_name_data.push_back(ipv4vpn_address.get_name_leafdata());
      if (ipv4vpna_mcastddress.is_set || is_set(ipv4vpna_mcastddress.yfilter)) leaf_name_data.push_back(ipv4vpna_mcastddress.get_name_leafdata());
      if (ipv6_address.is_set || is_set(ipv6_address.yfilter)) leaf_name_data.push_back(ipv6_address.get_name_leafdata());
      if (ipv6_mcast_address.is_set || is_set(ipv6_mcast_address.yfilter)) leaf_name_data.push_back(ipv6_mcast_address.get_name_leafdata());
      if (ipv6_label_address.is_set || is_set(ipv6_label_address.yfilter)) leaf_name_data.push_back(ipv6_label_address.get_name_leafdata());
      if (ipv6vpn_address.is_set || is_set(ipv6vpn_address.yfilter)) leaf_name_data.push_back(ipv6vpn_address.get_name_leafdata());
      if (ipv6vpn_mcast_address.is_set || is_set(ipv6vpn_mcast_address.yfilter)) leaf_name_data.push_back(ipv6vpn_mcast_address.get_name_leafdata());
      if (rt_constraint_address.is_set || is_set(rt_constraint_address.yfilter)) leaf_name_data.push_back(rt_constraint_address.get_name_leafdata());
      if (ipv6mvpn_address.is_set || is_set(ipv6mvpn_address.yfilter)) leaf_name_data.push_back(ipv6mvpn_address.get_name_leafdata());
      if (ipv4mvpn_address.is_set || is_set(ipv4mvpn_address.yfilter)) leaf_name_data.push_back(ipv4mvpn_address.get_name_leafdata());
      if (l2vpn_evpn_address.is_set || is_set(l2vpn_evpn_address.yfilter)) leaf_name_data.push_back(l2vpn_evpn_address.get_name_leafdata());
      if (ls_ls_address.is_set || is_set(ls_ls_address.yfilter)) leaf_name_data.push_back(ls_ls_address.get_name_leafdata());
      if (ipv4_flowspec_address.is_set || is_set(ipv4_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4_flowspec_address.get_name_leafdata());
      if (ipv6_flowspec_address.is_set || is_set(ipv6_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6_flowspec_address.get_name_leafdata());
      if (ipv4vpn_flowspec_address.is_set || is_set(ipv4vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4vpn_flowspec_address.get_name_leafdata());
      if (ipv6vpn_flowspec_address.is_set || is_set(ipv6vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6vpn_flowspec_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "l2vpn-vpls-address")
      {
          if(l2vpn_vpls_address == nullptr)
          {
              l2vpn_vpls_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>();
          }
          return l2vpn_vpls_address;
      }
  
      if(child_yang_name == "l2vpn-mspw-address")
      {
          if(l2vpn_mspw_address == nullptr)
          {
              l2vpn_mspw_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>();
          }
          return l2vpn_mspw_address;
      }
  
      if(child_yang_name == "ipv4-sr-policy-address")
      {
          if(ipv4_sr_policy_address == nullptr)
          {
              ipv4_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>();
          }
          return ipv4_sr_policy_address;
      }
  
      if(child_yang_name == "ipv6-sr-policy-address")
      {
          if(ipv6_sr_policy_address == nullptr)
          {
              ipv6_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>();
          }
          return ipv6_sr_policy_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(l2vpn_vpls_address != nullptr)
      {
          _children["l2vpn-vpls-address"] = l2vpn_vpls_address;
      }
  
      if(l2vpn_mspw_address != nullptr)
      {
          _children["l2vpn-mspw-address"] = l2vpn_mspw_address;
      }
  
      if(ipv4_sr_policy_address != nullptr)
      {
          _children["ipv4-sr-policy-address"] = ipv4_sr_policy_address;
      }
  
      if(ipv6_sr_policy_address != nullptr)
      {
          _children["ipv6-sr-policy-address"] = ipv6_sr_policy_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "afi")
      {
          afi = value;
          afi.value_namespace = name_space;
          afi.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address = value;
          ipv4_address.value_namespace = name_space;
          ipv4_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address = value;
          ipv4_mcast_address.value_namespace = name_space;
          ipv4_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address = value;
          ipv4_label_address.value_namespace = name_space;
          ipv4_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address = value;
          ipv4_tunnel_address.value_namespace = name_space;
          ipv4_tunnel_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address = value;
          ipv4_mdt_address.value_namespace = name_space;
          ipv4_mdt_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address = value;
          ipv4vpn_address.value_namespace = name_space;
          ipv4vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress = value;
          ipv4vpna_mcastddress.value_namespace = name_space;
          ipv4vpna_mcastddress.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address = value;
          ipv6_address.value_namespace = name_space;
          ipv6_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address = value;
          ipv6_mcast_address.value_namespace = name_space;
          ipv6_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address = value;
          ipv6_label_address.value_namespace = name_space;
          ipv6_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address = value;
          ipv6vpn_address.value_namespace = name_space;
          ipv6vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address = value;
          ipv6vpn_mcast_address.value_namespace = name_space;
          ipv6vpn_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address = value;
          rt_constraint_address.value_namespace = name_space;
          rt_constraint_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address = value;
          ipv6mvpn_address.value_namespace = name_space;
          ipv6mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address = value;
          ipv4mvpn_address.value_namespace = name_space;
          ipv4mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address = value;
          l2vpn_evpn_address.value_namespace = name_space;
          l2vpn_evpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address = value;
          ls_ls_address.value_namespace = name_space;
          ls_ls_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address = value;
          ipv4_flowspec_address.value_namespace = name_space;
          ipv4_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address = value;
          ipv6_flowspec_address.value_namespace = name_space;
          ipv6_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address = value;
          ipv4vpn_flowspec_address.value_namespace = name_space;
          ipv4vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address = value;
          ipv6vpn_flowspec_address.value_namespace = name_space;
          ipv6vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "afi")
      {
          afi.yfilter = yfilter;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress.yfilter = yfilter;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address.yfilter = yfilter;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address.yfilter = yfilter;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address.yfilter = yfilter;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address.yfilter = yfilter;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-vpls-address" || name == "l2vpn-mspw-address" || name == "ipv4-sr-policy-address" || name == "ipv6-sr-policy-address" || name == "afi" || name == "ipv4-address" || name == "ipv4-mcast-address" || name == "ipv4-label-address" || name == "ipv4-tunnel-address" || name == "ipv4-mdt-address" || name == "ipv4vpn-address" || name == "ipv4vpna-mcastddress" || name == "ipv6-address" || name == "ipv6-mcast-address" || name == "ipv6-label-address" || name == "ipv6vpn-address" || name == "ipv6vpn-mcast-address" || name == "rt-constraint-address" || name == "ipv6mvpn-address" || name == "ipv4mvpn-address" || name == "l2vpn-evpn-address" || name == "ls-ls-address" || name == "ipv4-flowspec-address" || name == "ipv6-flowspec-address" || name == "ipv4vpn-flowspec-address" || name == "ipv6vpn-flowspec-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::L2vpnVplsAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-vpls-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::~L2vpnVplsAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-vpls-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::L2vpnMspwAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-mspw-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::~L2vpnMspwAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-mspw-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::Ipv4SrPolicyAddress()
      :
      ipv4_srpolicy_address{YType::str, "ipv4-srpolicy-address"}
  {
  
      yang_name = "ipv4-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::~Ipv4SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv4_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv4_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv4-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv4_srpolicy_address.is_set || is_set(ipv4_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv4_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address = value;
          ipv4_srpolicy_address.value_namespace = name_space;
          ipv4_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv4-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::Ipv6SrPolicyAddress()
      :
      ipv6_srpolicy_address{YType::str, "ipv6-srpolicy-address"}
  {
  
      yang_name = "ipv6-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::~Ipv6SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv6_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv6_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv6-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv6_srpolicy_address.is_set || is_set(ipv6_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv6_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address = value;
          ipv6_srpolicy_address.value_namespace = name_space;
          ipv6_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::ShutdownInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv6-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::TimersInfo()
      :
      is_item_configured{YType::boolean, "is-item-configured"}
          ,
      inheritance_chain(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain>())
  {
      inheritance_chain->parent = this;
  
      yang_name = "timers-info"; yang_parent_name = "af-independent-config"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::~TimersInfo()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::has_data() const
  {
      if (is_presence_container) return true;
      return is_item_configured.is_set
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(is_item_configured.yfilter)
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "timers-info";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (is_item_configured.is_set || is_set(is_item_configured.yfilter)) leaf_name_data.push_back(is_item_configured.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "inheritance-chain")
      {
          if(inheritance_chain == nullptr)
          {
              inheritance_chain = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain>();
          }
          return inheritance_chain;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(inheritance_chain != nullptr)
      {
          _children["inheritance-chain"] = inheritance_chain;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured = value;
          is_item_configured.value_namespace = name_space;
          is_item_configured.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "inheritance-chain" || name == "is-item-configured")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::InheritanceChain()
      :
      bgp_config_entid(this, {})
  {
  
      yang_name = "inheritance-chain"; yang_parent_name = "timers-info"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::~InheritanceChain()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::has_data() const
  {
      if (is_presence_container) return true;
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_data())
              return true;
      }
      return false;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::has_operation() const
  {
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_operation())
              return true;
      }
      return is_set(yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "inheritance-chain";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "bgp-config-entid")
      {
          auto ent_ = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid>();
          ent_->parent = this;
          bgp_config_entid.append(ent_);
          return ent_;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      count_ = 0;
      for (auto ent_ : bgp_config_entid.entities())
      {
          if(_children.find(ent_->get_segment_path()) == _children.end())
              _children[ent_->get_segment_path()] = ent_;
          else
              _children[ent_->get_segment_path()+count_++] = ent_;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::set_filter(const std::string & value_path, YFilter yfilter)
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "bgp-config-entid")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::BgpConfigEntid()
      :
      address_family_identifier{YType::uint8, "address-family-identifier"},
      configuration_type{YType::enumeration, "configuration-type"},
      group_name{YType::str, "group-name"}
          ,
      neighbor_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>())
  {
      neighbor_address->parent = this;
  
      yang_name = "bgp-config-entid"; yang_parent_name = "inheritance-chain"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::~BgpConfigEntid()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::has_data() const
  {
      if (is_presence_container) return true;
      return address_family_identifier.is_set
  	|| configuration_type.is_set
  	|| group_name.is_set
  	|| (neighbor_address !=  nullptr && neighbor_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(address_family_identifier.yfilter)
  	|| ydk::is_set(configuration_type.yfilter)
  	|| ydk::is_set(group_name.yfilter)
  	|| (neighbor_address !=  nullptr && neighbor_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "bgp-config-entid";
      path_buffer << "[" << get_ylist_key() << "]";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (address_family_identifier.is_set || is_set(address_family_identifier.yfilter)) leaf_name_data.push_back(address_family_identifier.get_name_leafdata());
      if (configuration_type.is_set || is_set(configuration_type.yfilter)) leaf_name_data.push_back(configuration_type.get_name_leafdata());
      if (group_name.is_set || is_set(group_name.yfilter)) leaf_name_data.push_back(group_name.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "neighbor-address")
      {
          if(neighbor_address == nullptr)
          {
              neighbor_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>();
          }
          return neighbor_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(neighbor_address != nullptr)
      {
          _children["neighbor-address"] = neighbor_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier = value;
          address_family_identifier.value_namespace = name_space;
          address_family_identifier.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "configuration-type")
      {
          configuration_type = value;
          configuration_type.value_namespace = name_space;
          configuration_type.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "group-name")
      {
          group_name = value;
          group_name.value_namespace = name_space;
          group_name.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier.yfilter = yfilter;
      }
      if(value_path == "configuration-type")
      {
          configuration_type.yfilter = yfilter;
      }
      if(value_path == "group-name")
      {
          group_name.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "neighbor-address" || name == "address-family-identifier" || name == "configuration-type" || name == "group-name")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::NeighborAddress()
      :
      afi{YType::enumeration, "afi"},
      ipv4_address{YType::str, "ipv4-address"},
      ipv4_mcast_address{YType::str, "ipv4-mcast-address"},
      ipv4_label_address{YType::str, "ipv4-label-address"},
      ipv4_tunnel_address{YType::str, "ipv4-tunnel-address"},
      ipv4_mdt_address{YType::str, "ipv4-mdt-address"},
      ipv4vpn_address{YType::str, "ipv4vpn-address"},
      ipv4vpna_mcastddress{YType::str, "ipv4vpna-mcastddress"},
      ipv6_address{YType::str, "ipv6-address"},
      ipv6_mcast_address{YType::str, "ipv6-mcast-address"},
      ipv6_label_address{YType::str, "ipv6-label-address"},
      ipv6vpn_address{YType::str, "ipv6vpn-address"},
      ipv6vpn_mcast_address{YType::str, "ipv6vpn-mcast-address"},
      rt_constraint_address{YType::str, "rt-constraint-address"},
      ipv6mvpn_address{YType::str, "ipv6mvpn-address"},
      ipv4mvpn_address{YType::str, "ipv4mvpn-address"},
      l2vpn_evpn_address{YType::str, "l2vpn-evpn-address"},
      ls_ls_address{YType::str, "ls-ls-address"},
      ipv4_flowspec_address{YType::str, "ipv4-flowspec-address"},
      ipv6_flowspec_address{YType::str, "ipv6-flowspec-address"},
      ipv4vpn_flowspec_address{YType::str, "ipv4vpn-flowspec-address"},
      ipv6vpn_flowspec_address{YType::str, "ipv6vpn-flowspec-address"}
          ,
      l2vpn_vpls_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>())
      , l2vpn_mspw_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>())
      , ipv4_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>())
      , ipv6_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>())
  {
      l2vpn_vpls_address->parent = this;
      l2vpn_mspw_address->parent = this;
      ipv4_sr_policy_address->parent = this;
      ipv6_sr_policy_address->parent = this;
  
      yang_name = "neighbor-address"; yang_parent_name = "bgp-config-entid"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::~NeighborAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_data() const
  {
      if (is_presence_container) return true;
      return afi.is_set
  	|| ipv4_address.is_set
  	|| ipv4_mcast_address.is_set
  	|| ipv4_label_address.is_set
  	|| ipv4_tunnel_address.is_set
  	|| ipv4_mdt_address.is_set
  	|| ipv4vpn_address.is_set
  	|| ipv4vpna_mcastddress.is_set
  	|| ipv6_address.is_set
  	|| ipv6_mcast_address.is_set
  	|| ipv6_label_address.is_set
  	|| ipv6vpn_address.is_set
  	|| ipv6vpn_mcast_address.is_set
  	|| rt_constraint_address.is_set
  	|| ipv6mvpn_address.is_set
  	|| ipv4mvpn_address.is_set
  	|| l2vpn_evpn_address.is_set
  	|| ls_ls_address.is_set
  	|| ipv4_flowspec_address.is_set
  	|| ipv6_flowspec_address.is_set
  	|| ipv4vpn_flowspec_address.is_set
  	|| ipv6vpn_flowspec_address.is_set
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_data())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_data())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_data())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(afi.yfilter)
  	|| ydk::is_set(ipv4_address.yfilter)
  	|| ydk::is_set(ipv4_mcast_address.yfilter)
  	|| ydk::is_set(ipv4_label_address.yfilter)
  	|| ydk::is_set(ipv4_tunnel_address.yfilter)
  	|| ydk::is_set(ipv4_mdt_address.yfilter)
  	|| ydk::is_set(ipv4vpn_address.yfilter)
  	|| ydk::is_set(ipv4vpna_mcastddress.yfilter)
  	|| ydk::is_set(ipv6_address.yfilter)
  	|| ydk::is_set(ipv6_mcast_address.yfilter)
  	|| ydk::is_set(ipv6_label_address.yfilter)
  	|| ydk::is_set(ipv6vpn_address.yfilter)
  	|| ydk::is_set(ipv6vpn_mcast_address.yfilter)
  	|| ydk::is_set(rt_constraint_address.yfilter)
  	|| ydk::is_set(ipv6mvpn_address.yfilter)
  	|| ydk::is_set(ipv4mvpn_address.yfilter)
  	|| ydk::is_set(l2vpn_evpn_address.yfilter)
  	|| ydk::is_set(ls_ls_address.yfilter)
  	|| ydk::is_set(ipv4_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6_flowspec_address.yfilter)
  	|| ydk::is_set(ipv4vpn_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6vpn_flowspec_address.yfilter)
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_operation())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_operation())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_operation())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "neighbor-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (afi.is_set || is_set(afi.yfilter)) leaf_name_data.push_back(afi.get_name_leafdata());
      if (ipv4_address.is_set || is_set(ipv4_address.yfilter)) leaf_name_data.push_back(ipv4_address.get_name_leafdata());
      if (ipv4_mcast_address.is_set || is_set(ipv4_mcast_address.yfilter)) leaf_name_data.push_back(ipv4_mcast_address.get_name_leafdata());
      if (ipv4_label_address.is_set || is_set(ipv4_label_address.yfilter)) leaf_name_data.push_back(ipv4_label_address.get_name_leafdata());
      if (ipv4_tunnel_address.is_set || is_set(ipv4_tunnel_address.yfilter)) leaf_name_data.push_back(ipv4_tunnel_address.get_name_leafdata());
      if (ipv4_mdt_address.is_set || is_set(ipv4_mdt_address.yfilter)) leaf_name_data.push_back(ipv4_mdt_address.get_name_leafdata());
      if (ipv4vpn_address.is_set || is_set(ipv4vpn_address.yfilter)) leaf_name_data.push_back(ipv4vpn_address.get_name_leafdata());
      if (ipv4vpna_mcastddress.is_set || is_set(ipv4vpna_mcastddress.yfilter)) leaf_name_data.push_back(ipv4vpna_mcastddress.get_name_leafdata());
      if (ipv6_address.is_set || is_set(ipv6_address.yfilter)) leaf_name_data.push_back(ipv6_address.get_name_leafdata());
      if (ipv6_mcast_address.is_set || is_set(ipv6_mcast_address.yfilter)) leaf_name_data.push_back(ipv6_mcast_address.get_name_leafdata());
      if (ipv6_label_address.is_set || is_set(ipv6_label_address.yfilter)) leaf_name_data.push_back(ipv6_label_address.get_name_leafdata());
      if (ipv6vpn_address.is_set || is_set(ipv6vpn_address.yfilter)) leaf_name_data.push_back(ipv6vpn_address.get_name_leafdata());
      if (ipv6vpn_mcast_address.is_set || is_set(ipv6vpn_mcast_address.yfilter)) leaf_name_data.push_back(ipv6vpn_mcast_address.get_name_leafdata());
      if (rt_constraint_address.is_set || is_set(rt_constraint_address.yfilter)) leaf_name_data.push_back(rt_constraint_address.get_name_leafdata());
      if (ipv6mvpn_address.is_set || is_set(ipv6mvpn_address.yfilter)) leaf_name_data.push_back(ipv6mvpn_address.get_name_leafdata());
      if (ipv4mvpn_address.is_set || is_set(ipv4mvpn_address.yfilter)) leaf_name_data.push_back(ipv4mvpn_address.get_name_leafdata());
      if (l2vpn_evpn_address.is_set || is_set(l2vpn_evpn_address.yfilter)) leaf_name_data.push_back(l2vpn_evpn_address.get_name_leafdata());
      if (ls_ls_address.is_set || is_set(ls_ls_address.yfilter)) leaf_name_data.push_back(ls_ls_address.get_name_leafdata());
      if (ipv4_flowspec_address.is_set || is_set(ipv4_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4_flowspec_address.get_name_leafdata());
      if (ipv6_flowspec_address.is_set || is_set(ipv6_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6_flowspec_address.get_name_leafdata());
      if (ipv4vpn_flowspec_address.is_set || is_set(ipv4vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4vpn_flowspec_address.get_name_leafdata());
      if (ipv6vpn_flowspec_address.is_set || is_set(ipv6vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6vpn_flowspec_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "l2vpn-vpls-address")
      {
          if(l2vpn_vpls_address == nullptr)
          {
              l2vpn_vpls_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>();
          }
          return l2vpn_vpls_address;
      }
  
      if(child_yang_name == "l2vpn-mspw-address")
      {
          if(l2vpn_mspw_address == nullptr)
          {
              l2vpn_mspw_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>();
          }
          return l2vpn_mspw_address;
      }
  
      if(child_yang_name == "ipv4-sr-policy-address")
      {
          if(ipv4_sr_policy_address == nullptr)
          {
              ipv4_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>();
          }
          return ipv4_sr_policy_address;
      }
  
      if(child_yang_name == "ipv6-sr-policy-address")
      {
          if(ipv6_sr_policy_address == nullptr)
          {
              ipv6_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>();
          }
          return ipv6_sr_policy_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(l2vpn_vpls_address != nullptr)
      {
          _children["l2vpn-vpls-address"] = l2vpn_vpls_address;
      }
  
      if(l2vpn_mspw_address != nullptr)
      {
          _children["l2vpn-mspw-address"] = l2vpn_mspw_address;
      }
  
      if(ipv4_sr_policy_address != nullptr)
      {
          _children["ipv4-sr-policy-address"] = ipv4_sr_policy_address;
      }
  
      if(ipv6_sr_policy_address != nullptr)
      {
          _children["ipv6-sr-policy-address"] = ipv6_sr_policy_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "afi")
      {
          afi = value;
          afi.value_namespace = name_space;
          afi.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address = value;
          ipv4_address.value_namespace = name_space;
          ipv4_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address = value;
          ipv4_mcast_address.value_namespace = name_space;
          ipv4_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address = value;
          ipv4_label_address.value_namespace = name_space;
          ipv4_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address = value;
          ipv4_tunnel_address.value_namespace = name_space;
          ipv4_tunnel_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address = value;
          ipv4_mdt_address.value_namespace = name_space;
          ipv4_mdt_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address = value;
          ipv4vpn_address.value_namespace = name_space;
          ipv4vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress = value;
          ipv4vpna_mcastddress.value_namespace = name_space;
          ipv4vpna_mcastddress.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address = value;
          ipv6_address.value_namespace = name_space;
          ipv6_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address = value;
          ipv6_mcast_address.value_namespace = name_space;
          ipv6_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address = value;
          ipv6_label_address.value_namespace = name_space;
          ipv6_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address = value;
          ipv6vpn_address.value_namespace = name_space;
          ipv6vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address = value;
          ipv6vpn_mcast_address.value_namespace = name_space;
          ipv6vpn_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address = value;
          rt_constraint_address.value_namespace = name_space;
          rt_constraint_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address = value;
          ipv6mvpn_address.value_namespace = name_space;
          ipv6mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address = value;
          ipv4mvpn_address.value_namespace = name_space;
          ipv4mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address = value;
          l2vpn_evpn_address.value_namespace = name_space;
          l2vpn_evpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address = value;
          ls_ls_address.value_namespace = name_space;
          ls_ls_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address = value;
          ipv4_flowspec_address.value_namespace = name_space;
          ipv4_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address = value;
          ipv6_flowspec_address.value_namespace = name_space;
          ipv6_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address = value;
          ipv4vpn_flowspec_address.value_namespace = name_space;
          ipv4vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address = value;
          ipv6vpn_flowspec_address.value_namespace = name_space;
          ipv6vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "afi")
      {
          afi.yfilter = yfilter;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress.yfilter = yfilter;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address.yfilter = yfilter;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address.yfilter = yfilter;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address.yfilter = yfilter;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address.yfilter = yfilter;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-vpls-address" || name == "l2vpn-mspw-address" || name == "ipv4-sr-policy-address" || name == "ipv6-sr-policy-address" || name == "afi" || name == "ipv4-address" || name == "ipv4-mcast-address" || name == "ipv4-label-address" || name == "ipv4-tunnel-address" || name == "ipv4-mdt-address" || name == "ipv4vpn-address" || name == "ipv4vpna-mcastddress" || name == "ipv6-address" || name == "ipv6-mcast-address" || name == "ipv6-label-address" || name == "ipv6vpn-address" || name == "ipv6vpn-mcast-address" || name == "rt-constraint-address" || name == "ipv6mvpn-address" || name == "ipv4mvpn-address" || name == "l2vpn-evpn-address" || name == "ls-ls-address" || name == "ipv4-flowspec-address" || name == "ipv6-flowspec-address" || name == "ipv4vpn-flowspec-address" || name == "ipv6vpn-flowspec-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::L2vpnVplsAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-vpls-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::~L2vpnVplsAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-vpls-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::L2vpnMspwAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-mspw-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::~L2vpnMspwAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-mspw-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::Ipv4SrPolicyAddress()
      :
      ipv4_srpolicy_address{YType::str, "ipv4-srpolicy-address"}
  {
  
      yang_name = "ipv4-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::~Ipv4SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv4_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv4_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv4-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv4_srpolicy_address.is_set || is_set(ipv4_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv4_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address = value;
          ipv4_srpolicy_address.value_namespace = name_space;
          ipv4_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv4-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::Ipv6SrPolicyAddress()
      :
      ipv6_srpolicy_address{YType::str, "ipv6-srpolicy-address"}
  {
  
      yang_name = "ipv6-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::~Ipv6SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv6_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv6_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv6-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv6_srpolicy_address.is_set || is_set(ipv6_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv6_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address = value;
          ipv6_srpolicy_address.value_namespace = name_space;
          ipv6_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::TimersInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv6-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::LocalAddressInfo()
      :
      is_item_configured{YType::boolean, "is-item-configured"}
          ,
      inheritance_chain(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain>())
  {
      inheritance_chain->parent = this;
  
      yang_name = "local-address-info"; yang_parent_name = "af-independent-config"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::~LocalAddressInfo()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::has_data() const
  {
      if (is_presence_container) return true;
      return is_item_configured.is_set
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(is_item_configured.yfilter)
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "local-address-info";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (is_item_configured.is_set || is_set(is_item_configured.yfilter)) leaf_name_data.push_back(is_item_configured.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "inheritance-chain")
      {
          if(inheritance_chain == nullptr)
          {
              inheritance_chain = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain>();
          }
          return inheritance_chain;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(inheritance_chain != nullptr)
      {
          _children["inheritance-chain"] = inheritance_chain;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured = value;
          is_item_configured.value_namespace = name_space;
          is_item_configured.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "inheritance-chain" || name == "is-item-configured")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::InheritanceChain()
      :
      bgp_config_entid(this, {})
  {
  
      yang_name = "inheritance-chain"; yang_parent_name = "local-address-info"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::~InheritanceChain()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::has_data() const
  {
      if (is_presence_container) return true;
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_data())
              return true;
      }
      return false;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::has_operation() const
  {
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_operation())
              return true;
      }
      return is_set(yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "inheritance-chain";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "bgp-config-entid")
      {
          auto ent_ = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid>();
          ent_->parent = this;
          bgp_config_entid.append(ent_);
          return ent_;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      count_ = 0;
      for (auto ent_ : bgp_config_entid.entities())
      {
          if(_children.find(ent_->get_segment_path()) == _children.end())
              _children[ent_->get_segment_path()] = ent_;
          else
              _children[ent_->get_segment_path()+count_++] = ent_;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::set_filter(const std::string & value_path, YFilter yfilter)
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "bgp-config-entid")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::BgpConfigEntid()
      :
      address_family_identifier{YType::uint8, "address-family-identifier"},
      configuration_type{YType::enumeration, "configuration-type"},
      group_name{YType::str, "group-name"}
          ,
      neighbor_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>())
  {
      neighbor_address->parent = this;
  
      yang_name = "bgp-config-entid"; yang_parent_name = "inheritance-chain"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::~BgpConfigEntid()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::has_data() const
  {
      if (is_presence_container) return true;
      return address_family_identifier.is_set
  	|| configuration_type.is_set
  	|| group_name.is_set
  	|| (neighbor_address !=  nullptr && neighbor_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(address_family_identifier.yfilter)
  	|| ydk::is_set(configuration_type.yfilter)
  	|| ydk::is_set(group_name.yfilter)
  	|| (neighbor_address !=  nullptr && neighbor_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "bgp-config-entid";
      path_buffer << "[" << get_ylist_key() << "]";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (address_family_identifier.is_set || is_set(address_family_identifier.yfilter)) leaf_name_data.push_back(address_family_identifier.get_name_leafdata());
      if (configuration_type.is_set || is_set(configuration_type.yfilter)) leaf_name_data.push_back(configuration_type.get_name_leafdata());
      if (group_name.is_set || is_set(group_name.yfilter)) leaf_name_data.push_back(group_name.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "neighbor-address")
      {
          if(neighbor_address == nullptr)
          {
              neighbor_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>();
          }
          return neighbor_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(neighbor_address != nullptr)
      {
          _children["neighbor-address"] = neighbor_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier = value;
          address_family_identifier.value_namespace = name_space;
          address_family_identifier.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "configuration-type")
      {
          configuration_type = value;
          configuration_type.value_namespace = name_space;
          configuration_type.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "group-name")
      {
          group_name = value;
          group_name.value_namespace = name_space;
          group_name.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier.yfilter = yfilter;
      }
      if(value_path == "configuration-type")
      {
          configuration_type.yfilter = yfilter;
      }
      if(value_path == "group-name")
      {
          group_name.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "neighbor-address" || name == "address-family-identifier" || name == "configuration-type" || name == "group-name")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::NeighborAddress()
      :
      afi{YType::enumeration, "afi"},
      ipv4_address{YType::str, "ipv4-address"},
      ipv4_mcast_address{YType::str, "ipv4-mcast-address"},
      ipv4_label_address{YType::str, "ipv4-label-address"},
      ipv4_tunnel_address{YType::str, "ipv4-tunnel-address"},
      ipv4_mdt_address{YType::str, "ipv4-mdt-address"},
      ipv4vpn_address{YType::str, "ipv4vpn-address"},
      ipv4vpna_mcastddress{YType::str, "ipv4vpna-mcastddress"},
      ipv6_address{YType::str, "ipv6-address"},
      ipv6_mcast_address{YType::str, "ipv6-mcast-address"},
      ipv6_label_address{YType::str, "ipv6-label-address"},
      ipv6vpn_address{YType::str, "ipv6vpn-address"},
      ipv6vpn_mcast_address{YType::str, "ipv6vpn-mcast-address"},
      rt_constraint_address{YType::str, "rt-constraint-address"},
      ipv6mvpn_address{YType::str, "ipv6mvpn-address"},
      ipv4mvpn_address{YType::str, "ipv4mvpn-address"},
      l2vpn_evpn_address{YType::str, "l2vpn-evpn-address"},
      ls_ls_address{YType::str, "ls-ls-address"},
      ipv4_flowspec_address{YType::str, "ipv4-flowspec-address"},
      ipv6_flowspec_address{YType::str, "ipv6-flowspec-address"},
      ipv4vpn_flowspec_address{YType::str, "ipv4vpn-flowspec-address"},
      ipv6vpn_flowspec_address{YType::str, "ipv6vpn-flowspec-address"}
          ,
      l2vpn_vpls_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>())
      , l2vpn_mspw_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>())
      , ipv4_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>())
      , ipv6_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>())
  {
      l2vpn_vpls_address->parent = this;
      l2vpn_mspw_address->parent = this;
      ipv4_sr_policy_address->parent = this;
      ipv6_sr_policy_address->parent = this;
  
      yang_name = "neighbor-address"; yang_parent_name = "bgp-config-entid"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::~NeighborAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_data() const
  {
      if (is_presence_container) return true;
      return afi.is_set
  	|| ipv4_address.is_set
  	|| ipv4_mcast_address.is_set
  	|| ipv4_label_address.is_set
  	|| ipv4_tunnel_address.is_set
  	|| ipv4_mdt_address.is_set
  	|| ipv4vpn_address.is_set
  	|| ipv4vpna_mcastddress.is_set
  	|| ipv6_address.is_set
  	|| ipv6_mcast_address.is_set
  	|| ipv6_label_address.is_set
  	|| ipv6vpn_address.is_set
  	|| ipv6vpn_mcast_address.is_set
  	|| rt_constraint_address.is_set
  	|| ipv6mvpn_address.is_set
  	|| ipv4mvpn_address.is_set
  	|| l2vpn_evpn_address.is_set
  	|| ls_ls_address.is_set
  	|| ipv4_flowspec_address.is_set
  	|| ipv6_flowspec_address.is_set
  	|| ipv4vpn_flowspec_address.is_set
  	|| ipv6vpn_flowspec_address.is_set
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_data())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_data())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_data())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(afi.yfilter)
  	|| ydk::is_set(ipv4_address.yfilter)
  	|| ydk::is_set(ipv4_mcast_address.yfilter)
  	|| ydk::is_set(ipv4_label_address.yfilter)
  	|| ydk::is_set(ipv4_tunnel_address.yfilter)
  	|| ydk::is_set(ipv4_mdt_address.yfilter)
  	|| ydk::is_set(ipv4vpn_address.yfilter)
  	|| ydk::is_set(ipv4vpna_mcastddress.yfilter)
  	|| ydk::is_set(ipv6_address.yfilter)
  	|| ydk::is_set(ipv6_mcast_address.yfilter)
  	|| ydk::is_set(ipv6_label_address.yfilter)
  	|| ydk::is_set(ipv6vpn_address.yfilter)
  	|| ydk::is_set(ipv6vpn_mcast_address.yfilter)
  	|| ydk::is_set(rt_constraint_address.yfilter)
  	|| ydk::is_set(ipv6mvpn_address.yfilter)
  	|| ydk::is_set(ipv4mvpn_address.yfilter)
  	|| ydk::is_set(l2vpn_evpn_address.yfilter)
  	|| ydk::is_set(ls_ls_address.yfilter)
  	|| ydk::is_set(ipv4_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6_flowspec_address.yfilter)
  	|| ydk::is_set(ipv4vpn_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6vpn_flowspec_address.yfilter)
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_operation())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_operation())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_operation())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "neighbor-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (afi.is_set || is_set(afi.yfilter)) leaf_name_data.push_back(afi.get_name_leafdata());
      if (ipv4_address.is_set || is_set(ipv4_address.yfilter)) leaf_name_data.push_back(ipv4_address.get_name_leafdata());
      if (ipv4_mcast_address.is_set || is_set(ipv4_mcast_address.yfilter)) leaf_name_data.push_back(ipv4_mcast_address.get_name_leafdata());
      if (ipv4_label_address.is_set || is_set(ipv4_label_address.yfilter)) leaf_name_data.push_back(ipv4_label_address.get_name_leafdata());
      if (ipv4_tunnel_address.is_set || is_set(ipv4_tunnel_address.yfilter)) leaf_name_data.push_back(ipv4_tunnel_address.get_name_leafdata());
      if (ipv4_mdt_address.is_set || is_set(ipv4_mdt_address.yfilter)) leaf_name_data.push_back(ipv4_mdt_address.get_name_leafdata());
      if (ipv4vpn_address.is_set || is_set(ipv4vpn_address.yfilter)) leaf_name_data.push_back(ipv4vpn_address.get_name_leafdata());
      if (ipv4vpna_mcastddress.is_set || is_set(ipv4vpna_mcastddress.yfilter)) leaf_name_data.push_back(ipv4vpna_mcastddress.get_name_leafdata());
      if (ipv6_address.is_set || is_set(ipv6_address.yfilter)) leaf_name_data.push_back(ipv6_address.get_name_leafdata());
      if (ipv6_mcast_address.is_set || is_set(ipv6_mcast_address.yfilter)) leaf_name_data.push_back(ipv6_mcast_address.get_name_leafdata());
      if (ipv6_label_address.is_set || is_set(ipv6_label_address.yfilter)) leaf_name_data.push_back(ipv6_label_address.get_name_leafdata());
      if (ipv6vpn_address.is_set || is_set(ipv6vpn_address.yfilter)) leaf_name_data.push_back(ipv6vpn_address.get_name_leafdata());
      if (ipv6vpn_mcast_address.is_set || is_set(ipv6vpn_mcast_address.yfilter)) leaf_name_data.push_back(ipv6vpn_mcast_address.get_name_leafdata());
      if (rt_constraint_address.is_set || is_set(rt_constraint_address.yfilter)) leaf_name_data.push_back(rt_constraint_address.get_name_leafdata());
      if (ipv6mvpn_address.is_set || is_set(ipv6mvpn_address.yfilter)) leaf_name_data.push_back(ipv6mvpn_address.get_name_leafdata());
      if (ipv4mvpn_address.is_set || is_set(ipv4mvpn_address.yfilter)) leaf_name_data.push_back(ipv4mvpn_address.get_name_leafdata());
      if (l2vpn_evpn_address.is_set || is_set(l2vpn_evpn_address.yfilter)) leaf_name_data.push_back(l2vpn_evpn_address.get_name_leafdata());
      if (ls_ls_address.is_set || is_set(ls_ls_address.yfilter)) leaf_name_data.push_back(ls_ls_address.get_name_leafdata());
      if (ipv4_flowspec_address.is_set || is_set(ipv4_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4_flowspec_address.get_name_leafdata());
      if (ipv6_flowspec_address.is_set || is_set(ipv6_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6_flowspec_address.get_name_leafdata());
      if (ipv4vpn_flowspec_address.is_set || is_set(ipv4vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4vpn_flowspec_address.get_name_leafdata());
      if (ipv6vpn_flowspec_address.is_set || is_set(ipv6vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6vpn_flowspec_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "l2vpn-vpls-address")
      {
          if(l2vpn_vpls_address == nullptr)
          {
              l2vpn_vpls_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>();
          }
          return l2vpn_vpls_address;
      }
  
      if(child_yang_name == "l2vpn-mspw-address")
      {
          if(l2vpn_mspw_address == nullptr)
          {
              l2vpn_mspw_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>();
          }
          return l2vpn_mspw_address;
      }
  
      if(child_yang_name == "ipv4-sr-policy-address")
      {
          if(ipv4_sr_policy_address == nullptr)
          {
              ipv4_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>();
          }
          return ipv4_sr_policy_address;
      }
  
      if(child_yang_name == "ipv6-sr-policy-address")
      {
          if(ipv6_sr_policy_address == nullptr)
          {
              ipv6_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>();
          }
          return ipv6_sr_policy_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(l2vpn_vpls_address != nullptr)
      {
          _children["l2vpn-vpls-address"] = l2vpn_vpls_address;
      }
  
      if(l2vpn_mspw_address != nullptr)
      {
          _children["l2vpn-mspw-address"] = l2vpn_mspw_address;
      }
  
      if(ipv4_sr_policy_address != nullptr)
      {
          _children["ipv4-sr-policy-address"] = ipv4_sr_policy_address;
      }
  
      if(ipv6_sr_policy_address != nullptr)
      {
          _children["ipv6-sr-policy-address"] = ipv6_sr_policy_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "afi")
      {
          afi = value;
          afi.value_namespace = name_space;
          afi.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address = value;
          ipv4_address.value_namespace = name_space;
          ipv4_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address = value;
          ipv4_mcast_address.value_namespace = name_space;
          ipv4_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address = value;
          ipv4_label_address.value_namespace = name_space;
          ipv4_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address = value;
          ipv4_tunnel_address.value_namespace = name_space;
          ipv4_tunnel_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address = value;
          ipv4_mdt_address.value_namespace = name_space;
          ipv4_mdt_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address = value;
          ipv4vpn_address.value_namespace = name_space;
          ipv4vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress = value;
          ipv4vpna_mcastddress.value_namespace = name_space;
          ipv4vpna_mcastddress.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address = value;
          ipv6_address.value_namespace = name_space;
          ipv6_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address = value;
          ipv6_mcast_address.value_namespace = name_space;
          ipv6_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address = value;
          ipv6_label_address.value_namespace = name_space;
          ipv6_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address = value;
          ipv6vpn_address.value_namespace = name_space;
          ipv6vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address = value;
          ipv6vpn_mcast_address.value_namespace = name_space;
          ipv6vpn_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address = value;
          rt_constraint_address.value_namespace = name_space;
          rt_constraint_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address = value;
          ipv6mvpn_address.value_namespace = name_space;
          ipv6mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address = value;
          ipv4mvpn_address.value_namespace = name_space;
          ipv4mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address = value;
          l2vpn_evpn_address.value_namespace = name_space;
          l2vpn_evpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address = value;
          ls_ls_address.value_namespace = name_space;
          ls_ls_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address = value;
          ipv4_flowspec_address.value_namespace = name_space;
          ipv4_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address = value;
          ipv6_flowspec_address.value_namespace = name_space;
          ipv6_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address = value;
          ipv4vpn_flowspec_address.value_namespace = name_space;
          ipv4vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address = value;
          ipv6vpn_flowspec_address.value_namespace = name_space;
          ipv6vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "afi")
      {
          afi.yfilter = yfilter;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress.yfilter = yfilter;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address.yfilter = yfilter;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address.yfilter = yfilter;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address.yfilter = yfilter;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address.yfilter = yfilter;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-vpls-address" || name == "l2vpn-mspw-address" || name == "ipv4-sr-policy-address" || name == "ipv6-sr-policy-address" || name == "afi" || name == "ipv4-address" || name == "ipv4-mcast-address" || name == "ipv4-label-address" || name == "ipv4-tunnel-address" || name == "ipv4-mdt-address" || name == "ipv4vpn-address" || name == "ipv4vpna-mcastddress" || name == "ipv6-address" || name == "ipv6-mcast-address" || name == "ipv6-label-address" || name == "ipv6vpn-address" || name == "ipv6vpn-mcast-address" || name == "rt-constraint-address" || name == "ipv6mvpn-address" || name == "ipv4mvpn-address" || name == "l2vpn-evpn-address" || name == "ls-ls-address" || name == "ipv4-flowspec-address" || name == "ipv6-flowspec-address" || name == "ipv4vpn-flowspec-address" || name == "ipv6vpn-flowspec-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::L2vpnVplsAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-vpls-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::~L2vpnVplsAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-vpls-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::L2vpnMspwAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-mspw-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::~L2vpnMspwAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-mspw-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::Ipv4SrPolicyAddress()
      :
      ipv4_srpolicy_address{YType::str, "ipv4-srpolicy-address"}
  {
  
      yang_name = "ipv4-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::~Ipv4SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv4_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv4_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv4-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv4_srpolicy_address.is_set || is_set(ipv4_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv4_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address = value;
          ipv4_srpolicy_address.value_namespace = name_space;
          ipv4_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv4-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::Ipv6SrPolicyAddress()
      :
      ipv6_srpolicy_address{YType::str, "ipv6-srpolicy-address"}
  {
  
      yang_name = "ipv6-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::~Ipv6SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv6_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv6_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv6-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv6_srpolicy_address.is_set || is_set(ipv6_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv6_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address = value;
          ipv6_srpolicy_address.value_namespace = name_space;
          ipv6_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::LocalAddressInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv6-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::MsgLogInInfo()
      :
      is_item_configured{YType::boolean, "is-item-configured"}
          ,
      inheritance_chain(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain>())
  {
      inheritance_chain->parent = this;
  
      yang_name = "msg-log-in-info"; yang_parent_name = "af-independent-config"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::~MsgLogInInfo()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::has_data() const
  {
      if (is_presence_container) return true;
      return is_item_configured.is_set
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(is_item_configured.yfilter)
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "msg-log-in-info";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (is_item_configured.is_set || is_set(is_item_configured.yfilter)) leaf_name_data.push_back(is_item_configured.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "inheritance-chain")
      {
          if(inheritance_chain == nullptr)
          {
              inheritance_chain = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain>();
          }
          return inheritance_chain;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(inheritance_chain != nullptr)
      {
          _children["inheritance-chain"] = inheritance_chain;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured = value;
          is_item_configured.value_namespace = name_space;
          is_item_configured.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "inheritance-chain" || name == "is-item-configured")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::InheritanceChain()
      :
      bgp_config_entid(this, {})
  {
  
      yang_name = "inheritance-chain"; yang_parent_name = "msg-log-in-info"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::~InheritanceChain()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::has_data() const
  {
      if (is_presence_container) return true;
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_data())
              return true;
      }
      return false;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::has_operation() const
  {
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_operation())
              return true;
      }
      return is_set(yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "inheritance-chain";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "bgp-config-entid")
      {
          auto ent_ = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid>();
          ent_->parent = this;
          bgp_config_entid.append(ent_);
          return ent_;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      count_ = 0;
      for (auto ent_ : bgp_config_entid.entities())
      {
          if(_children.find(ent_->get_segment_path()) == _children.end())
              _children[ent_->get_segment_path()] = ent_;
          else
              _children[ent_->get_segment_path()+count_++] = ent_;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::set_filter(const std::string & value_path, YFilter yfilter)
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "bgp-config-entid")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::BgpConfigEntid()
      :
      address_family_identifier{YType::uint8, "address-family-identifier"},
      configuration_type{YType::enumeration, "configuration-type"},
      group_name{YType::str, "group-name"}
          ,
      neighbor_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>())
  {
      neighbor_address->parent = this;
  
      yang_name = "bgp-config-entid"; yang_parent_name = "inheritance-chain"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::~BgpConfigEntid()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::has_data() const
  {
      if (is_presence_container) return true;
      return address_family_identifier.is_set
  	|| configuration_type.is_set
  	|| group_name.is_set
  	|| (neighbor_address !=  nullptr && neighbor_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(address_family_identifier.yfilter)
  	|| ydk::is_set(configuration_type.yfilter)
  	|| ydk::is_set(group_name.yfilter)
  	|| (neighbor_address !=  nullptr && neighbor_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "bgp-config-entid";
      path_buffer << "[" << get_ylist_key() << "]";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (address_family_identifier.is_set || is_set(address_family_identifier.yfilter)) leaf_name_data.push_back(address_family_identifier.get_name_leafdata());
      if (configuration_type.is_set || is_set(configuration_type.yfilter)) leaf_name_data.push_back(configuration_type.get_name_leafdata());
      if (group_name.is_set || is_set(group_name.yfilter)) leaf_name_data.push_back(group_name.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "neighbor-address")
      {
          if(neighbor_address == nullptr)
          {
              neighbor_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>();
          }
          return neighbor_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(neighbor_address != nullptr)
      {
          _children["neighbor-address"] = neighbor_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier = value;
          address_family_identifier.value_namespace = name_space;
          address_family_identifier.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "configuration-type")
      {
          configuration_type = value;
          configuration_type.value_namespace = name_space;
          configuration_type.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "group-name")
      {
          group_name = value;
          group_name.value_namespace = name_space;
          group_name.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier.yfilter = yfilter;
      }
      if(value_path == "configuration-type")
      {
          configuration_type.yfilter = yfilter;
      }
      if(value_path == "group-name")
      {
          group_name.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "neighbor-address" || name == "address-family-identifier" || name == "configuration-type" || name == "group-name")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::NeighborAddress()
      :
      afi{YType::enumeration, "afi"},
      ipv4_address{YType::str, "ipv4-address"},
      ipv4_mcast_address{YType::str, "ipv4-mcast-address"},
      ipv4_label_address{YType::str, "ipv4-label-address"},
      ipv4_tunnel_address{YType::str, "ipv4-tunnel-address"},
      ipv4_mdt_address{YType::str, "ipv4-mdt-address"},
      ipv4vpn_address{YType::str, "ipv4vpn-address"},
      ipv4vpna_mcastddress{YType::str, "ipv4vpna-mcastddress"},
      ipv6_address{YType::str, "ipv6-address"},
      ipv6_mcast_address{YType::str, "ipv6-mcast-address"},
      ipv6_label_address{YType::str, "ipv6-label-address"},
      ipv6vpn_address{YType::str, "ipv6vpn-address"},
      ipv6vpn_mcast_address{YType::str, "ipv6vpn-mcast-address"},
      rt_constraint_address{YType::str, "rt-constraint-address"},
      ipv6mvpn_address{YType::str, "ipv6mvpn-address"},
      ipv4mvpn_address{YType::str, "ipv4mvpn-address"},
      l2vpn_evpn_address{YType::str, "l2vpn-evpn-address"},
      ls_ls_address{YType::str, "ls-ls-address"},
      ipv4_flowspec_address{YType::str, "ipv4-flowspec-address"},
      ipv6_flowspec_address{YType::str, "ipv6-flowspec-address"},
      ipv4vpn_flowspec_address{YType::str, "ipv4vpn-flowspec-address"},
      ipv6vpn_flowspec_address{YType::str, "ipv6vpn-flowspec-address"}
          ,
      l2vpn_vpls_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>())
      , l2vpn_mspw_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>())
      , ipv4_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>())
      , ipv6_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>())
  {
      l2vpn_vpls_address->parent = this;
      l2vpn_mspw_address->parent = this;
      ipv4_sr_policy_address->parent = this;
      ipv6_sr_policy_address->parent = this;
  
      yang_name = "neighbor-address"; yang_parent_name = "bgp-config-entid"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::~NeighborAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_data() const
  {
      if (is_presence_container) return true;
      return afi.is_set
  	|| ipv4_address.is_set
  	|| ipv4_mcast_address.is_set
  	|| ipv4_label_address.is_set
  	|| ipv4_tunnel_address.is_set
  	|| ipv4_mdt_address.is_set
  	|| ipv4vpn_address.is_set
  	|| ipv4vpna_mcastddress.is_set
  	|| ipv6_address.is_set
  	|| ipv6_mcast_address.is_set
  	|| ipv6_label_address.is_set
  	|| ipv6vpn_address.is_set
  	|| ipv6vpn_mcast_address.is_set
  	|| rt_constraint_address.is_set
  	|| ipv6mvpn_address.is_set
  	|| ipv4mvpn_address.is_set
  	|| l2vpn_evpn_address.is_set
  	|| ls_ls_address.is_set
  	|| ipv4_flowspec_address.is_set
  	|| ipv6_flowspec_address.is_set
  	|| ipv4vpn_flowspec_address.is_set
  	|| ipv6vpn_flowspec_address.is_set
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_data())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_data())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_data())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(afi.yfilter)
  	|| ydk::is_set(ipv4_address.yfilter)
  	|| ydk::is_set(ipv4_mcast_address.yfilter)
  	|| ydk::is_set(ipv4_label_address.yfilter)
  	|| ydk::is_set(ipv4_tunnel_address.yfilter)
  	|| ydk::is_set(ipv4_mdt_address.yfilter)
  	|| ydk::is_set(ipv4vpn_address.yfilter)
  	|| ydk::is_set(ipv4vpna_mcastddress.yfilter)
  	|| ydk::is_set(ipv6_address.yfilter)
  	|| ydk::is_set(ipv6_mcast_address.yfilter)
  	|| ydk::is_set(ipv6_label_address.yfilter)
  	|| ydk::is_set(ipv6vpn_address.yfilter)
  	|| ydk::is_set(ipv6vpn_mcast_address.yfilter)
  	|| ydk::is_set(rt_constraint_address.yfilter)
  	|| ydk::is_set(ipv6mvpn_address.yfilter)
  	|| ydk::is_set(ipv4mvpn_address.yfilter)
  	|| ydk::is_set(l2vpn_evpn_address.yfilter)
  	|| ydk::is_set(ls_ls_address.yfilter)
  	|| ydk::is_set(ipv4_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6_flowspec_address.yfilter)
  	|| ydk::is_set(ipv4vpn_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6vpn_flowspec_address.yfilter)
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_operation())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_operation())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_operation())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "neighbor-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (afi.is_set || is_set(afi.yfilter)) leaf_name_data.push_back(afi.get_name_leafdata());
      if (ipv4_address.is_set || is_set(ipv4_address.yfilter)) leaf_name_data.push_back(ipv4_address.get_name_leafdata());
      if (ipv4_mcast_address.is_set || is_set(ipv4_mcast_address.yfilter)) leaf_name_data.push_back(ipv4_mcast_address.get_name_leafdata());
      if (ipv4_label_address.is_set || is_set(ipv4_label_address.yfilter)) leaf_name_data.push_back(ipv4_label_address.get_name_leafdata());
      if (ipv4_tunnel_address.is_set || is_set(ipv4_tunnel_address.yfilter)) leaf_name_data.push_back(ipv4_tunnel_address.get_name_leafdata());
      if (ipv4_mdt_address.is_set || is_set(ipv4_mdt_address.yfilter)) leaf_name_data.push_back(ipv4_mdt_address.get_name_leafdata());
      if (ipv4vpn_address.is_set || is_set(ipv4vpn_address.yfilter)) leaf_name_data.push_back(ipv4vpn_address.get_name_leafdata());
      if (ipv4vpna_mcastddress.is_set || is_set(ipv4vpna_mcastddress.yfilter)) leaf_name_data.push_back(ipv4vpna_mcastddress.get_name_leafdata());
      if (ipv6_address.is_set || is_set(ipv6_address.yfilter)) leaf_name_data.push_back(ipv6_address.get_name_leafdata());
      if (ipv6_mcast_address.is_set || is_set(ipv6_mcast_address.yfilter)) leaf_name_data.push_back(ipv6_mcast_address.get_name_leafdata());
      if (ipv6_label_address.is_set || is_set(ipv6_label_address.yfilter)) leaf_name_data.push_back(ipv6_label_address.get_name_leafdata());
      if (ipv6vpn_address.is_set || is_set(ipv6vpn_address.yfilter)) leaf_name_data.push_back(ipv6vpn_address.get_name_leafdata());
      if (ipv6vpn_mcast_address.is_set || is_set(ipv6vpn_mcast_address.yfilter)) leaf_name_data.push_back(ipv6vpn_mcast_address.get_name_leafdata());
      if (rt_constraint_address.is_set || is_set(rt_constraint_address.yfilter)) leaf_name_data.push_back(rt_constraint_address.get_name_leafdata());
      if (ipv6mvpn_address.is_set || is_set(ipv6mvpn_address.yfilter)) leaf_name_data.push_back(ipv6mvpn_address.get_name_leafdata());
      if (ipv4mvpn_address.is_set || is_set(ipv4mvpn_address.yfilter)) leaf_name_data.push_back(ipv4mvpn_address.get_name_leafdata());
      if (l2vpn_evpn_address.is_set || is_set(l2vpn_evpn_address.yfilter)) leaf_name_data.push_back(l2vpn_evpn_address.get_name_leafdata());
      if (ls_ls_address.is_set || is_set(ls_ls_address.yfilter)) leaf_name_data.push_back(ls_ls_address.get_name_leafdata());
      if (ipv4_flowspec_address.is_set || is_set(ipv4_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4_flowspec_address.get_name_leafdata());
      if (ipv6_flowspec_address.is_set || is_set(ipv6_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6_flowspec_address.get_name_leafdata());
      if (ipv4vpn_flowspec_address.is_set || is_set(ipv4vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4vpn_flowspec_address.get_name_leafdata());
      if (ipv6vpn_flowspec_address.is_set || is_set(ipv6vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6vpn_flowspec_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "l2vpn-vpls-address")
      {
          if(l2vpn_vpls_address == nullptr)
          {
              l2vpn_vpls_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>();
          }
          return l2vpn_vpls_address;
      }
  
      if(child_yang_name == "l2vpn-mspw-address")
      {
          if(l2vpn_mspw_address == nullptr)
          {
              l2vpn_mspw_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>();
          }
          return l2vpn_mspw_address;
      }
  
      if(child_yang_name == "ipv4-sr-policy-address")
      {
          if(ipv4_sr_policy_address == nullptr)
          {
              ipv4_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>();
          }
          return ipv4_sr_policy_address;
      }
  
      if(child_yang_name == "ipv6-sr-policy-address")
      {
          if(ipv6_sr_policy_address == nullptr)
          {
              ipv6_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>();
          }
          return ipv6_sr_policy_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(l2vpn_vpls_address != nullptr)
      {
          _children["l2vpn-vpls-address"] = l2vpn_vpls_address;
      }
  
      if(l2vpn_mspw_address != nullptr)
      {
          _children["l2vpn-mspw-address"] = l2vpn_mspw_address;
      }
  
      if(ipv4_sr_policy_address != nullptr)
      {
          _children["ipv4-sr-policy-address"] = ipv4_sr_policy_address;
      }
  
      if(ipv6_sr_policy_address != nullptr)
      {
          _children["ipv6-sr-policy-address"] = ipv6_sr_policy_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "afi")
      {
          afi = value;
          afi.value_namespace = name_space;
          afi.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address = value;
          ipv4_address.value_namespace = name_space;
          ipv4_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address = value;
          ipv4_mcast_address.value_namespace = name_space;
          ipv4_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address = value;
          ipv4_label_address.value_namespace = name_space;
          ipv4_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address = value;
          ipv4_tunnel_address.value_namespace = name_space;
          ipv4_tunnel_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address = value;
          ipv4_mdt_address.value_namespace = name_space;
          ipv4_mdt_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address = value;
          ipv4vpn_address.value_namespace = name_space;
          ipv4vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress = value;
          ipv4vpna_mcastddress.value_namespace = name_space;
          ipv4vpna_mcastddress.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address = value;
          ipv6_address.value_namespace = name_space;
          ipv6_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address = value;
          ipv6_mcast_address.value_namespace = name_space;
          ipv6_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address = value;
          ipv6_label_address.value_namespace = name_space;
          ipv6_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address = value;
          ipv6vpn_address.value_namespace = name_space;
          ipv6vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address = value;
          ipv6vpn_mcast_address.value_namespace = name_space;
          ipv6vpn_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address = value;
          rt_constraint_address.value_namespace = name_space;
          rt_constraint_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address = value;
          ipv6mvpn_address.value_namespace = name_space;
          ipv6mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address = value;
          ipv4mvpn_address.value_namespace = name_space;
          ipv4mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address = value;
          l2vpn_evpn_address.value_namespace = name_space;
          l2vpn_evpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address = value;
          ls_ls_address.value_namespace = name_space;
          ls_ls_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address = value;
          ipv4_flowspec_address.value_namespace = name_space;
          ipv4_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address = value;
          ipv6_flowspec_address.value_namespace = name_space;
          ipv6_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address = value;
          ipv4vpn_flowspec_address.value_namespace = name_space;
          ipv4vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address = value;
          ipv6vpn_flowspec_address.value_namespace = name_space;
          ipv6vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "afi")
      {
          afi.yfilter = yfilter;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress.yfilter = yfilter;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address.yfilter = yfilter;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address.yfilter = yfilter;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address.yfilter = yfilter;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address.yfilter = yfilter;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-vpls-address" || name == "l2vpn-mspw-address" || name == "ipv4-sr-policy-address" || name == "ipv6-sr-policy-address" || name == "afi" || name == "ipv4-address" || name == "ipv4-mcast-address" || name == "ipv4-label-address" || name == "ipv4-tunnel-address" || name == "ipv4-mdt-address" || name == "ipv4vpn-address" || name == "ipv4vpna-mcastddress" || name == "ipv6-address" || name == "ipv6-mcast-address" || name == "ipv6-label-address" || name == "ipv6vpn-address" || name == "ipv6vpn-mcast-address" || name == "rt-constraint-address" || name == "ipv6mvpn-address" || name == "ipv4mvpn-address" || name == "l2vpn-evpn-address" || name == "ls-ls-address" || name == "ipv4-flowspec-address" || name == "ipv6-flowspec-address" || name == "ipv4vpn-flowspec-address" || name == "ipv6vpn-flowspec-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::L2vpnVplsAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-vpls-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::~L2vpnVplsAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-vpls-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::L2vpnMspwAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-mspw-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::~L2vpnMspwAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-mspw-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::Ipv4SrPolicyAddress()
      :
      ipv4_srpolicy_address{YType::str, "ipv4-srpolicy-address"}
  {
  
      yang_name = "ipv4-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::~Ipv4SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv4_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv4_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv4-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv4_srpolicy_address.is_set || is_set(ipv4_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv4_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address = value;
          ipv4_srpolicy_address.value_namespace = name_space;
          ipv4_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv4-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::Ipv6SrPolicyAddress()
      :
      ipv6_srpolicy_address{YType::str, "ipv6-srpolicy-address"}
  {
  
      yang_name = "ipv6-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::~Ipv6SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv6_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv6_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv6-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv6_srpolicy_address.is_set || is_set(ipv6_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv6_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address = value;
          ipv6_srpolicy_address.value_namespace = name_space;
          ipv6_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogInInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv6-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::MsgLogOutInfo()
      :
      is_item_configured{YType::boolean, "is-item-configured"}
          ,
      inheritance_chain(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain>())
  {
      inheritance_chain->parent = this;
  
      yang_name = "msg-log-out-info"; yang_parent_name = "af-independent-config"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::~MsgLogOutInfo()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::has_data() const
  {
      if (is_presence_container) return true;
      return is_item_configured.is_set
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(is_item_configured.yfilter)
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "msg-log-out-info";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (is_item_configured.is_set || is_set(is_item_configured.yfilter)) leaf_name_data.push_back(is_item_configured.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "inheritance-chain")
      {
          if(inheritance_chain == nullptr)
          {
              inheritance_chain = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain>();
          }
          return inheritance_chain;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(inheritance_chain != nullptr)
      {
          _children["inheritance-chain"] = inheritance_chain;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured = value;
          is_item_configured.value_namespace = name_space;
          is_item_configured.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "inheritance-chain" || name == "is-item-configured")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::InheritanceChain()
      :
      bgp_config_entid(this, {})
  {
  
      yang_name = "inheritance-chain"; yang_parent_name = "msg-log-out-info"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::~InheritanceChain()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::has_data() const
  {
      if (is_presence_container) return true;
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_data())
              return true;
      }
      return false;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::has_operation() const
  {
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_operation())
              return true;
      }
      return is_set(yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "inheritance-chain";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "bgp-config-entid")
      {
          auto ent_ = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid>();
          ent_->parent = this;
          bgp_config_entid.append(ent_);
          return ent_;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      count_ = 0;
      for (auto ent_ : bgp_config_entid.entities())
      {
          if(_children.find(ent_->get_segment_path()) == _children.end())
              _children[ent_->get_segment_path()] = ent_;
          else
              _children[ent_->get_segment_path()+count_++] = ent_;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::set_filter(const std::string & value_path, YFilter yfilter)
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "bgp-config-entid")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::BgpConfigEntid()
      :
      address_family_identifier{YType::uint8, "address-family-identifier"},
      configuration_type{YType::enumeration, "configuration-type"},
      group_name{YType::str, "group-name"}
          ,
      neighbor_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>())
  {
      neighbor_address->parent = this;
  
      yang_name = "bgp-config-entid"; yang_parent_name = "inheritance-chain"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::~BgpConfigEntid()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::has_data() const
  {
      if (is_presence_container) return true;
      return address_family_identifier.is_set
  	|| configuration_type.is_set
  	|| group_name.is_set
  	|| (neighbor_address !=  nullptr && neighbor_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(address_family_identifier.yfilter)
  	|| ydk::is_set(configuration_type.yfilter)
  	|| ydk::is_set(group_name.yfilter)
  	|| (neighbor_address !=  nullptr && neighbor_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "bgp-config-entid";
      path_buffer << "[" << get_ylist_key() << "]";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (address_family_identifier.is_set || is_set(address_family_identifier.yfilter)) leaf_name_data.push_back(address_family_identifier.get_name_leafdata());
      if (configuration_type.is_set || is_set(configuration_type.yfilter)) leaf_name_data.push_back(configuration_type.get_name_leafdata());
      if (group_name.is_set || is_set(group_name.yfilter)) leaf_name_data.push_back(group_name.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "neighbor-address")
      {
          if(neighbor_address == nullptr)
          {
              neighbor_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>();
          }
          return neighbor_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(neighbor_address != nullptr)
      {
          _children["neighbor-address"] = neighbor_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier = value;
          address_family_identifier.value_namespace = name_space;
          address_family_identifier.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "configuration-type")
      {
          configuration_type = value;
          configuration_type.value_namespace = name_space;
          configuration_type.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "group-name")
      {
          group_name = value;
          group_name.value_namespace = name_space;
          group_name.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier.yfilter = yfilter;
      }
      if(value_path == "configuration-type")
      {
          configuration_type.yfilter = yfilter;
      }
      if(value_path == "group-name")
      {
          group_name.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "neighbor-address" || name == "address-family-identifier" || name == "configuration-type" || name == "group-name")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::NeighborAddress()
      :
      afi{YType::enumeration, "afi"},
      ipv4_address{YType::str, "ipv4-address"},
      ipv4_mcast_address{YType::str, "ipv4-mcast-address"},
      ipv4_label_address{YType::str, "ipv4-label-address"},
      ipv4_tunnel_address{YType::str, "ipv4-tunnel-address"},
      ipv4_mdt_address{YType::str, "ipv4-mdt-address"},
      ipv4vpn_address{YType::str, "ipv4vpn-address"},
      ipv4vpna_mcastddress{YType::str, "ipv4vpna-mcastddress"},
      ipv6_address{YType::str, "ipv6-address"},
      ipv6_mcast_address{YType::str, "ipv6-mcast-address"},
      ipv6_label_address{YType::str, "ipv6-label-address"},
      ipv6vpn_address{YType::str, "ipv6vpn-address"},
      ipv6vpn_mcast_address{YType::str, "ipv6vpn-mcast-address"},
      rt_constraint_address{YType::str, "rt-constraint-address"},
      ipv6mvpn_address{YType::str, "ipv6mvpn-address"},
      ipv4mvpn_address{YType::str, "ipv4mvpn-address"},
      l2vpn_evpn_address{YType::str, "l2vpn-evpn-address"},
      ls_ls_address{YType::str, "ls-ls-address"},
      ipv4_flowspec_address{YType::str, "ipv4-flowspec-address"},
      ipv6_flowspec_address{YType::str, "ipv6-flowspec-address"},
      ipv4vpn_flowspec_address{YType::str, "ipv4vpn-flowspec-address"},
      ipv6vpn_flowspec_address{YType::str, "ipv6vpn-flowspec-address"}
          ,
      l2vpn_vpls_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>())
      , l2vpn_mspw_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>())
      , ipv4_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>())
      , ipv6_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>())
  {
      l2vpn_vpls_address->parent = this;
      l2vpn_mspw_address->parent = this;
      ipv4_sr_policy_address->parent = this;
      ipv6_sr_policy_address->parent = this;
  
      yang_name = "neighbor-address"; yang_parent_name = "bgp-config-entid"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::~NeighborAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_data() const
  {
      if (is_presence_container) return true;
      return afi.is_set
  	|| ipv4_address.is_set
  	|| ipv4_mcast_address.is_set
  	|| ipv4_label_address.is_set
  	|| ipv4_tunnel_address.is_set
  	|| ipv4_mdt_address.is_set
  	|| ipv4vpn_address.is_set
  	|| ipv4vpna_mcastddress.is_set
  	|| ipv6_address.is_set
  	|| ipv6_mcast_address.is_set
  	|| ipv6_label_address.is_set
  	|| ipv6vpn_address.is_set
  	|| ipv6vpn_mcast_address.is_set
  	|| rt_constraint_address.is_set
  	|| ipv6mvpn_address.is_set
  	|| ipv4mvpn_address.is_set
  	|| l2vpn_evpn_address.is_set
  	|| ls_ls_address.is_set
  	|| ipv4_flowspec_address.is_set
  	|| ipv6_flowspec_address.is_set
  	|| ipv4vpn_flowspec_address.is_set
  	|| ipv6vpn_flowspec_address.is_set
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_data())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_data())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_data())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(afi.yfilter)
  	|| ydk::is_set(ipv4_address.yfilter)
  	|| ydk::is_set(ipv4_mcast_address.yfilter)
  	|| ydk::is_set(ipv4_label_address.yfilter)
  	|| ydk::is_set(ipv4_tunnel_address.yfilter)
  	|| ydk::is_set(ipv4_mdt_address.yfilter)
  	|| ydk::is_set(ipv4vpn_address.yfilter)
  	|| ydk::is_set(ipv4vpna_mcastddress.yfilter)
  	|| ydk::is_set(ipv6_address.yfilter)
  	|| ydk::is_set(ipv6_mcast_address.yfilter)
  	|| ydk::is_set(ipv6_label_address.yfilter)
  	|| ydk::is_set(ipv6vpn_address.yfilter)
  	|| ydk::is_set(ipv6vpn_mcast_address.yfilter)
  	|| ydk::is_set(rt_constraint_address.yfilter)
  	|| ydk::is_set(ipv6mvpn_address.yfilter)
  	|| ydk::is_set(ipv4mvpn_address.yfilter)
  	|| ydk::is_set(l2vpn_evpn_address.yfilter)
  	|| ydk::is_set(ls_ls_address.yfilter)
  	|| ydk::is_set(ipv4_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6_flowspec_address.yfilter)
  	|| ydk::is_set(ipv4vpn_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6vpn_flowspec_address.yfilter)
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_operation())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_operation())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_operation())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "neighbor-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (afi.is_set || is_set(afi.yfilter)) leaf_name_data.push_back(afi.get_name_leafdata());
      if (ipv4_address.is_set || is_set(ipv4_address.yfilter)) leaf_name_data.push_back(ipv4_address.get_name_leafdata());
      if (ipv4_mcast_address.is_set || is_set(ipv4_mcast_address.yfilter)) leaf_name_data.push_back(ipv4_mcast_address.get_name_leafdata());
      if (ipv4_label_address.is_set || is_set(ipv4_label_address.yfilter)) leaf_name_data.push_back(ipv4_label_address.get_name_leafdata());
      if (ipv4_tunnel_address.is_set || is_set(ipv4_tunnel_address.yfilter)) leaf_name_data.push_back(ipv4_tunnel_address.get_name_leafdata());
      if (ipv4_mdt_address.is_set || is_set(ipv4_mdt_address.yfilter)) leaf_name_data.push_back(ipv4_mdt_address.get_name_leafdata());
      if (ipv4vpn_address.is_set || is_set(ipv4vpn_address.yfilter)) leaf_name_data.push_back(ipv4vpn_address.get_name_leafdata());
      if (ipv4vpna_mcastddress.is_set || is_set(ipv4vpna_mcastddress.yfilter)) leaf_name_data.push_back(ipv4vpna_mcastddress.get_name_leafdata());
      if (ipv6_address.is_set || is_set(ipv6_address.yfilter)) leaf_name_data.push_back(ipv6_address.get_name_leafdata());
      if (ipv6_mcast_address.is_set || is_set(ipv6_mcast_address.yfilter)) leaf_name_data.push_back(ipv6_mcast_address.get_name_leafdata());
      if (ipv6_label_address.is_set || is_set(ipv6_label_address.yfilter)) leaf_name_data.push_back(ipv6_label_address.get_name_leafdata());
      if (ipv6vpn_address.is_set || is_set(ipv6vpn_address.yfilter)) leaf_name_data.push_back(ipv6vpn_address.get_name_leafdata());
      if (ipv6vpn_mcast_address.is_set || is_set(ipv6vpn_mcast_address.yfilter)) leaf_name_data.push_back(ipv6vpn_mcast_address.get_name_leafdata());
      if (rt_constraint_address.is_set || is_set(rt_constraint_address.yfilter)) leaf_name_data.push_back(rt_constraint_address.get_name_leafdata());
      if (ipv6mvpn_address.is_set || is_set(ipv6mvpn_address.yfilter)) leaf_name_data.push_back(ipv6mvpn_address.get_name_leafdata());
      if (ipv4mvpn_address.is_set || is_set(ipv4mvpn_address.yfilter)) leaf_name_data.push_back(ipv4mvpn_address.get_name_leafdata());
      if (l2vpn_evpn_address.is_set || is_set(l2vpn_evpn_address.yfilter)) leaf_name_data.push_back(l2vpn_evpn_address.get_name_leafdata());
      if (ls_ls_address.is_set || is_set(ls_ls_address.yfilter)) leaf_name_data.push_back(ls_ls_address.get_name_leafdata());
      if (ipv4_flowspec_address.is_set || is_set(ipv4_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4_flowspec_address.get_name_leafdata());
      if (ipv6_flowspec_address.is_set || is_set(ipv6_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6_flowspec_address.get_name_leafdata());
      if (ipv4vpn_flowspec_address.is_set || is_set(ipv4vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4vpn_flowspec_address.get_name_leafdata());
      if (ipv6vpn_flowspec_address.is_set || is_set(ipv6vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6vpn_flowspec_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "l2vpn-vpls-address")
      {
          if(l2vpn_vpls_address == nullptr)
          {
              l2vpn_vpls_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>();
          }
          return l2vpn_vpls_address;
      }
  
      if(child_yang_name == "l2vpn-mspw-address")
      {
          if(l2vpn_mspw_address == nullptr)
          {
              l2vpn_mspw_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>();
          }
          return l2vpn_mspw_address;
      }
  
      if(child_yang_name == "ipv4-sr-policy-address")
      {
          if(ipv4_sr_policy_address == nullptr)
          {
              ipv4_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>();
          }
          return ipv4_sr_policy_address;
      }
  
      if(child_yang_name == "ipv6-sr-policy-address")
      {
          if(ipv6_sr_policy_address == nullptr)
          {
              ipv6_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>();
          }
          return ipv6_sr_policy_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(l2vpn_vpls_address != nullptr)
      {
          _children["l2vpn-vpls-address"] = l2vpn_vpls_address;
      }
  
      if(l2vpn_mspw_address != nullptr)
      {
          _children["l2vpn-mspw-address"] = l2vpn_mspw_address;
      }
  
      if(ipv4_sr_policy_address != nullptr)
      {
          _children["ipv4-sr-policy-address"] = ipv4_sr_policy_address;
      }
  
      if(ipv6_sr_policy_address != nullptr)
      {
          _children["ipv6-sr-policy-address"] = ipv6_sr_policy_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "afi")
      {
          afi = value;
          afi.value_namespace = name_space;
          afi.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address = value;
          ipv4_address.value_namespace = name_space;
          ipv4_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address = value;
          ipv4_mcast_address.value_namespace = name_space;
          ipv4_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address = value;
          ipv4_label_address.value_namespace = name_space;
          ipv4_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address = value;
          ipv4_tunnel_address.value_namespace = name_space;
          ipv4_tunnel_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address = value;
          ipv4_mdt_address.value_namespace = name_space;
          ipv4_mdt_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address = value;
          ipv4vpn_address.value_namespace = name_space;
          ipv4vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress = value;
          ipv4vpna_mcastddress.value_namespace = name_space;
          ipv4vpna_mcastddress.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address = value;
          ipv6_address.value_namespace = name_space;
          ipv6_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address = value;
          ipv6_mcast_address.value_namespace = name_space;
          ipv6_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address = value;
          ipv6_label_address.value_namespace = name_space;
          ipv6_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address = value;
          ipv6vpn_address.value_namespace = name_space;
          ipv6vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address = value;
          ipv6vpn_mcast_address.value_namespace = name_space;
          ipv6vpn_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address = value;
          rt_constraint_address.value_namespace = name_space;
          rt_constraint_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address = value;
          ipv6mvpn_address.value_namespace = name_space;
          ipv6mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address = value;
          ipv4mvpn_address.value_namespace = name_space;
          ipv4mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address = value;
          l2vpn_evpn_address.value_namespace = name_space;
          l2vpn_evpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address = value;
          ls_ls_address.value_namespace = name_space;
          ls_ls_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address = value;
          ipv4_flowspec_address.value_namespace = name_space;
          ipv4_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address = value;
          ipv6_flowspec_address.value_namespace = name_space;
          ipv6_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address = value;
          ipv4vpn_flowspec_address.value_namespace = name_space;
          ipv4vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address = value;
          ipv6vpn_flowspec_address.value_namespace = name_space;
          ipv6vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "afi")
      {
          afi.yfilter = yfilter;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress.yfilter = yfilter;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address.yfilter = yfilter;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address.yfilter = yfilter;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address.yfilter = yfilter;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address.yfilter = yfilter;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-vpls-address" || name == "l2vpn-mspw-address" || name == "ipv4-sr-policy-address" || name == "ipv6-sr-policy-address" || name == "afi" || name == "ipv4-address" || name == "ipv4-mcast-address" || name == "ipv4-label-address" || name == "ipv4-tunnel-address" || name == "ipv4-mdt-address" || name == "ipv4vpn-address" || name == "ipv4vpna-mcastddress" || name == "ipv6-address" || name == "ipv6-mcast-address" || name == "ipv6-label-address" || name == "ipv6vpn-address" || name == "ipv6vpn-mcast-address" || name == "rt-constraint-address" || name == "ipv6mvpn-address" || name == "ipv4mvpn-address" || name == "l2vpn-evpn-address" || name == "ls-ls-address" || name == "ipv4-flowspec-address" || name == "ipv6-flowspec-address" || name == "ipv4vpn-flowspec-address" || name == "ipv6vpn-flowspec-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::L2vpnVplsAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-vpls-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::~L2vpnVplsAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-vpls-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::L2vpnMspwAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-mspw-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::~L2vpnMspwAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-mspw-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::Ipv4SrPolicyAddress()
      :
      ipv4_srpolicy_address{YType::str, "ipv4-srpolicy-address"}
  {
  
      yang_name = "ipv4-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::~Ipv4SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv4_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv4_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv4-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv4_srpolicy_address.is_set || is_set(ipv4_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv4_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address = value;
          ipv4_srpolicy_address.value_namespace = name_space;
          ipv4_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv4-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::Ipv6SrPolicyAddress()
      :
      ipv6_srpolicy_address{YType::str, "ipv6-srpolicy-address"}
  {
  
      yang_name = "ipv6-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::~Ipv6SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv6_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv6_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv6-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv6_srpolicy_address.is_set || is_set(ipv6_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv6_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address = value;
          ipv6_srpolicy_address.value_namespace = name_space;
          ipv6_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::MsgLogOutInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv6-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::UpdateSourceInfo()
      :
      is_item_configured{YType::boolean, "is-item-configured"}
          ,
      inheritance_chain(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain>())
  {
      inheritance_chain->parent = this;
  
      yang_name = "update-source-info"; yang_parent_name = "af-independent-config"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::~UpdateSourceInfo()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::has_data() const
  {
      if (is_presence_container) return true;
      return is_item_configured.is_set
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(is_item_configured.yfilter)
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "update-source-info";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (is_item_configured.is_set || is_set(is_item_configured.yfilter)) leaf_name_data.push_back(is_item_configured.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "inheritance-chain")
      {
          if(inheritance_chain == nullptr)
          {
              inheritance_chain = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain>();
          }
          return inheritance_chain;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(inheritance_chain != nullptr)
      {
          _children["inheritance-chain"] = inheritance_chain;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured = value;
          is_item_configured.value_namespace = name_space;
          is_item_configured.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "inheritance-chain" || name == "is-item-configured")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::InheritanceChain()
      :
      bgp_config_entid(this, {})
  {
  
      yang_name = "inheritance-chain"; yang_parent_name = "update-source-info"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::~InheritanceChain()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::has_data() const
  {
      if (is_presence_container) return true;
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_data())
              return true;
      }
      return false;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::has_operation() const
  {
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_operation())
              return true;
      }
      return is_set(yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "inheritance-chain";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "bgp-config-entid")
      {
          auto ent_ = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid>();
          ent_->parent = this;
          bgp_config_entid.append(ent_);
          return ent_;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      count_ = 0;
      for (auto ent_ : bgp_config_entid.entities())
      {
          if(_children.find(ent_->get_segment_path()) == _children.end())
              _children[ent_->get_segment_path()] = ent_;
          else
              _children[ent_->get_segment_path()+count_++] = ent_;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::set_filter(const std::string & value_path, YFilter yfilter)
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "bgp-config-entid")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::BgpConfigEntid()
      :
      address_family_identifier{YType::uint8, "address-family-identifier"},
      configuration_type{YType::enumeration, "configuration-type"},
      group_name{YType::str, "group-name"}
          ,
      neighbor_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>())
  {
      neighbor_address->parent = this;
  
      yang_name = "bgp-config-entid"; yang_parent_name = "inheritance-chain"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::~BgpConfigEntid()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::has_data() const
  {
      if (is_presence_container) return true;
      return address_family_identifier.is_set
  	|| configuration_type.is_set
  	|| group_name.is_set
  	|| (neighbor_address !=  nullptr && neighbor_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(address_family_identifier.yfilter)
  	|| ydk::is_set(configuration_type.yfilter)
  	|| ydk::is_set(group_name.yfilter)
  	|| (neighbor_address !=  nullptr && neighbor_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "bgp-config-entid";
      path_buffer << "[" << get_ylist_key() << "]";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (address_family_identifier.is_set || is_set(address_family_identifier.yfilter)) leaf_name_data.push_back(address_family_identifier.get_name_leafdata());
      if (configuration_type.is_set || is_set(configuration_type.yfilter)) leaf_name_data.push_back(configuration_type.get_name_leafdata());
      if (group_name.is_set || is_set(group_name.yfilter)) leaf_name_data.push_back(group_name.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "neighbor-address")
      {
          if(neighbor_address == nullptr)
          {
              neighbor_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>();
          }
          return neighbor_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(neighbor_address != nullptr)
      {
          _children["neighbor-address"] = neighbor_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier = value;
          address_family_identifier.value_namespace = name_space;
          address_family_identifier.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "configuration-type")
      {
          configuration_type = value;
          configuration_type.value_namespace = name_space;
          configuration_type.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "group-name")
      {
          group_name = value;
          group_name.value_namespace = name_space;
          group_name.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier.yfilter = yfilter;
      }
      if(value_path == "configuration-type")
      {
          configuration_type.yfilter = yfilter;
      }
      if(value_path == "group-name")
      {
          group_name.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "neighbor-address" || name == "address-family-identifier" || name == "configuration-type" || name == "group-name")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::NeighborAddress()
      :
      afi{YType::enumeration, "afi"},
      ipv4_address{YType::str, "ipv4-address"},
      ipv4_mcast_address{YType::str, "ipv4-mcast-address"},
      ipv4_label_address{YType::str, "ipv4-label-address"},
      ipv4_tunnel_address{YType::str, "ipv4-tunnel-address"},
      ipv4_mdt_address{YType::str, "ipv4-mdt-address"},
      ipv4vpn_address{YType::str, "ipv4vpn-address"},
      ipv4vpna_mcastddress{YType::str, "ipv4vpna-mcastddress"},
      ipv6_address{YType::str, "ipv6-address"},
      ipv6_mcast_address{YType::str, "ipv6-mcast-address"},
      ipv6_label_address{YType::str, "ipv6-label-address"},
      ipv6vpn_address{YType::str, "ipv6vpn-address"},
      ipv6vpn_mcast_address{YType::str, "ipv6vpn-mcast-address"},
      rt_constraint_address{YType::str, "rt-constraint-address"},
      ipv6mvpn_address{YType::str, "ipv6mvpn-address"},
      ipv4mvpn_address{YType::str, "ipv4mvpn-address"},
      l2vpn_evpn_address{YType::str, "l2vpn-evpn-address"},
      ls_ls_address{YType::str, "ls-ls-address"},
      ipv4_flowspec_address{YType::str, "ipv4-flowspec-address"},
      ipv6_flowspec_address{YType::str, "ipv6-flowspec-address"},
      ipv4vpn_flowspec_address{YType::str, "ipv4vpn-flowspec-address"},
      ipv6vpn_flowspec_address{YType::str, "ipv6vpn-flowspec-address"}
          ,
      l2vpn_vpls_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>())
      , l2vpn_mspw_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>())
      , ipv4_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>())
      , ipv6_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>())
  {
      l2vpn_vpls_address->parent = this;
      l2vpn_mspw_address->parent = this;
      ipv4_sr_policy_address->parent = this;
      ipv6_sr_policy_address->parent = this;
  
      yang_name = "neighbor-address"; yang_parent_name = "bgp-config-entid"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::~NeighborAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_data() const
  {
      if (is_presence_container) return true;
      return afi.is_set
  	|| ipv4_address.is_set
  	|| ipv4_mcast_address.is_set
  	|| ipv4_label_address.is_set
  	|| ipv4_tunnel_address.is_set
  	|| ipv4_mdt_address.is_set
  	|| ipv4vpn_address.is_set
  	|| ipv4vpna_mcastddress.is_set
  	|| ipv6_address.is_set
  	|| ipv6_mcast_address.is_set
  	|| ipv6_label_address.is_set
  	|| ipv6vpn_address.is_set
  	|| ipv6vpn_mcast_address.is_set
  	|| rt_constraint_address.is_set
  	|| ipv6mvpn_address.is_set
  	|| ipv4mvpn_address.is_set
  	|| l2vpn_evpn_address.is_set
  	|| ls_ls_address.is_set
  	|| ipv4_flowspec_address.is_set
  	|| ipv6_flowspec_address.is_set
  	|| ipv4vpn_flowspec_address.is_set
  	|| ipv6vpn_flowspec_address.is_set
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_data())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_data())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_data())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(afi.yfilter)
  	|| ydk::is_set(ipv4_address.yfilter)
  	|| ydk::is_set(ipv4_mcast_address.yfilter)
  	|| ydk::is_set(ipv4_label_address.yfilter)
  	|| ydk::is_set(ipv4_tunnel_address.yfilter)
  	|| ydk::is_set(ipv4_mdt_address.yfilter)
  	|| ydk::is_set(ipv4vpn_address.yfilter)
  	|| ydk::is_set(ipv4vpna_mcastddress.yfilter)
  	|| ydk::is_set(ipv6_address.yfilter)
  	|| ydk::is_set(ipv6_mcast_address.yfilter)
  	|| ydk::is_set(ipv6_label_address.yfilter)
  	|| ydk::is_set(ipv6vpn_address.yfilter)
  	|| ydk::is_set(ipv6vpn_mcast_address.yfilter)
  	|| ydk::is_set(rt_constraint_address.yfilter)
  	|| ydk::is_set(ipv6mvpn_address.yfilter)
  	|| ydk::is_set(ipv4mvpn_address.yfilter)
  	|| ydk::is_set(l2vpn_evpn_address.yfilter)
  	|| ydk::is_set(ls_ls_address.yfilter)
  	|| ydk::is_set(ipv4_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6_flowspec_address.yfilter)
  	|| ydk::is_set(ipv4vpn_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6vpn_flowspec_address.yfilter)
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_operation())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_operation())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_operation())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "neighbor-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (afi.is_set || is_set(afi.yfilter)) leaf_name_data.push_back(afi.get_name_leafdata());
      if (ipv4_address.is_set || is_set(ipv4_address.yfilter)) leaf_name_data.push_back(ipv4_address.get_name_leafdata());
      if (ipv4_mcast_address.is_set || is_set(ipv4_mcast_address.yfilter)) leaf_name_data.push_back(ipv4_mcast_address.get_name_leafdata());
      if (ipv4_label_address.is_set || is_set(ipv4_label_address.yfilter)) leaf_name_data.push_back(ipv4_label_address.get_name_leafdata());
      if (ipv4_tunnel_address.is_set || is_set(ipv4_tunnel_address.yfilter)) leaf_name_data.push_back(ipv4_tunnel_address.get_name_leafdata());
      if (ipv4_mdt_address.is_set || is_set(ipv4_mdt_address.yfilter)) leaf_name_data.push_back(ipv4_mdt_address.get_name_leafdata());
      if (ipv4vpn_address.is_set || is_set(ipv4vpn_address.yfilter)) leaf_name_data.push_back(ipv4vpn_address.get_name_leafdata());
      if (ipv4vpna_mcastddress.is_set || is_set(ipv4vpna_mcastddress.yfilter)) leaf_name_data.push_back(ipv4vpna_mcastddress.get_name_leafdata());
      if (ipv6_address.is_set || is_set(ipv6_address.yfilter)) leaf_name_data.push_back(ipv6_address.get_name_leafdata());
      if (ipv6_mcast_address.is_set || is_set(ipv6_mcast_address.yfilter)) leaf_name_data.push_back(ipv6_mcast_address.get_name_leafdata());
      if (ipv6_label_address.is_set || is_set(ipv6_label_address.yfilter)) leaf_name_data.push_back(ipv6_label_address.get_name_leafdata());
      if (ipv6vpn_address.is_set || is_set(ipv6vpn_address.yfilter)) leaf_name_data.push_back(ipv6vpn_address.get_name_leafdata());
      if (ipv6vpn_mcast_address.is_set || is_set(ipv6vpn_mcast_address.yfilter)) leaf_name_data.push_back(ipv6vpn_mcast_address.get_name_leafdata());
      if (rt_constraint_address.is_set || is_set(rt_constraint_address.yfilter)) leaf_name_data.push_back(rt_constraint_address.get_name_leafdata());
      if (ipv6mvpn_address.is_set || is_set(ipv6mvpn_address.yfilter)) leaf_name_data.push_back(ipv6mvpn_address.get_name_leafdata());
      if (ipv4mvpn_address.is_set || is_set(ipv4mvpn_address.yfilter)) leaf_name_data.push_back(ipv4mvpn_address.get_name_leafdata());
      if (l2vpn_evpn_address.is_set || is_set(l2vpn_evpn_address.yfilter)) leaf_name_data.push_back(l2vpn_evpn_address.get_name_leafdata());
      if (ls_ls_address.is_set || is_set(ls_ls_address.yfilter)) leaf_name_data.push_back(ls_ls_address.get_name_leafdata());
      if (ipv4_flowspec_address.is_set || is_set(ipv4_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4_flowspec_address.get_name_leafdata());
      if (ipv6_flowspec_address.is_set || is_set(ipv6_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6_flowspec_address.get_name_leafdata());
      if (ipv4vpn_flowspec_address.is_set || is_set(ipv4vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4vpn_flowspec_address.get_name_leafdata());
      if (ipv6vpn_flowspec_address.is_set || is_set(ipv6vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6vpn_flowspec_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "l2vpn-vpls-address")
      {
          if(l2vpn_vpls_address == nullptr)
          {
              l2vpn_vpls_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>();
          }
          return l2vpn_vpls_address;
      }
  
      if(child_yang_name == "l2vpn-mspw-address")
      {
          if(l2vpn_mspw_address == nullptr)
          {
              l2vpn_mspw_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>();
          }
          return l2vpn_mspw_address;
      }
  
      if(child_yang_name == "ipv4-sr-policy-address")
      {
          if(ipv4_sr_policy_address == nullptr)
          {
              ipv4_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>();
          }
          return ipv4_sr_policy_address;
      }
  
      if(child_yang_name == "ipv6-sr-policy-address")
      {
          if(ipv6_sr_policy_address == nullptr)
          {
              ipv6_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>();
          }
          return ipv6_sr_policy_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(l2vpn_vpls_address != nullptr)
      {
          _children["l2vpn-vpls-address"] = l2vpn_vpls_address;
      }
  
      if(l2vpn_mspw_address != nullptr)
      {
          _children["l2vpn-mspw-address"] = l2vpn_mspw_address;
      }
  
      if(ipv4_sr_policy_address != nullptr)
      {
          _children["ipv4-sr-policy-address"] = ipv4_sr_policy_address;
      }
  
      if(ipv6_sr_policy_address != nullptr)
      {
          _children["ipv6-sr-policy-address"] = ipv6_sr_policy_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "afi")
      {
          afi = value;
          afi.value_namespace = name_space;
          afi.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address = value;
          ipv4_address.value_namespace = name_space;
          ipv4_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address = value;
          ipv4_mcast_address.value_namespace = name_space;
          ipv4_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address = value;
          ipv4_label_address.value_namespace = name_space;
          ipv4_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address = value;
          ipv4_tunnel_address.value_namespace = name_space;
          ipv4_tunnel_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address = value;
          ipv4_mdt_address.value_namespace = name_space;
          ipv4_mdt_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address = value;
          ipv4vpn_address.value_namespace = name_space;
          ipv4vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress = value;
          ipv4vpna_mcastddress.value_namespace = name_space;
          ipv4vpna_mcastddress.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address = value;
          ipv6_address.value_namespace = name_space;
          ipv6_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address = value;
          ipv6_mcast_address.value_namespace = name_space;
          ipv6_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address = value;
          ipv6_label_address.value_namespace = name_space;
          ipv6_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address = value;
          ipv6vpn_address.value_namespace = name_space;
          ipv6vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address = value;
          ipv6vpn_mcast_address.value_namespace = name_space;
          ipv6vpn_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address = value;
          rt_constraint_address.value_namespace = name_space;
          rt_constraint_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address = value;
          ipv6mvpn_address.value_namespace = name_space;
          ipv6mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address = value;
          ipv4mvpn_address.value_namespace = name_space;
          ipv4mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address = value;
          l2vpn_evpn_address.value_namespace = name_space;
          l2vpn_evpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address = value;
          ls_ls_address.value_namespace = name_space;
          ls_ls_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address = value;
          ipv4_flowspec_address.value_namespace = name_space;
          ipv4_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address = value;
          ipv6_flowspec_address.value_namespace = name_space;
          ipv6_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address = value;
          ipv4vpn_flowspec_address.value_namespace = name_space;
          ipv4vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address = value;
          ipv6vpn_flowspec_address.value_namespace = name_space;
          ipv6vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "afi")
      {
          afi.yfilter = yfilter;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress.yfilter = yfilter;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address.yfilter = yfilter;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address.yfilter = yfilter;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address.yfilter = yfilter;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address.yfilter = yfilter;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-vpls-address" || name == "l2vpn-mspw-address" || name == "ipv4-sr-policy-address" || name == "ipv6-sr-policy-address" || name == "afi" || name == "ipv4-address" || name == "ipv4-mcast-address" || name == "ipv4-label-address" || name == "ipv4-tunnel-address" || name == "ipv4-mdt-address" || name == "ipv4vpn-address" || name == "ipv4vpna-mcastddress" || name == "ipv6-address" || name == "ipv6-mcast-address" || name == "ipv6-label-address" || name == "ipv6vpn-address" || name == "ipv6vpn-mcast-address" || name == "rt-constraint-address" || name == "ipv6mvpn-address" || name == "ipv4mvpn-address" || name == "l2vpn-evpn-address" || name == "ls-ls-address" || name == "ipv4-flowspec-address" || name == "ipv6-flowspec-address" || name == "ipv4vpn-flowspec-address" || name == "ipv6vpn-flowspec-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::L2vpnVplsAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-vpls-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::~L2vpnVplsAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-vpls-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::L2vpnMspwAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-mspw-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::~L2vpnMspwAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-mspw-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::Ipv4SrPolicyAddress()
      :
      ipv4_srpolicy_address{YType::str, "ipv4-srpolicy-address"}
  {
  
      yang_name = "ipv4-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::~Ipv4SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv4_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv4_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv4-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv4_srpolicy_address.is_set || is_set(ipv4_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv4_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address = value;
          ipv4_srpolicy_address.value_namespace = name_space;
          ipv4_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv4-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::Ipv6SrPolicyAddress()
      :
      ipv6_srpolicy_address{YType::str, "ipv6-srpolicy-address"}
  {
  
      yang_name = "ipv6-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::~Ipv6SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv6_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv6_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv6-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv6_srpolicy_address.is_set || is_set(ipv6_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv6_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address = value;
          ipv6_srpolicy_address.value_namespace = name_space;
          ipv6_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::UpdateSourceInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv6-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::DmzLinkBandwidthInfo()
      :
      is_item_configured{YType::boolean, "is-item-configured"}
          ,
      inheritance_chain(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain>())
  {
      inheritance_chain->parent = this;
  
      yang_name = "dmz-link-bandwidth-info"; yang_parent_name = "af-independent-config"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::~DmzLinkBandwidthInfo()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::has_data() const
  {
      if (is_presence_container) return true;
      return is_item_configured.is_set
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(is_item_configured.yfilter)
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "dmz-link-bandwidth-info";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (is_item_configured.is_set || is_set(is_item_configured.yfilter)) leaf_name_data.push_back(is_item_configured.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "inheritance-chain")
      {
          if(inheritance_chain == nullptr)
          {
              inheritance_chain = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain>();
          }
          return inheritance_chain;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(inheritance_chain != nullptr)
      {
          _children["inheritance-chain"] = inheritance_chain;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured = value;
          is_item_configured.value_namespace = name_space;
          is_item_configured.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "inheritance-chain" || name == "is-item-configured")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::InheritanceChain()
      :
      bgp_config_entid(this, {})
  {
  
      yang_name = "inheritance-chain"; yang_parent_name = "dmz-link-bandwidth-info"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::~InheritanceChain()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::has_data() const
  {
      if (is_presence_container) return true;
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_data())
              return true;
      }
      return false;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::has_operation() const
  {
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_operation())
              return true;
      }
      return is_set(yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "inheritance-chain";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "bgp-config-entid")
      {
          auto ent_ = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid>();
          ent_->parent = this;
          bgp_config_entid.append(ent_);
          return ent_;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      count_ = 0;
      for (auto ent_ : bgp_config_entid.entities())
      {
          if(_children.find(ent_->get_segment_path()) == _children.end())
              _children[ent_->get_segment_path()] = ent_;
          else
              _children[ent_->get_segment_path()+count_++] = ent_;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::set_filter(const std::string & value_path, YFilter yfilter)
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "bgp-config-entid")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::BgpConfigEntid()
      :
      address_family_identifier{YType::uint8, "address-family-identifier"},
      configuration_type{YType::enumeration, "configuration-type"},
      group_name{YType::str, "group-name"}
          ,
      neighbor_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>())
  {
      neighbor_address->parent = this;
  
      yang_name = "bgp-config-entid"; yang_parent_name = "inheritance-chain"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::~BgpConfigEntid()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::has_data() const
  {
      if (is_presence_container) return true;
      return address_family_identifier.is_set
  	|| configuration_type.is_set
  	|| group_name.is_set
  	|| (neighbor_address !=  nullptr && neighbor_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(address_family_identifier.yfilter)
  	|| ydk::is_set(configuration_type.yfilter)
  	|| ydk::is_set(group_name.yfilter)
  	|| (neighbor_address !=  nullptr && neighbor_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "bgp-config-entid";
      path_buffer << "[" << get_ylist_key() << "]";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (address_family_identifier.is_set || is_set(address_family_identifier.yfilter)) leaf_name_data.push_back(address_family_identifier.get_name_leafdata());
      if (configuration_type.is_set || is_set(configuration_type.yfilter)) leaf_name_data.push_back(configuration_type.get_name_leafdata());
      if (group_name.is_set || is_set(group_name.yfilter)) leaf_name_data.push_back(group_name.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "neighbor-address")
      {
          if(neighbor_address == nullptr)
          {
              neighbor_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress>();
          }
          return neighbor_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(neighbor_address != nullptr)
      {
          _children["neighbor-address"] = neighbor_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier = value;
          address_family_identifier.value_namespace = name_space;
          address_family_identifier.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "configuration-type")
      {
          configuration_type = value;
          configuration_type.value_namespace = name_space;
          configuration_type.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "group-name")
      {
          group_name = value;
          group_name.value_namespace = name_space;
          group_name.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "address-family-identifier")
      {
          address_family_identifier.yfilter = yfilter;
      }
      if(value_path == "configuration-type")
      {
          configuration_type.yfilter = yfilter;
      }
      if(value_path == "group-name")
      {
          group_name.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "neighbor-address" || name == "address-family-identifier" || name == "configuration-type" || name == "group-name")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::NeighborAddress()
      :
      afi{YType::enumeration, "afi"},
      ipv4_address{YType::str, "ipv4-address"},
      ipv4_mcast_address{YType::str, "ipv4-mcast-address"},
      ipv4_label_address{YType::str, "ipv4-label-address"},
      ipv4_tunnel_address{YType::str, "ipv4-tunnel-address"},
      ipv4_mdt_address{YType::str, "ipv4-mdt-address"},
      ipv4vpn_address{YType::str, "ipv4vpn-address"},
      ipv4vpna_mcastddress{YType::str, "ipv4vpna-mcastddress"},
      ipv6_address{YType::str, "ipv6-address"},
      ipv6_mcast_address{YType::str, "ipv6-mcast-address"},
      ipv6_label_address{YType::str, "ipv6-label-address"},
      ipv6vpn_address{YType::str, "ipv6vpn-address"},
      ipv6vpn_mcast_address{YType::str, "ipv6vpn-mcast-address"},
      rt_constraint_address{YType::str, "rt-constraint-address"},
      ipv6mvpn_address{YType::str, "ipv6mvpn-address"},
      ipv4mvpn_address{YType::str, "ipv4mvpn-address"},
      l2vpn_evpn_address{YType::str, "l2vpn-evpn-address"},
      ls_ls_address{YType::str, "ls-ls-address"},
      ipv4_flowspec_address{YType::str, "ipv4-flowspec-address"},
      ipv6_flowspec_address{YType::str, "ipv6-flowspec-address"},
      ipv4vpn_flowspec_address{YType::str, "ipv4vpn-flowspec-address"},
      ipv6vpn_flowspec_address{YType::str, "ipv6vpn-flowspec-address"}
          ,
      l2vpn_vpls_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>())
      , l2vpn_mspw_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>())
      , ipv4_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>())
      , ipv6_sr_policy_address(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>())
  {
      l2vpn_vpls_address->parent = this;
      l2vpn_mspw_address->parent = this;
      ipv4_sr_policy_address->parent = this;
      ipv6_sr_policy_address->parent = this;
  
      yang_name = "neighbor-address"; yang_parent_name = "bgp-config-entid"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::~NeighborAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_data() const
  {
      if (is_presence_container) return true;
      return afi.is_set
  	|| ipv4_address.is_set
  	|| ipv4_mcast_address.is_set
  	|| ipv4_label_address.is_set
  	|| ipv4_tunnel_address.is_set
  	|| ipv4_mdt_address.is_set
  	|| ipv4vpn_address.is_set
  	|| ipv4vpna_mcastddress.is_set
  	|| ipv6_address.is_set
  	|| ipv6_mcast_address.is_set
  	|| ipv6_label_address.is_set
  	|| ipv6vpn_address.is_set
  	|| ipv6vpn_mcast_address.is_set
  	|| rt_constraint_address.is_set
  	|| ipv6mvpn_address.is_set
  	|| ipv4mvpn_address.is_set
  	|| l2vpn_evpn_address.is_set
  	|| ls_ls_address.is_set
  	|| ipv4_flowspec_address.is_set
  	|| ipv6_flowspec_address.is_set
  	|| ipv4vpn_flowspec_address.is_set
  	|| ipv6vpn_flowspec_address.is_set
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_data())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_data())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_data())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(afi.yfilter)
  	|| ydk::is_set(ipv4_address.yfilter)
  	|| ydk::is_set(ipv4_mcast_address.yfilter)
  	|| ydk::is_set(ipv4_label_address.yfilter)
  	|| ydk::is_set(ipv4_tunnel_address.yfilter)
  	|| ydk::is_set(ipv4_mdt_address.yfilter)
  	|| ydk::is_set(ipv4vpn_address.yfilter)
  	|| ydk::is_set(ipv4vpna_mcastddress.yfilter)
  	|| ydk::is_set(ipv6_address.yfilter)
  	|| ydk::is_set(ipv6_mcast_address.yfilter)
  	|| ydk::is_set(ipv6_label_address.yfilter)
  	|| ydk::is_set(ipv6vpn_address.yfilter)
  	|| ydk::is_set(ipv6vpn_mcast_address.yfilter)
  	|| ydk::is_set(rt_constraint_address.yfilter)
  	|| ydk::is_set(ipv6mvpn_address.yfilter)
  	|| ydk::is_set(ipv4mvpn_address.yfilter)
  	|| ydk::is_set(l2vpn_evpn_address.yfilter)
  	|| ydk::is_set(ls_ls_address.yfilter)
  	|| ydk::is_set(ipv4_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6_flowspec_address.yfilter)
  	|| ydk::is_set(ipv4vpn_flowspec_address.yfilter)
  	|| ydk::is_set(ipv6vpn_flowspec_address.yfilter)
  	|| (l2vpn_vpls_address !=  nullptr && l2vpn_vpls_address->has_operation())
  	|| (l2vpn_mspw_address !=  nullptr && l2vpn_mspw_address->has_operation())
  	|| (ipv4_sr_policy_address !=  nullptr && ipv4_sr_policy_address->has_operation())
  	|| (ipv6_sr_policy_address !=  nullptr && ipv6_sr_policy_address->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "neighbor-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (afi.is_set || is_set(afi.yfilter)) leaf_name_data.push_back(afi.get_name_leafdata());
      if (ipv4_address.is_set || is_set(ipv4_address.yfilter)) leaf_name_data.push_back(ipv4_address.get_name_leafdata());
      if (ipv4_mcast_address.is_set || is_set(ipv4_mcast_address.yfilter)) leaf_name_data.push_back(ipv4_mcast_address.get_name_leafdata());
      if (ipv4_label_address.is_set || is_set(ipv4_label_address.yfilter)) leaf_name_data.push_back(ipv4_label_address.get_name_leafdata());
      if (ipv4_tunnel_address.is_set || is_set(ipv4_tunnel_address.yfilter)) leaf_name_data.push_back(ipv4_tunnel_address.get_name_leafdata());
      if (ipv4_mdt_address.is_set || is_set(ipv4_mdt_address.yfilter)) leaf_name_data.push_back(ipv4_mdt_address.get_name_leafdata());
      if (ipv4vpn_address.is_set || is_set(ipv4vpn_address.yfilter)) leaf_name_data.push_back(ipv4vpn_address.get_name_leafdata());
      if (ipv4vpna_mcastddress.is_set || is_set(ipv4vpna_mcastddress.yfilter)) leaf_name_data.push_back(ipv4vpna_mcastddress.get_name_leafdata());
      if (ipv6_address.is_set || is_set(ipv6_address.yfilter)) leaf_name_data.push_back(ipv6_address.get_name_leafdata());
      if (ipv6_mcast_address.is_set || is_set(ipv6_mcast_address.yfilter)) leaf_name_data.push_back(ipv6_mcast_address.get_name_leafdata());
      if (ipv6_label_address.is_set || is_set(ipv6_label_address.yfilter)) leaf_name_data.push_back(ipv6_label_address.get_name_leafdata());
      if (ipv6vpn_address.is_set || is_set(ipv6vpn_address.yfilter)) leaf_name_data.push_back(ipv6vpn_address.get_name_leafdata());
      if (ipv6vpn_mcast_address.is_set || is_set(ipv6vpn_mcast_address.yfilter)) leaf_name_data.push_back(ipv6vpn_mcast_address.get_name_leafdata());
      if (rt_constraint_address.is_set || is_set(rt_constraint_address.yfilter)) leaf_name_data.push_back(rt_constraint_address.get_name_leafdata());
      if (ipv6mvpn_address.is_set || is_set(ipv6mvpn_address.yfilter)) leaf_name_data.push_back(ipv6mvpn_address.get_name_leafdata());
      if (ipv4mvpn_address.is_set || is_set(ipv4mvpn_address.yfilter)) leaf_name_data.push_back(ipv4mvpn_address.get_name_leafdata());
      if (l2vpn_evpn_address.is_set || is_set(l2vpn_evpn_address.yfilter)) leaf_name_data.push_back(l2vpn_evpn_address.get_name_leafdata());
      if (ls_ls_address.is_set || is_set(ls_ls_address.yfilter)) leaf_name_data.push_back(ls_ls_address.get_name_leafdata());
      if (ipv4_flowspec_address.is_set || is_set(ipv4_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4_flowspec_address.get_name_leafdata());
      if (ipv6_flowspec_address.is_set || is_set(ipv6_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6_flowspec_address.get_name_leafdata());
      if (ipv4vpn_flowspec_address.is_set || is_set(ipv4vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv4vpn_flowspec_address.get_name_leafdata());
      if (ipv6vpn_flowspec_address.is_set || is_set(ipv6vpn_flowspec_address.yfilter)) leaf_name_data.push_back(ipv6vpn_flowspec_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "l2vpn-vpls-address")
      {
          if(l2vpn_vpls_address == nullptr)
          {
              l2vpn_vpls_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress>();
          }
          return l2vpn_vpls_address;
      }
  
      if(child_yang_name == "l2vpn-mspw-address")
      {
          if(l2vpn_mspw_address == nullptr)
          {
              l2vpn_mspw_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress>();
          }
          return l2vpn_mspw_address;
      }
  
      if(child_yang_name == "ipv4-sr-policy-address")
      {
          if(ipv4_sr_policy_address == nullptr)
          {
              ipv4_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress>();
          }
          return ipv4_sr_policy_address;
      }
  
      if(child_yang_name == "ipv6-sr-policy-address")
      {
          if(ipv6_sr_policy_address == nullptr)
          {
              ipv6_sr_policy_address = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress>();
          }
          return ipv6_sr_policy_address;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(l2vpn_vpls_address != nullptr)
      {
          _children["l2vpn-vpls-address"] = l2vpn_vpls_address;
      }
  
      if(l2vpn_mspw_address != nullptr)
      {
          _children["l2vpn-mspw-address"] = l2vpn_mspw_address;
      }
  
      if(ipv4_sr_policy_address != nullptr)
      {
          _children["ipv4-sr-policy-address"] = ipv4_sr_policy_address;
      }
  
      if(ipv6_sr_policy_address != nullptr)
      {
          _children["ipv6-sr-policy-address"] = ipv6_sr_policy_address;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "afi")
      {
          afi = value;
          afi.value_namespace = name_space;
          afi.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address = value;
          ipv4_address.value_namespace = name_space;
          ipv4_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address = value;
          ipv4_mcast_address.value_namespace = name_space;
          ipv4_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address = value;
          ipv4_label_address.value_namespace = name_space;
          ipv4_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address = value;
          ipv4_tunnel_address.value_namespace = name_space;
          ipv4_tunnel_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address = value;
          ipv4_mdt_address.value_namespace = name_space;
          ipv4_mdt_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address = value;
          ipv4vpn_address.value_namespace = name_space;
          ipv4vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress = value;
          ipv4vpna_mcastddress.value_namespace = name_space;
          ipv4vpna_mcastddress.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address = value;
          ipv6_address.value_namespace = name_space;
          ipv6_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address = value;
          ipv6_mcast_address.value_namespace = name_space;
          ipv6_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address = value;
          ipv6_label_address.value_namespace = name_space;
          ipv6_label_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address = value;
          ipv6vpn_address.value_namespace = name_space;
          ipv6vpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address = value;
          ipv6vpn_mcast_address.value_namespace = name_space;
          ipv6vpn_mcast_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address = value;
          rt_constraint_address.value_namespace = name_space;
          rt_constraint_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address = value;
          ipv6mvpn_address.value_namespace = name_space;
          ipv6mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address = value;
          ipv4mvpn_address.value_namespace = name_space;
          ipv4mvpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address = value;
          l2vpn_evpn_address.value_namespace = name_space;
          l2vpn_evpn_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address = value;
          ls_ls_address.value_namespace = name_space;
          ls_ls_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address = value;
          ipv4_flowspec_address.value_namespace = name_space;
          ipv4_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address = value;
          ipv6_flowspec_address.value_namespace = name_space;
          ipv6_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address = value;
          ipv4vpn_flowspec_address.value_namespace = name_space;
          ipv4vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address = value;
          ipv6vpn_flowspec_address.value_namespace = name_space;
          ipv6vpn_flowspec_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "afi")
      {
          afi.yfilter = yfilter;
      }
      if(value_path == "ipv4-address")
      {
          ipv4_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mcast-address")
      {
          ipv4_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-label-address")
      {
          ipv4_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-tunnel-address")
      {
          ipv4_tunnel_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-mdt-address")
      {
          ipv4_mdt_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-address")
      {
          ipv4vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpna-mcastddress")
      {
          ipv4vpna_mcastddress.yfilter = yfilter;
      }
      if(value_path == "ipv6-address")
      {
          ipv6_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-mcast-address")
      {
          ipv6_mcast_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-label-address")
      {
          ipv6_label_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-address")
      {
          ipv6vpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-mcast-address")
      {
          ipv6vpn_mcast_address.yfilter = yfilter;
      }
      if(value_path == "rt-constraint-address")
      {
          rt_constraint_address.yfilter = yfilter;
      }
      if(value_path == "ipv6mvpn-address")
      {
          ipv6mvpn_address.yfilter = yfilter;
      }
      if(value_path == "ipv4mvpn-address")
      {
          ipv4mvpn_address.yfilter = yfilter;
      }
      if(value_path == "l2vpn-evpn-address")
      {
          l2vpn_evpn_address.yfilter = yfilter;
      }
      if(value_path == "ls-ls-address")
      {
          ls_ls_address.yfilter = yfilter;
      }
      if(value_path == "ipv4-flowspec-address")
      {
          ipv4_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6-flowspec-address")
      {
          ipv6_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv4vpn-flowspec-address")
      {
          ipv4vpn_flowspec_address.yfilter = yfilter;
      }
      if(value_path == "ipv6vpn-flowspec-address")
      {
          ipv6vpn_flowspec_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-vpls-address" || name == "l2vpn-mspw-address" || name == "ipv4-sr-policy-address" || name == "ipv6-sr-policy-address" || name == "afi" || name == "ipv4-address" || name == "ipv4-mcast-address" || name == "ipv4-label-address" || name == "ipv4-tunnel-address" || name == "ipv4-mdt-address" || name == "ipv4vpn-address" || name == "ipv4vpna-mcastddress" || name == "ipv6-address" || name == "ipv6-mcast-address" || name == "ipv6-label-address" || name == "ipv6vpn-address" || name == "ipv6vpn-mcast-address" || name == "rt-constraint-address" || name == "ipv6mvpn-address" || name == "ipv4mvpn-address" || name == "l2vpn-evpn-address" || name == "ls-ls-address" || name == "ipv4-flowspec-address" || name == "ipv6-flowspec-address" || name == "ipv4vpn-flowspec-address" || name == "ipv6vpn-flowspec-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::L2vpnVplsAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-vpls-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::~L2vpnVplsAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-vpls-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnVplsAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::L2vpnMspwAddress()
      :
      l2vpn_address{YType::str, "l2vpn-address"}
  {
  
      yang_name = "l2vpn-mspw-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::~L2vpnMspwAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_data() const
  {
      if (is_presence_container) return true;
      return l2vpn_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(l2vpn_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "l2vpn-mspw-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (l2vpn_address.is_set || is_set(l2vpn_address.yfilter)) leaf_name_data.push_back(l2vpn_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address = value;
          l2vpn_address.value_namespace = name_space;
          l2vpn_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "l2vpn-address")
      {
          l2vpn_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::L2vpnMspwAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "l2vpn-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::Ipv4SrPolicyAddress()
      :
      ipv4_srpolicy_address{YType::str, "ipv4-srpolicy-address"}
  {
  
      yang_name = "ipv4-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::~Ipv4SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv4_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv4_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv4-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv4_srpolicy_address.is_set || is_set(ipv4_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv4_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address = value;
          ipv4_srpolicy_address.value_namespace = name_space;
          ipv4_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv4-srpolicy-address")
      {
          ipv4_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv4SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv4-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::Ipv6SrPolicyAddress()
      :
      ipv6_srpolicy_address{YType::str, "ipv6-srpolicy-address"}
  {
  
      yang_name = "ipv6-sr-policy-address"; yang_parent_name = "neighbor-address"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::~Ipv6SrPolicyAddress()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_data() const
  {
      if (is_presence_container) return true;
      return ipv6_srpolicy_address.is_set;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(ipv6_srpolicy_address.yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ipv6-sr-policy-address";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (ipv6_srpolicy_address.is_set || is_set(ipv6_srpolicy_address.yfilter)) leaf_name_data.push_back(ipv6_srpolicy_address.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address = value;
          ipv6_srpolicy_address.value_namespace = name_space;
          ipv6_srpolicy_address.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "ipv6-srpolicy-address")
      {
          ipv6_srpolicy_address.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::DmzLinkBandwidthInfo::InheritanceChain::BgpConfigEntid::NeighborAddress::Ipv6SrPolicyAddress::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "ipv6-srpolicy-address")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpRecvDmzInfo::EbgpRecvDmzInfo()
      :
      is_item_configured{YType::boolean, "is-item-configured"}
          ,
      inheritance_chain(std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpRecvDmzInfo::InheritanceChain>())
  {
      inheritance_chain->parent = this;
  
      yang_name = "ebgp-recv-dmz-info"; yang_parent_name = "af-independent-config"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpRecvDmzInfo::~EbgpRecvDmzInfo()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpRecvDmzInfo::has_data() const
  {
      if (is_presence_container) return true;
      return is_item_configured.is_set
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_data());
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpRecvDmzInfo::has_operation() const
  {
      return is_set(yfilter)
  	|| ydk::is_set(is_item_configured.yfilter)
  	|| (inheritance_chain !=  nullptr && inheritance_chain->has_operation());
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpRecvDmzInfo::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "ebgp-recv-dmz-info";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpRecvDmzInfo::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
      if (is_item_configured.is_set || is_set(is_item_configured.yfilter)) leaf_name_data.push_back(is_item_configured.get_name_leafdata());
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpRecvDmzInfo::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "inheritance-chain")
      {
          if(inheritance_chain == nullptr)
          {
              inheritance_chain = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpRecvDmzInfo::InheritanceChain>();
          }
          return inheritance_chain;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpRecvDmzInfo::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      if(inheritance_chain != nullptr)
      {
          _children["inheritance-chain"] = inheritance_chain;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpRecvDmzInfo::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured = value;
          is_item_configured.value_namespace = name_space;
          is_item_configured.value_namespace_prefix = name_space_prefix;
      }
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpRecvDmzInfo::set_filter(const std::string & value_path, YFilter yfilter)
  {
      if(value_path == "is-item-configured")
      {
          is_item_configured.yfilter = yfilter;
      }
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpRecvDmzInfo::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "inheritance-chain" || name == "is-item-configured")
          return true;
      return false;
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpRecvDmzInfo::InheritanceChain::InheritanceChain()
      :
      bgp_config_entid(this, {})
  {
  
      yang_name = "inheritance-chain"; yang_parent_name = "ebgp-recv-dmz-info"; is_top_level_class = false; has_list_ancestor = true; 
  }
  
  Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpRecvDmzInfo::InheritanceChain::~InheritanceChain()
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpRecvDmzInfo::InheritanceChain::has_data() const
  {
      if (is_presence_container) return true;
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_data())
              return true;
      }
      return false;
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpRecvDmzInfo::InheritanceChain::has_operation() const
  {
      for (std::size_t index=0; index<bgp_config_entid.len(); index++)
      {
          if(bgp_config_entid[index]->has_operation())
              return true;
      }
      return is_set(yfilter);
  }
  
  std::string Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpRecvDmzInfo::InheritanceChain::get_segment_path() const
  {
      std::ostringstream path_buffer;
      path_buffer << "inheritance-chain";
      return path_buffer.str();
  }
  
  std::vector<std::pair<std::string, LeafData> > Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpRecvDmzInfo::InheritanceChain::get_name_leaf_data() const
  {
      std::vector<std::pair<std::string, LeafData> > leaf_name_data {};
  
  
      return leaf_name_data;
  
  }
  
  std::shared_ptr<ydk::Entity> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpRecvDmzInfo::InheritanceChain::get_child_by_name(const std::string & child_yang_name, const std::string & segment_path)
  {
      if(child_yang_name == "bgp-config-entid")
      {
          auto ent_ = std::make_shared<Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpRecvDmzInfo::InheritanceChain::BgpConfigEntid>();
          ent_->parent = this;
          bgp_config_entid.append(ent_);
          return ent_;
      }
  
      return nullptr;
  }
  
  std::map<std::string, std::shared_ptr<ydk::Entity>> Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpRecvDmzInfo::InheritanceChain::get_children() const
  {
      std::map<std::string, std::shared_ptr<ydk::Entity>> _children{};
      char count_=0;
      count_ = 0;
      for (auto ent_ : bgp_config_entid.entities())
      {
          if(_children.find(ent_->get_segment_path()) == _children.end())
              _children[ent_->get_segment_path()] = ent_;
          else
              _children[ent_->get_segment_path()+count_++] = ent_;
      }
  
      return _children;
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpRecvDmzInfo::InheritanceChain::set_value(const std::string & value_path, const std::string & value, const std::string & name_space, const std::string & name_space_prefix)
  {
  }
  
  void Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpRecvDmzInfo::InheritanceChain::set_filter(const std::string & value_path, YFilter yfilter)
  {
  }
  
  bool Bgp::ConfigInstances::ConfigInstance::ConfigVrfs::ConfigVrf::EntityConfigurations::EntityConfiguration::AfIndependentConfig::EbgpRecvDmzInfo::InheritanceChain::has_leaf_or_child_of_name(const std::string & name) const
  {
      if(name == "bgp-config-entid")
          return true;
      return false;
  }
  
  
  }
  }
  
  