Files
openflow/datapath/forward.h
T

39 lines
1.2 KiB
C

#ifndef FORWARD_H
#define FORWARD_H 1
#include <linux/types.h>
#include "datapath.h"
#include "flow.h"
struct sk_buff;
struct sw_chain;
struct sender;
/* Buffers are identified to userspace by a 31-bit opaque ID. We divide the ID
* into a buffer number (low bits) and a cookie (high bits). The buffer number
* is an index into an array of buffers. The cookie distinguishes between
* different packets that have occupied a single buffer. Thus, the more
* buffers we have, the lower-quality the cookie... */
#define PKT_BUFFER_BITS 8
#define N_PKT_BUFFERS (1 << PKT_BUFFER_BITS)
#define PKT_BUFFER_MASK (N_PKT_BUFFERS - 1)
#define PKT_COOKIE_BITS (32 - PKT_BUFFER_BITS)
#define UINT32_MAX 4294967295U
#define UINT16_MAX 65535
#define MAX(X, Y) ((X) > (Y) ? (X) : (Y))
void fwd_port_input(struct sw_chain *, struct sk_buff *,
struct net_bridge_port *);
int run_flow_through_tables(struct sw_chain *, struct sk_buff *,
struct net_bridge_port *);
int fwd_control_input(struct sw_chain *, const struct sender *,
const void *, size_t);
uint32_t fwd_save_skb(struct sk_buff *skb);
void fwd_discard_all(void);
void fwd_exit(void);
#endif /* forward.h */