7 #ifndef _ODP_L3FWD_DB_H_
8 #define _ODP_L3FWD_DB_H_
15 #include <odp/helper/odph_api.h>
24 #define FWD_MAX_FLOW_COUNT (1 << 22)
29 #define FWD_DEF_BUCKET_ENTRIES 4
34 typedef struct ip_addr_range_s {
63 typedef struct fwd_db_entry_s {
64 struct fwd_db_entry_s *next;
67 odph_ethaddr_t src_mac;
68 odph_ethaddr_t dst_mac;
69 ip_addr_range_t subnet;
75 typedef struct fwd_db_s {
78 fwd_db_entry_t array[MAX_DB];
82 extern fwd_db_t *fwd_db;
87 void init_fwd_db(
void);
92 void init_fwd_hash_cache(
void);
105 int create_fwd_db_entry(
char *input,
char **oif, uint8_t **dst_mac);
114 void resolve_fwd_db(
char *intf,
int portid, uint8_t *mac);
121 void dump_fwd_db_entry(fwd_db_entry_t *entry);
126 void dump_fwd_db(
void);
135 fwd_db_entry_t *find_fwd_db_entry(ipv4_tuple5_t *key);
#define ODP_ALIGNED_CACHE
Defines type/struct/variable to be cache line size aligned.