Lines Matching defs:hsr
35 static bool is_supervision_frame(struct hsr_priv *hsr, struct sk_buff *skb)
46 hsr->sup_multicast_addr))
57 if (hsr_V1_hdr->hsr.encap_proto != htons(ETH_P_PRP))
159 lane_id |= port->hsr->net_id;
276 return hsr_fill_tag(skb, frame, port, port->hsr->prot_version);
362 hsr_for_each_port(frame->port_rcv->hsr, port) {
363 struct hsr_priv *hsr = port->hsr;
392 if (hsr->proto_ops->drop_frame &&
393 hsr->proto_ops->drop_frame(frame, port))
397 skb = hsr->proto_ops->create_tagged_frame(frame, port);
399 skb = hsr->proto_ops->get_untagged_frame(frame, port);
414 static void check_local_dest(struct hsr_priv *hsr, struct sk_buff *skb,
417 if (hsr_addr_is_self(hsr, eth_hdr(skb)->h_dest)) {
437 struct hsr_priv *hsr = port->hsr;
447 lockdep_assert_held(&hsr->seqnr_lock);
448 frame->sequence_nr = hsr->sequence_nr;
449 hsr->sequence_nr++;
457 struct hsr_priv *hsr = port->hsr;
460 if ((!hsr->prot_version && proto == htons(ETH_P_PRP)) ||
502 struct hsr_priv *hsr = port->hsr;
513 frame->is_supervision = is_supervision_frame(port->hsr, skb);
514 frame->node_src = hsr_get_node(port, &hsr->node_db, skb,
537 ret = hsr->proto_ops->fill_frame_info(proto, skb, frame);
541 check_local_dest(port->hsr, skb, frame);