struct rio_switch — RIO switch info
struct rio_switch { struct list_head node; u16 switchid; u8 * route_table; u32 port_ok; int (* add_entry) (struct rio_mport *mport, u16 destid, u8 hopcount,u16 table, u16 route_destid, u8 route_port); int (* get_entry) (struct rio_mport *mport, u16 destid, u8 hopcount,u16 table, u16 route_destid, u8 *route_port); int (* clr_table) (struct rio_mport *mport, u16 destid, u8 hopcount,u16 table); int (* set_domain) (struct rio_mport *mport, u16 destid, u8 hopcount,u8 sw_domain); int (* get_domain) (struct rio_mport *mport, u16 destid, u8 hopcount,u8 *sw_domain); int (* em_init) (struct rio_dev *dev); int (* em_handle) (struct rio_dev *dev, u8 swport); int (* sw_sysfs) (struct rio_dev *dev, int create); struct rio_dev * nextdev[0]; };
Node in global list of switches
Switch ID that is unique across a network
Copy of switch routing table
Status of each port (one bit per port) - OK=1 or UNINIT=0
Callback for switch-specific route add function
Callback for switch-specific route get function
Callback for switch-specific clear route table function
Callback for switch-specific domain setting function
Callback for switch-specific domain get function
Callback for switch-specific error management init function
Callback for switch-specific error management handler function
Callback that initializes switch-specific sysfs attributes
Array of per-port pointers to the next attached device