nx-match: Update register check functions.
[sliver-openvswitch.git] / lib / nx-match.h
index a76ad1f..a7441d0 100644 (file)
@@ -49,9 +49,15 @@ void nxm_format_reg_load(const struct nx_action_reg_load *, struct ds *);
 
 int nxm_check_reg_move(const struct nx_action_reg_move *, const struct flow *);
 int nxm_check_reg_load(const struct nx_action_reg_load *, const struct flow *);
+int nxm_src_check(ovs_be32 src, unsigned int ofs, unsigned int n_bits,
+                  const struct flow *);
+int nxm_dst_check(ovs_be32 dst, unsigned int ofs, unsigned int n_bits,
+                  const struct flow *);
 
 void nxm_execute_reg_move(const struct nx_action_reg_move *, struct flow *);
 void nxm_execute_reg_load(const struct nx_action_reg_load *, struct flow *);
+void nxm_reg_load(ovs_be32 dst, ovs_be16 ofs_nbits, uint64_t src_data,
+                  struct flow *);
 
 int nxm_field_bytes(uint32_t header);
 int nxm_field_bits(uint32_t header);
@@ -97,8 +103,8 @@ nxm_decode_n_bits(ovs_be16 ofs_nbits)
  *  NXM_OF_IPV6_DST_W   4      16    16     36
  *  NXM_OF_ICMP_TYPE    4       1    --      5
  *  NXM_OF_ICMP_CODE    4       1    --      5
- *  NXM_NX_ND_TARGET    4      16    --     20 
- *  NXM_NX_ND_SLL       4       6    --     10 
+ *  NXM_NX_ND_TARGET    4      16    --     20
+ *  NXM_NX_ND_SLL       4       6    --     10
  *  NXM_NX_REG_W(0)     4       4     4     12
  *  NXM_NX_REG_W(1)     4       4     4     12
  *  NXM_NX_REG_W(2)     4       4     4     12