summaryrefslogtreecommitdiffstats
path: root/src/vpp-api/vom/bond_interface.hpp
diff options
context:
space:
mode:
authorDamjan Marion <damarion@cisco.com>2018-04-25 19:11:15 +0200
committerNeale Ranns <nranns@cisco.com>2018-04-27 11:35:07 +0000
commit164e5f8c63652028ecb9c3570e1ea8618b163071 (patch)
tree7423f5abbc61b761df9a679c7974f17613736020 /src/vpp-api/vom/bond_interface.hpp
parentaa682a39b76ee043f65313f23e134bf18fe7a47e (diff)
Move VOM to extras/vom
Change-Id: Iea174f03dfba3bd06024db0f0cc373532300dcae Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'src/vpp-api/vom/bond_interface.hpp')
-rw-r--r--src/vpp-api/vom/bond_interface.hpp197
1 files changed, 0 insertions, 197 deletions
diff --git a/src/vpp-api/vom/bond_interface.hpp b/src/vpp-api/vom/bond_interface.hpp
deleted file mode 100644
index 4584bd14be2..00000000000
--- a/src/vpp-api/vom/bond_interface.hpp
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
- * Copyright (c) 2018 Cisco and/or its affiliates.
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __VOM_BOND_INTERFACE_H__
-#define __VOM_BOND_INTERFACE_H__
-
-#include "vom/interface.hpp"
-
-namespace VOM {
-/**
- * A bond-interface. e.g. a bond interface
- */
-class bond_interface : public interface
-{
-public:
- /**
- * A bond interface mode
- */
- struct mode_t : enum_base<mode_t>
- {
- /**
- * Round-Robin bond interface mode
- */
- const static mode_t ROUND_ROBIN;
- /**
- * Active-backup bond interface mode
- */
- const static mode_t ACTIVE_BACKUP;
- /**
- * XOR bond interface mode
- */
- const static mode_t XOR;
- /**
- * Broadcast bond interface mode
- */
- const static mode_t BROADCAST;
- /**
- * LACP bond interface mode
- */
- const static mode_t LACP;
- /**
- * Unspecificed bond interface mode
- */
- const static mode_t UNSPECIFIED;
-
- /**
- * Convert VPP's value of the bond to a mode
- */
- static const mode_t from_numeric_val(uint8_t v);
-
- private:
- /**
- * Private constructor taking the value and the string name
- */
- mode_t(int v, const std::string& s);
- };
-
- /**
- * A bond interface load balance
- */
- struct lb_t : enum_base<lb_t>
- {
- /**
- * L2 bond interface lb
- */
- const static lb_t L2;
- /**
- * L34 bond interface lb
- */
- const static lb_t L34;
- /**
- * L23 bond interface lb
- */
- const static lb_t L23;
- /**
- * Unspecificed bond interface lb
- */
- const static lb_t UNSPECIFIED;
-
- /**
- * Convert VPP's value of the bond to a lb
- */
- static const lb_t from_numeric_val(uint8_t v);
-
- private:
- /**
- * Private constructor taking the value and the string name
- */
- lb_t(int v, const std::string& s);
- };
-
- bond_interface(const std::string& name,
- admin_state_t state,
- mode_t mode,
- lb_t lb = lb_t::UNSPECIFIED);
-
- bond_interface(const std::string& name,
- admin_state_t state,
- const l2_address_t& l2_address,
- mode_t mode,
- lb_t lb = lb_t::UNSPECIFIED);
-
- ~bond_interface();
- bond_interface(const bond_interface& o);
-
- /**
- * The the singular instance of the bond interface in the DB by handle
- */
- static std::shared_ptr<bond_interface> find(const handle_t& hdl);
-
- /**
- * Return the matching 'singular instance' of the BOND interface
- */
- std::shared_ptr<bond_interface> singular() const;
-
- /**
- * set the mode
- */
- void set(mode_t mode);
-
- /**
- * set the lb
- */
- void set(lb_t lb);
-
- /**
- * convert to string
- */
- virtual std::string to_string() const;
-
-protected:
- /**
- * set the handle
- */
- void set(handle_t& handle);
- friend class interface_factory;
-
-private:
- /**
- * l2 address on bond interface
- */
- l2_address_t m_l2_address;
-
- /**
- * mode on bond interface
- */
- mode_t m_mode;
-
- /**
- * lb mode on bond interface
- */
- lb_t m_lb;
-
- /**
- * Return the matching 'instance' of the sub-interface
- * over-ride from the base class
- */
- std::shared_ptr<interface> singular_i() const;
-
- /**
- * Virtual functions to construct an interface create commands.
- */
- virtual std::queue<cmd*>& mk_create_cmd(std::queue<cmd*>& cmds);
-
- /**
- * Virtual functions to construct an interface delete commands.
- */
- virtual std::queue<cmd*>& mk_delete_cmd(std::queue<cmd*>& cmds);
-
- /*
- * It's the OM class that call singular()
- */
- friend class OM;
-};
-}
-
-/*
- * fd.io coding-style-patch-verification: ON
- *
- * Local Variables:
- * eval: (c-set-style "mozilla")
- * End:
- */
-
-#endif