/* -*- C++ -*-; c-basic-offset: 4; indent-tabs-mode: nil */ /* * Copyright (c) 2018 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ #ifndef __VPP_SECURITY_GROUP_MANAGER_H__ #define __VPP_SECURITY_GROUP_MANAGER_H__ #include #include #include #include using namespace VOM; namespace VPP { class SecurityGroupManager { public: SecurityGroupManager(opflexagent::Agent &agent); static void build_update(opflexagent::Agent &agent, const opflexagent::EndpointListener::uri_set_t &secGrps, const std::string &secGrpId, ACL::l3_list::rules_t &in_rules, ACL::l3_list::rules_t &out_rules, ACL::acl_ethertype::ethertype_rules_t ðertype_rules); static std::string get_id(const opflexagent::EndpointListener::uri_set_t &secGrps); void handle_set_update(const opflexagent::EndpointListener::uri_set_t &secGrps); void handle_update(const opflex::modb::URI &uri); private: /** * Referene to the uber-agent */ opflexagent::Agent &m_agent; }; }; // namespace VPP /* * Local Variables: * eval: (c-set-style "llvm.org") * End: */ #endif