A bit of buffer metadata reshuffling to accommodate flow_id
[vpp.git] / src / vpp-api / vom / acl_l3_rule.hpp
index db3ddb4..c1f1cee 100644 (file)
@@ -19,8 +19,6 @@
 #include "vom/acl_types.hpp"
 #include "vom/prefix.hpp"
 
-#include <vapi/acl.api.vapi.hpp>
-
 namespace VOM {
 namespace ACL {
 /**
@@ -39,7 +37,14 @@ public:
   l3_rule(uint32_t priority,
           const action_t& action,
           const route::prefix_t& src,
-          const route::prefix_t& dst);
+          const route::prefix_t& dst,
+          uint8_t proto = 0,
+          uint16_t srcport_or_icmptype_first = 0,
+          uint16_t srcport_or_icmptype_last = 0,
+          uint16_t dstport_or_icmpcode_first = 0,
+          uint16_t dstport_or_icmpcode_last = 0,
+          uint8_t tcp_flags_mask = 0,
+          uint8_t tcp_flags_value = 0);
 
   /**
    * Copy Constructor
@@ -66,11 +71,6 @@ public:
    */
   bool operator==(const l3_rule& rule) const;
 
-  /**
-   * Convert to VPP API fromat
-   */
-  void to_vpp(vapi_type_acl_rule& rule) const;
-
   /**
    * Set Src Ip Address
    */
@@ -116,6 +116,21 @@ public:
    */
   void set_tcp_flags_value(uint8_t tcp_flags_value);
 
+  /**
+   * Getters
+   */
+  const route::prefix_t& src() const;
+  uint32_t priority() const;
+  const action_t& action() const;
+  const route::prefix_t& dst() const;
+  uint8_t proto() const;
+  uint16_t srcport_or_icmptype_first() const;
+  uint16_t srcport_or_icmptype_last() const;
+  uint16_t dstport_or_icmpcode_first() const;
+  uint16_t dstport_or_icmpcode_last() const;
+  uint8_t tcp_flags_mask() const;
+  uint8_t tcp_flags_value() const;
+
 private:
   /**
    * Priority. Used to sort the rules in a list in the order