X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=lib%2Fnx-match.h;h=ba57f81392882cd8f4bc36236d6671e4042cda0b;hb=a2ad9ecdd0d4ac9a641e8cef1f3f4681fd77d6b1;hp=7bfea8c88fa93726dedd1e43250440fec76c61cc;hpb=09246b99d1601e2ba7ff85bb26f9b0235632a76d;p=openvswitch diff --git a/lib/nx-match.h b/lib/nx-match.h index 7bfea8c8..ba57f813 100644 --- a/lib/nx-match.h +++ b/lib/nx-match.h @@ -20,7 +20,10 @@ #include struct cls_rule; +struct flow; struct ofpbuf; +struct nx_action_reg_load; +struct nx_action_reg_move; /* Nicira Extended Match (NXM) flexible flow match helper functions. * @@ -34,6 +37,12 @@ int nx_put_match(struct ofpbuf *, const struct cls_rule *); char *nx_match_to_string(const uint8_t *, unsigned int match_len); int nx_match_from_string(const char *, struct ofpbuf *); +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 *); + +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 *); + /* Upper bound on the length of an nx_match. The longest nx_match (assuming * we implement 4 registers) would be: * @@ -62,4 +71,8 @@ int nx_match_from_string(const char *, struct ofpbuf *); */ #define NXM_MAX_LEN 192 +/* This is my guess at the length of a "typical" nx_match, for use in + * predicting space requirements. */ +#define NXM_TYPICAL_LEN 64 + #endif /* nx-match.h */