4 int pfifo_enqueue(struct vde_buff
*vdb
, struct vde_iface
*vif
);
5 int pfifo_dequeue(struct vde_iface
*vif
);
6 int pfifo_init(struct vde_iface
*vif
, char *args
);
7 char *pfifo_tc_stats(struct vde_iface
*vif
);
9 int bfifo_enqueue(struct vde_buff
*vdb
, struct vde_iface
*vif
);
10 int bfifo_dequeue(struct vde_iface
*vif
);
11 int bfifo_init(struct vde_iface
*vif
, char *args
);
12 char *bfifo_tc_stats(struct vde_iface
*vif
);
14 struct timeval
add_t(struct timeval x
, struct timeval y
);
15 int tbf_enqueue(struct vde_buff
*vdb
, struct vde_iface
*vif
);
16 int tbf_dequeue(struct vde_iface
*vif
);
17 int tbf_init(struct vde_iface
*vif
, char *args
);
18 char *tbf_tc_stats(struct vde_iface
*vif
);
20 int ufifo_enqueue(struct vde_buff
*vdb
, struct vde_iface
*vif
);
21 int ufifo_dequeue(struct vde_iface
*vif
);
22 int ufifo_init(struct vde_iface
*vif
, char *args
);
23 char *nostats(struct vde_iface
*vif
);
24 void *tcpriv(struct vde_iface
*vi
);
25 struct routing_policy
*getpolicy(char *name
);
26 void set_interface_policy(struct vde_iface
*vif
, struct routing_policy
*rp
);
27 uint8_t *ip2mac(uint32_t ip
);
29 struct vde_buff
*buff_clone(struct vde_buff
*orig
);
30 int ip_output_ready(struct vde_buff
*vdb
);
31 int neightbor_send(struct vde_iface
*to
, struct vde_buff
*vdb
);
32 int gateway_send(struct vde_buff
*vdb
, uint32_t gw
);
33 size_t vde_router_receive(struct vde_iface i
);
34 int is_arp_pending(struct vde_iface
*of
, uint8_t *mac
);
35 size_t arp_query(struct vde_iface
*oif
, uint32_t tgt
);
36 size_t arp_reply(struct vde_iface
*oif
, struct vde_buff
*vdb
);
37 struct vde_iface
*get_iface_by_ipaddr(uint32_t addr
);
38 struct vde_iface
*is_neightbor(uint32_t addr
);
39 uint32_t get_gateway(uint32_t addr
);
40 int parse_arp(struct vde_buff
*vdb
);
41 int ip_send(struct vde_buff
*vdb
);
42 int ip_forward(struct vde_buff
*vdb
);
43 int parse_ip(struct vde_buff
*vdb
);
44 uint16_t checksum(uint8_t *buf
, int len
);
45 uint16_t ip_checksum(struct iphdr
*iph
);
46 int ip_output(struct vde_buff
*vdb
, uint32_t dst
, uint8_t protocol
);
47 int parse_icmp(struct vde_buff
*vdb
);
48 uint32_t ascii2ip(char *c
);
49 uint32_t valid_nm(uint32_t nm
);
50 uint32_t ascii2nm(char *c
);
51 int ip_input(struct vde_buff
*vdb
);
52 #endif /* _VDE_L3_H__ */