IPSec AH protocol enhancement in VPP native core
[vpp.git] / src / vpp-api / vom / interface_span.hpp
index b70c316..baa2054 100644 (file)
 #ifndef __VOM_INTERFACE_SPAN_H__
 #define __VOM_INTERFACE_SPAN_H__
 
-#include "vom/dump_cmd.hpp"
 #include "vom/hw.hpp"
 #include "vom/inspect.hpp"
 #include "vom/interface.hpp"
 #include "vom/object_base.hpp"
 #include "vom/om.hpp"
-#include "vom/rpc_cmd.hpp"
 #include "vom/singular_db.hpp"
 
-#include <vapi/span.api.vapi.hpp>
-
 namespace VOM {
 /**
  * A representation of interface span configuration
@@ -107,131 +103,13 @@ public:
   /**
    * The key type for interface_spans
    */
-  typedef std::pair<interface::key_type, interface::key_type> key_type_t;
+  typedef std::pair<interface::key_t, interface::key_t> key_t;
 
   /**
    * Find a singular instance in the DB for the interface passed
    */
   static std::shared_ptr<interface_span> find(const interface& i);
 
-  /**
-   * A command class that configures the interface span
-   */
-  class config_cmd : public rpc_cmd<HW::item<bool>,
-                                    rc_t,
-                                    vapi::Sw_interface_span_enable_disable>
-  {
-  public:
-    /**
-     * Constructor
-     */
-    config_cmd(HW::item<bool>& item,
-               const handle_t& itf_from,
-               const handle_t& itf_to,
-               const state_t& state);
-
-    /**
-     * Issue the command to VPP/HW
-     */
-    rc_t issue(connection& con);
-    /**
-     * convert to string format for debug purposes
-     */
-    std::string to_string() const;
-
-    /**
-     * Comparison operator - only used for UT
-     */
-    bool operator==(const config_cmd& i) const;
-
-  private:
-    /**
-     * Reference to the interface to be mirrored
-     */
-    const handle_t& m_itf_from;
-    /**
-     * Reference to the interface where the traffic is mirrored
-     */
-    const handle_t& m_itf_to;
-    /**
-     * the state (rx, tx or both) of the interface to be mirrored
-     */
-    const state_t& m_state;
-  };
-
-  /**
-   * A cmd class that Unconfigs interface span
-   */
-  class unconfig_cmd : public rpc_cmd<HW::item<bool>,
-                                      rc_t,
-                                      vapi::Sw_interface_span_enable_disable>
-  {
-  public:
-    /**
-     * Constructor
-     */
-    unconfig_cmd(HW::item<bool>& item,
-                 const handle_t& itf_from,
-                 const handle_t& itf_to);
-
-    /**
-     * Issue the command to VPP/HW
-     */
-    rc_t issue(connection& con);
-    /**
-     * convert to string format for debug purposes
-     */
-    std::string to_string() const;
-
-    /**
-     * Comparison operator - only used for UT
-     */
-    bool operator==(const unconfig_cmd& i) const;
-
-  private:
-    /**
-     * Reference to the interface to be mirrored
-     */
-    const handle_t& m_itf_from;
-    /**
-     * Reference to the interface where the traffic is mirrored
-     */
-    const handle_t& m_itf_to;
-  };
-
-  /**
-   * A cmd class that Dumps all the interface spans
-   */
-  class dump_cmd : public VOM::dump_cmd<vapi::Sw_interface_span_dump>
-  {
-  public:
-    /**
-     * Constructor
-     */
-    dump_cmd();
-    dump_cmd(const dump_cmd& d);
-
-    /**
-     * Issue the command to VPP/HW
-     */
-    rc_t issue(connection& con);
-    /**
-     * convert to string format for debug purposes
-     */
-    std::string to_string() const;
-
-    /**
-     * Comparison operator - only used for UT
-     */
-    bool operator==(const dump_cmd& i) const;
-
-  private:
-    /**
-     * HW reutrn code
-     */
-    HW::item<bool> item;
-  };
-
 private:
   /**
    * Class definition for listeners to OM events
@@ -287,7 +165,7 @@ private:
   /**
      e* It's the singular_db class that calls replay()
   */
-  friend class singular_db<key_type_t, interface_span>;
+  friend class singular_db<key_t, interface_span>;
 
   /**
    * Sweep/reap the object if still stale
@@ -324,14 +202,13 @@ private:
    * A map of all interface span keyed against the interface to be
    * mirrored.
  */
-  static singular_db<key_type_t, interface_span> m_db;
+  static singular_db<key_t, interface_span> m_db;
 };
 
 /**
  * Ostream output for the key
  */
-std::ostream& operator<<(std::ostream& os,
-                         const interface_span::key_type_t& key);
+std::ostream& operator<<(std::ostream& os, const interface_span::key_t& key);
 };
 
 /*