Lines Matching full:lag

619 	port->lag = NULL;  in prestera_port_create()
879 struct prestera_lag *lag; in prestera_lag_by_dev() local
883 lag = &sw->lags[id]; in prestera_lag_by_dev()
884 if (lag->dev == dev) in prestera_lag_by_dev()
885 return lag; in prestera_lag_by_dev()
894 struct prestera_lag *lag; in prestera_lag_id() local
899 lag = prestera_lag_by_id(sw, id); in prestera_lag_id()
900 if (lag->member_count) { in prestera_lag_id()
901 if (lag->dev == lag_dev) { in prestera_lag_id()
918 struct prestera_lag *lag = NULL; in prestera_lag_create() local
922 lag = &sw->lags[id]; in prestera_lag_create()
923 if (!lag->dev) in prestera_lag_create()
926 if (lag) { in prestera_lag_create()
927 INIT_LIST_HEAD(&lag->members); in prestera_lag_create()
928 lag->dev = lag_dev; in prestera_lag_create()
931 return lag; in prestera_lag_create()
935 struct prestera_lag *lag) in prestera_lag_destroy() argument
937 WARN_ON(!list_empty(&lag->members)); in prestera_lag_destroy()
938 lag->member_count = 0; in prestera_lag_destroy()
939 lag->dev = NULL; in prestera_lag_destroy()
946 struct prestera_lag *lag; in prestera_lag_port_add() local
949 lag = prestera_lag_by_dev(sw, lag_dev); in prestera_lag_port_add()
950 if (!lag) { in prestera_lag_port_add()
951 lag = prestera_lag_create(sw, lag_dev); in prestera_lag_port_add()
952 if (!lag) in prestera_lag_port_add()
956 if (lag->member_count >= sw->lag_member_max) in prestera_lag_port_add()
959 err = prestera_hw_lag_member_add(port, lag->lag_id); in prestera_lag_port_add()
961 if (!lag->member_count) in prestera_lag_port_add()
962 prestera_lag_destroy(sw, lag); in prestera_lag_port_add()
966 list_add(&port->lag_member, &lag->members); in prestera_lag_port_add()
967 lag->member_count++; in prestera_lag_port_add()
968 port->lag = lag; in prestera_lag_port_add()
976 struct prestera_lag *lag = port->lag; in prestera_lag_port_del() local
979 if (!lag || !lag->member_count) in prestera_lag_port_del()
982 err = prestera_hw_lag_member_del(port, lag->lag_id); in prestera_lag_port_del()
987 lag->member_count--; in prestera_lag_port_del()
988 port->lag = NULL; in prestera_lag_port_del()
990 if (netif_is_bridge_port(lag->dev)) { in prestera_lag_port_del()
993 br_dev = netdev_master_upper_dev_get(lag->dev); in prestera_lag_port_del()
998 if (!lag->member_count) in prestera_lag_port_del()
999 prestera_lag_destroy(sw, lag); in prestera_lag_port_del()
1006 return !!port->lag; in prestera_port_is_lag_member()
1011 return port->lag->lag_id; in prestera_port_lag_id()
1087 return prestera_hw_lag_member_enable(port, port->lag->lag_id, enabled); in prestera_netdev_port_lower_event()
1095 NL_SET_ERR_MSG_MOD(ext_ack, "Unsupported LAG Tx type"); in prestera_lag_master_check()
1139 "Master device is a LAG master and port has a VLAN"); in prestera_netdev_port_event()
1145 "Can not put a VLAN on a LAG port"); in prestera_netdev_port_event()