Print this page
6274 MAC tries to use aggr rings from downed links
Reviewed by: Bryan Cantrill <bryan@joyent.com>
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
Reviewed by: Dan McDonald <danmcd@omniti.com>
Approved by: Richard Lowe <richlowe@richlowe.net>


 274     uint32_t, boolean_t, boolean_t, uchar_t *, aggr_lacp_mode_t,
 275     aggr_lacp_timer_t, cred_t *);
 276 extern int aggr_grp_delete(datalink_id_t, cred_t *);
 277 extern void aggr_grp_free(aggr_grp_t *);
 278 
 279 extern int aggr_grp_info(datalink_id_t, void *, aggr_grp_info_new_grp_fn_t,
 280     aggr_grp_info_new_port_fn_t, cred_t *);
 281 extern void aggr_grp_notify(aggr_grp_t *, uint32_t);
 282 extern boolean_t aggr_grp_attach_port(aggr_grp_t *, aggr_port_t *);
 283 extern boolean_t aggr_grp_detach_port(aggr_grp_t *, aggr_port_t *);
 284 extern void aggr_grp_port_mac_changed(aggr_grp_t *, aggr_port_t *,
 285     boolean_t *, boolean_t *);
 286 extern int aggr_grp_add_ports(datalink_id_t, uint_t, boolean_t,
 287     laioc_port_t *);
 288 extern int aggr_grp_rem_ports(datalink_id_t, uint_t, laioc_port_t *);
 289 extern boolean_t aggr_grp_update_ports_mac(aggr_grp_t *);
 290 extern int aggr_grp_modify(datalink_id_t, uint8_t, uint32_t, boolean_t,
 291     const uchar_t *, aggr_lacp_mode_t, aggr_lacp_timer_t);
 292 extern void aggr_grp_multicst_port(aggr_port_t *, boolean_t);
 293 extern uint_t aggr_grp_count(void);

 294 
 295 extern void aggr_port_init(void);
 296 extern void aggr_port_fini(void);
 297 extern int aggr_port_create(aggr_grp_t *, const datalink_id_t, boolean_t,
 298     aggr_port_t **);
 299 extern void aggr_port_delete(aggr_port_t *);
 300 extern void aggr_port_free(aggr_port_t *);
 301 extern int aggr_port_start(aggr_port_t *);
 302 extern void aggr_port_stop(aggr_port_t *);
 303 extern int aggr_port_promisc(aggr_port_t *, boolean_t);
 304 extern int aggr_port_unicst(aggr_port_t *);
 305 extern int aggr_port_multicst(void *, boolean_t, const uint8_t *);
 306 extern uint64_t aggr_port_stat(aggr_port_t *, uint_t);
 307 extern boolean_t aggr_port_notify_link(aggr_grp_t *, aggr_port_t *);
 308 extern void aggr_port_init_callbacks(aggr_port_t *);
 309 
 310 extern void aggr_recv_cb(void *, mac_resource_handle_t, mblk_t *, boolean_t);
 311 extern void aggr_recv_promisc_cb(void *, mac_resource_handle_t, mblk_t *,
 312     boolean_t);
 313 




 274     uint32_t, boolean_t, boolean_t, uchar_t *, aggr_lacp_mode_t,
 275     aggr_lacp_timer_t, cred_t *);
 276 extern int aggr_grp_delete(datalink_id_t, cred_t *);
 277 extern void aggr_grp_free(aggr_grp_t *);
 278 
 279 extern int aggr_grp_info(datalink_id_t, void *, aggr_grp_info_new_grp_fn_t,
 280     aggr_grp_info_new_port_fn_t, cred_t *);
 281 extern void aggr_grp_notify(aggr_grp_t *, uint32_t);
 282 extern boolean_t aggr_grp_attach_port(aggr_grp_t *, aggr_port_t *);
 283 extern boolean_t aggr_grp_detach_port(aggr_grp_t *, aggr_port_t *);
 284 extern void aggr_grp_port_mac_changed(aggr_grp_t *, aggr_port_t *,
 285     boolean_t *, boolean_t *);
 286 extern int aggr_grp_add_ports(datalink_id_t, uint_t, boolean_t,
 287     laioc_port_t *);
 288 extern int aggr_grp_rem_ports(datalink_id_t, uint_t, laioc_port_t *);
 289 extern boolean_t aggr_grp_update_ports_mac(aggr_grp_t *);
 290 extern int aggr_grp_modify(datalink_id_t, uint8_t, uint32_t, boolean_t,
 291     const uchar_t *, aggr_lacp_mode_t, aggr_lacp_timer_t);
 292 extern void aggr_grp_multicst_port(aggr_port_t *, boolean_t);
 293 extern uint_t aggr_grp_count(void);
 294 extern void aggr_grp_update_default(aggr_grp_t *);
 295 
 296 extern void aggr_port_init(void);
 297 extern void aggr_port_fini(void);
 298 extern int aggr_port_create(aggr_grp_t *, const datalink_id_t, boolean_t,
 299     aggr_port_t **);
 300 extern void aggr_port_delete(aggr_port_t *);
 301 extern void aggr_port_free(aggr_port_t *);
 302 extern int aggr_port_start(aggr_port_t *);
 303 extern void aggr_port_stop(aggr_port_t *);
 304 extern int aggr_port_promisc(aggr_port_t *, boolean_t);
 305 extern int aggr_port_unicst(aggr_port_t *);
 306 extern int aggr_port_multicst(void *, boolean_t, const uint8_t *);
 307 extern uint64_t aggr_port_stat(aggr_port_t *, uint_t);
 308 extern boolean_t aggr_port_notify_link(aggr_grp_t *, aggr_port_t *);
 309 extern void aggr_port_init_callbacks(aggr_port_t *);
 310 
 311 extern void aggr_recv_cb(void *, mac_resource_handle_t, mblk_t *, boolean_t);
 312 extern void aggr_recv_promisc_cb(void *, mac_resource_handle_t, mblk_t *,
 313     boolean_t);
 314