Home | History | Annotate | Download | only in agr

Lines Matching refs:lp

78 lacp_sm_rx(struct lacp_port *lp, const struct lacpdu *du)
86 if (!(lp->lp_state & LACP_STATE_AGGREGATION)) {
95 &lp->lp_actor.lip_systemid)) {
103 lacp_sm_rx_update_selected(lp, du);
104 lacp_sm_rx_update_ntt(lp, du);
105 lacp_sm_rx_record_pdu(lp, du);
107 timeout = (lp->lp_state & LACP_STATE_TIMEOUT) ?
109 LACP_TIMER_ARM(lp, LACP_TIMER_CURRENT_WHILE, timeout);
111 lp->lp_state &= ~LACP_STATE_EXPIRED;
117 lacp_sm_tx(lp);
121 lacp_sm_rx_set_expired(struct lacp_port *lp)
124 lp->lp_partner.lip_state &= ~LACP_STATE_SYNC;
125 lp->lp_partner.lip_state |= LACP_STATE_TIMEOUT;
126 LACP_TIMER_ARM(lp, LACP_TIMER_CURRENT_WHILE, LACP_SHORT_TIMEOUT_TIME);
127 lp->lp_state |= LACP_STATE_EXPIRED;
131 lacp_sm_rx_timer(struct lacp_port *lp)
134 if ((lp->lp_state & LACP_STATE_EXPIRED) == 0) {
136 LACP_DPRINTF((lp, "%s: CURRENT -> EXPIRED\n", __func__));
137 lacp_sm_rx_set_expired(lp);
140 LACP_DPRINTF((lp, "%s: EXPIRED -> DEFAULTED\n", __func__));
141 lacp_sm_rx_update_default_selected(lp);
142 lacp_sm_rx_record_default(lp);
143 lp->lp_state &= ~LACP_STATE_EXPIRED;
148 lacp_sm_rx_record_pdu(struct lacp_port *lp, const struct lacpdu *du)
156 /* LACP_DPRINTF((lp, "%s\n", __func__)); */
158 oldpstate = lp->lp_partner.lip_state;
161 || ((lp->lp_state & LACP_STATE_ACTIVITY) &&
164 lp->lp_partner = du->ldu_actor;
166 ((LACP_STATE_EQ(lp->lp_state, du->ldu_partner.lip_state,
168 !lacp_compare_peerinfo(&lp->lp_actor, &du->ldu_partner))
172 lp->lp_partner.lip_state &= ~LACP_STATE_SYNC;
175 lp->lp_state &= ~LACP_STATE_DEFAULTED;
177 LACP_DPRINTF((lp, "old pstate %s\n",
179 LACP_DPRINTF((lp, "new pstate %s\n",
180 lacp_format_state(lp->lp_partner.lip_state, buf, sizeof(buf))));
182 lacp_sm_ptx_update_timeout(lp, oldpstate);
186 lacp_sm_rx_update_ntt(struct lacp_port *lp, const struct lacpdu *du)
189 /* LACP_DPRINTF((lp, "%s\n", __func__)); */
191 if (lacp_compare_peerinfo(&lp->lp_actor, &du->ldu_partner) ||
192 !LACP_STATE_EQ(lp->lp_state, du->ldu_partner.lip_state,
194 LACP_DPRINTF((lp, "%s: assert ntt\n", __func__));
195 lacp_sm_assert_ntt(lp);
200 lacp_sm_rx_record_default(struct lacp_port *lp)
204 /* LACP_DPRINTF((lp, "%s\n", __func__)); */
206 oldpstate = lp->lp_partner.lip_state;
207 lp->lp_partner = lacp_partner_admin;
208 lp->lp_state |= LACP_STATE_DEFAULTED;
209 lacp_sm_ptx_update_timeout(lp, oldpstate);
213 lacp_sm_rx_update_selected_from_peerinfo(struct lacp_port *lp,
217 /* LACP_DPRINTF((lp, "%s\n", __func__)); */
219 if (lacp_compare_peerinfo(&lp->lp_partner, info) ||
220 !LACP_STATE_EQ(lp->lp_partner.lip_state, info->lip_state,
222 lp->lp_selected = LACP_UNSELECTED;
223 /* mux machine will clean up lp->lp_aggregator */
228 lacp_sm_rx_update_selected(struct lacp_port *lp, const struct lacpdu *du)
231 /* LACP_DPRINTF((lp, "%s\n", __func__)); */
233 lacp_sm_rx_update_selected_from_peerinfo(lp, &du->ldu_actor);
237 lacp_sm_rx_update_default_selected(struct lacp_port *lp)
240 /* LACP_DPRINTF((lp, "%s\n", __func__)); */
242 lacp_sm_rx_update_selected_from_peerinfo(lp, &lacp_partner_admin);