struct flow;
struct nlattr;
struct ofpbuf;
+struct shash;
#define OVSP_NONE ((uint16_t) -1)
return odp_port;
}
}
+
void format_odp_actions(struct ds *, const struct nlattr *odp_actions,
size_t actions_len);
+int odp_actions_from_string(const char *, const struct shash *port_names,
+ struct ofpbuf *odp_actions);
/* Upper bound on the length of a nlattr-formatted flow key. The longest
* nlattr-formatted flow key would be:
* OVS_KEY_ATTR_ETHERNET 12 -- 4 16
* OVS_KEY_ATTR_8021Q 4 -- 4 8
* OVS_KEY_ATTR_ETHERTYPE 2 2 4 8
- * OVS_KEY_ATTR_IPV6 39 1 4 44
+ * OVS_KEY_ATTR_IPV6 40 -- 4 44
* OVS_KEY_ATTR_ICMPV6 2 2 4 8
* OVS_KEY_ATTR_ND 28 -- 4 32
* -------------------------------------------------
};
void odp_flow_key_format(const struct nlattr *, size_t, struct ds *);
-int odp_flow_key_from_string(const char *s, struct ofpbuf *);
+int odp_flow_key_from_string(const char *s, const struct shash *port_names,
+ struct ofpbuf *);
void odp_flow_key_from_flow(struct ofpbuf *, const struct flow *);
int odp_flow_key_to_flow(const struct nlattr *, size_t, struct flow *);
BUILD_ASSERT_DECL(sizeof(struct user_action_cookie) == 8);
+size_t odp_put_userspace_action(uint32_t pid,
+ const struct user_action_cookie *,
+ struct ofpbuf *odp_actions);
#endif /* odp-util.h */