Lines Matching refs:hsr
35 static bool is_supervision_frame(struct hsr_priv *hsr, struct sk_buff *skb) in is_supervision_frame() argument
46 hsr->sup_multicast_addr)) in is_supervision_frame()
57 if (hsr_V1_hdr->hsr.encap_proto != htons(ETH_P_PRP)) in is_supervision_frame()
159 lane_id |= port->hsr->net_id; in prp_set_lan_id()
274 return hsr_fill_tag(skb, frame, port, port->hsr->prot_version); in hsr_create_tagged_frame()
361 hsr_for_each_port(frame->port_rcv->hsr, port) { in hsr_forward_do()
362 struct hsr_priv *hsr = port->hsr; in hsr_forward_do() local
391 if (hsr->proto_ops->drop_frame && in hsr_forward_do()
392 hsr->proto_ops->drop_frame(frame, port)) in hsr_forward_do()
396 skb = hsr->proto_ops->create_tagged_frame(frame, port); in hsr_forward_do()
398 skb = hsr->proto_ops->get_untagged_frame(frame, port); in hsr_forward_do()
413 static void check_local_dest(struct hsr_priv *hsr, struct sk_buff *skb, in check_local_dest() argument
416 if (hsr_addr_is_self(hsr, eth_hdr(skb)->h_dest)) { in check_local_dest()
436 struct hsr_priv *hsr = port->hsr; in handle_std_frame() local
447 spin_lock_irqsave(&hsr->seqnr_lock, irqflags); in handle_std_frame()
448 frame->sequence_nr = hsr->sequence_nr; in handle_std_frame()
449 hsr->sequence_nr++; in handle_std_frame()
450 spin_unlock_irqrestore(&hsr->seqnr_lock, irqflags); in handle_std_frame()
491 struct hsr_priv *hsr = port->hsr; in fill_frame_info() local
497 frame->is_supervision = is_supervision_frame(port->hsr, skb); in fill_frame_info()
498 frame->node_src = hsr_get_node(port, &hsr->node_db, skb, in fill_frame_info()
520 hsr->proto_ops->fill_frame_info(proto, skb, frame); in fill_frame_info()
521 check_local_dest(port->hsr, skb, frame); in fill_frame_info()