Lines Matching defs:hsr
35 static bool is_supervision_frame(struct hsr_priv *hsr, struct sk_buff *skb)
48 hsr->sup_multicast_addr))
63 if (hsr_V1_hdr->hsr.encap_proto != htons(ETH_P_PRP))
201 lane_id |= port->hsr->net_id;
320 return hsr_fill_tag(skb, frame, port, port->hsr->prot_version);
417 hsr_for_each_port(frame->port_rcv->hsr, port) {
418 struct hsr_priv *hsr = port->hsr;
453 if (hsr->proto_ops->drop_frame &&
454 hsr->proto_ops->drop_frame(frame, port))
458 skb = hsr->proto_ops->create_tagged_frame(frame, port);
460 skb = hsr->proto_ops->get_untagged_frame(frame, port);
477 static void check_local_dest(struct hsr_priv *hsr, struct sk_buff *skb,
480 if (hsr_addr_is_self(hsr, eth_hdr(skb)->h_dest)) {
500 struct hsr_priv *hsr = port->hsr;
510 lockdep_assert_held(&hsr->seqnr_lock);
511 frame->sequence_nr = hsr->sequence_nr;
512 hsr->sequence_nr++;
520 struct hsr_priv *hsr = port->hsr;
523 if ((!hsr->prot_version && proto == htons(ETH_P_PRP)) ||
565 struct hsr_priv *hsr = port->hsr;
576 frame->is_supervision = is_supervision_frame(port->hsr, skb);
577 frame->node_src = hsr_get_node(port, &hsr->node_db, skb,
600 ret = hsr->proto_ops->fill_frame_info(proto, skb, frame);
604 check_local_dest(port->hsr, skb, frame);