#include "ofpbuf.h"
#include "ofproto-dpif-mirror.h"
#include "ofproto-dpif.h"
+#include "ofproto.h"
+#include "stp.h"
struct bfd;
struct bond;
struct flow_wildcards wc;
enum slow_path_reason slow; /* 0 if fast path may be used. */
+ bool fail_open; /* Initial rule is fail open? */
bool has_learn; /* Actions include NXAST_LEARN? */
bool has_normal; /* Actions output to OFPP_NORMAL? */
bool has_fin_timeout; /* Actions include NXAST_FIN_TIMEOUT? */
* not if we are just revalidating. */
bool may_learn;
- /* The rule initiating translation or NULL. */
+ /* The rule initiating translation or NULL. If both 'rule' and 'ofpacts'
+ * are NULL, xlate_actions() will do the initial rule lookup itself. */
struct rule_dpif *rule;
/* The actions to translate. If 'rule' is not NULL, these may be NULL. */
/* Union of the set of TCP flags seen so far in this flow. (Used only by
* NXAST_FIN_TIMEOUT. Set to zero to avoid updating updating rules'
* timeouts.) */
- uint8_t tcp_flags;
+ uint16_t tcp_flags;
/* If nonnull, flow translation calls this function just before executing a
* resubmit or OFPP_TABLE action. In addition, disables logging of traces
OVS_EXCLUDED(xlate_rwlock);
void xlate_in_init(struct xlate_in *, struct ofproto_dpif *,
const struct flow *, struct rule_dpif *,
- uint8_t tcp_flags, const struct ofpbuf *packet);
+ uint16_t tcp_flags, const struct ofpbuf *packet);
void xlate_out_uninit(struct xlate_out *);
void xlate_actions_for_side_effects(struct xlate_in *);
void xlate_out_copy(struct xlate_out *dst, const struct xlate_out *src);
+
+struct dpif_sflow *xlate_get_sflow(const struct ofproto_dpif *)
+ OVS_EXCLUDED(xlate_rwlock);
+struct dpif_ipfix *xlate_get_ipfix(const struct ofproto_dpif *)
+ OVS_EXCLUDED(xlate_rwlock);
+
+int xlate_send_packet(const struct ofport_dpif *, struct ofpbuf *);
+
#endif /* ofproto-dpif-xlate.h */