Lines Matching defs:peer_mep

34 	struct br_cfm_peer_mep *peer_mep;
36 hlist_for_each_entry_rcu(peer_mep, &mep->peer_mep_list, head,
38 if (peer_mep->mepid == mepid)
39 return peer_mep;
128 static void ccm_rx_timer_start(struct br_cfm_peer_mep *peer_mep)
132 interval_us = interval_to_us(peer_mep->mep->cc_config.exp_interval);
137 queue_delayed_work(system_wq, &peer_mep->ccm_rx_dwork,
148 static void cc_peer_enable(struct br_cfm_peer_mep *peer_mep)
150 memset(&peer_mep->cc_status, 0, sizeof(peer_mep->cc_status));
151 peer_mep->ccm_rx_count_miss = 0;
153 ccm_rx_timer_start(peer_mep);
156 static void cc_peer_disable(struct br_cfm_peer_mep *peer_mep)
158 cancel_delayed_work_sync(&peer_mep->ccm_rx_dwork);
297 struct br_cfm_peer_mep *peer_mep;
302 peer_mep = container_of(del_work, struct br_cfm_peer_mep, ccm_rx_dwork);
305 if (peer_mep->ccm_rx_count_miss < 13) {
307 peer_mep->ccm_rx_count_miss++;
310 ccm_rx_timer_start(peer_mep);
315 peer_mep->cc_status.ccm_defect = true;
319 b_port = rcu_dereference(peer_mep->mep->b_port);
327 struct br_cfm_peer_mep *peer_mep)
349 peer_mep->cc_status.tlv_seen = true;
350 peer_mep->cc_status.if_tlv_value = (h_s_tlv & 0xFF);
355 peer_mep->cc_status.tlv_seen = true;
356 peer_mep->cc_status.port_tlv_value = (h_s_tlv & 0xFF);
374 struct br_cfm_peer_mep *peer_mep;
434 peer_mep = br_peer_mep_find(mep, (u32)ntohs(*mepid));
435 if (!peer_mep)
445 if (peer_mep->cc_status.ccm_defect) {
446 peer_mep->cc_status.ccm_defect = false;
452 ccm_rx_timer_start(peer_mep);
455 peer_mep->cc_status.seen = true;
456 peer_mep->ccm_rx_count_miss = 0;
459 peer_mep->cc_status.rdi = (hdr->flags & 0x80) ? true : false;
469 peer_mep->cc_status.seq_unexp_seen = true;
479 size = ccm_tlv_extract(skb, index, peer_mep);
572 struct br_cfm_peer_mep *peer_mep;
578 hlist_for_each_entry_safe(peer_mep, n_store, &mep->peer_mep_list, head) {
579 cancel_delayed_work_sync(&peer_mep->ccm_rx_dwork);
580 hlist_del_rcu(&peer_mep->head);
581 kfree_rcu(peer_mep, rcu);
640 struct br_cfm_peer_mep *peer_mep;
658 hlist_for_each_entry(peer_mep, &mep->peer_mep_list, head)
659 cc_peer_enable(peer_mep);
663 hlist_for_each_entry(peer_mep, &mep->peer_mep_list, head)
664 cc_peer_disable(peer_mep);
677 struct br_cfm_peer_mep *peer_mep;
689 peer_mep = br_peer_mep_find(mep, mepid);
690 if (peer_mep) {
696 peer_mep = kzalloc(sizeof(*peer_mep), GFP_KERNEL);
697 if (!peer_mep)
700 peer_mep->mepid = mepid;
701 peer_mep->mep = mep;
702 INIT_DELAYED_WORK(&peer_mep->ccm_rx_dwork, ccm_rx_work_expired);
705 cc_peer_enable(peer_mep);
707 hlist_add_tail_rcu(&peer_mep->head, &mep->peer_mep_list);
716 struct br_cfm_peer_mep *peer_mep;
728 peer_mep = br_peer_mep_find(mep, mepid);
729 if (!peer_mep) {
735 cc_peer_disable(peer_mep);
737 hlist_del_rcu(&peer_mep->head);
738 kfree_rcu(peer_mep, rcu);
836 struct br_cfm_peer_mep *peer_mep;
843 hlist_for_each_entry_rcu(peer_mep, &mep->peer_mep_list, head)