#ifndef _NET_BOND_ALB_H
#define _NET_BOND_ALB_H
#include <linux/if_ether.h>
struct bonding;
struct slave;
#define BOND_ALB_INFO(bond) …
#define SLAVE_TLB_INFO(slave) …
#define ALB_TIMER_TICKS_PER_SEC …
#define BOND_TLB_REBALANCE_INTERVAL …
#define BOND_ALB_DEFAULT_LP_INTERVAL …
#define BOND_ALB_LP_INTERVAL(bond) …
#define BOND_TLB_REBALANCE_TICKS …
#define BOND_ALB_LP_TICKS(bond) …
#define TLB_HASH_TABLE_SIZE …
#define TLB_NULL_INDEX …
#define RLB_HASH_TABLE_SIZE …
#define RLB_NULL_INDEX …
#define RLB_UPDATE_DELAY …
#define RLB_ARP_BURST_SIZE …
#define RLB_UPDATE_RETRY …
#define RLB_PROMISC_TIMEOUT …
struct tlb_client_info { … };
struct rlb_client_info { … };
struct tlb_slave_info { … };
struct alb_bond_info { … };
int bond_alb_initialize(struct bonding *bond, int rlb_enabled);
void bond_alb_deinitialize(struct bonding *bond);
int bond_alb_init_slave(struct bonding *bond, struct slave *slave);
void bond_alb_deinit_slave(struct bonding *bond, struct slave *slave);
void bond_alb_handle_link_change(struct bonding *bond, struct slave *slave, char link);
void bond_alb_handle_active_change(struct bonding *bond, struct slave *new_slave);
netdev_tx_t bond_alb_xmit(struct sk_buff *skb, struct net_device *bond_dev);
netdev_tx_t bond_tlb_xmit(struct sk_buff *skb, struct net_device *bond_dev);
struct slave *bond_xmit_alb_slave_get(struct bonding *bond,
struct sk_buff *skb);
struct slave *bond_xmit_tlb_slave_get(struct bonding *bond,
struct sk_buff *skb);
void bond_alb_monitor(struct work_struct *);
int bond_alb_set_mac_address(struct net_device *bond_dev, void *addr);
void bond_alb_clear_vlan(struct bonding *bond, unsigned short vlan_id);
#endif