• Home
  • Raw
  • Download

Lines Matching refs:port

104 					      struct hsr_port *port)  in frame_get_stripped_skb()  argument
113 struct hsr_port *port) in hsr_fill_tag() argument
119 if (port->type == HSR_PT_SLAVE_A) in hsr_fill_tag()
139 struct hsr_port *port) in create_tagged_skb() argument
163 hsr_fill_tag(skb, frame, port); in create_tagged_skb()
172 struct hsr_port *port) in frame_get_tagged_skb() argument
177 if ((port->type != HSR_PT_SLAVE_A) && (port->type != HSR_PT_SLAVE_B)) { in frame_get_tagged_skb()
182 return create_tagged_skb(frame->skb_std, frame, port); in frame_get_tagged_skb()
206 static int hsr_xmit(struct sk_buff *skb, struct hsr_port *port, in hsr_xmit() argument
210 hsr_addr_subst_dest(frame->node_src, skb, port); in hsr_xmit()
215 ether_addr_copy(eth_hdr(skb)->h_source, port->dev->dev_addr); in hsr_xmit()
234 struct hsr_port *port; in hsr_forward_do() local
237 hsr_for_each_port(frame->port_rcv->hsr, port) { in hsr_forward_do()
239 if (port == frame->port_rcv) in hsr_forward_do()
243 if ((port->type == HSR_PT_MASTER) && !frame->is_local_dest) in hsr_forward_do()
247 if ((port->type != HSR_PT_MASTER) && frame->is_local_exclusive) in hsr_forward_do()
251 if (hsr_register_frame_out(port, frame->node_src, in hsr_forward_do()
255 if (frame->is_supervision && (port->type == HSR_PT_MASTER)) { in hsr_forward_do()
262 if (port->type != HSR_PT_MASTER) in hsr_forward_do()
263 skb = frame_get_tagged_skb(frame, port); in hsr_forward_do()
265 skb = frame_get_stripped_skb(frame, port); in hsr_forward_do()
271 skb->dev = port->dev; in hsr_forward_do()
272 if (port->type == HSR_PT_MASTER) in hsr_forward_do()
273 hsr_deliver_master(skb, port->dev, frame->node_src); in hsr_forward_do()
275 hsr_xmit(skb, port, frame); in hsr_forward_do()
305 struct sk_buff *skb, struct hsr_port *port) in hsr_fill_frame_info() argument
310 frame->is_supervision = is_supervision_frame(port->hsr, skb); in hsr_fill_frame_info()
311 frame->node_src = hsr_get_node(&port->hsr->node_db, skb, in hsr_fill_frame_info()
331 spin_lock_irqsave(&port->hsr->seqnr_lock, irqflags); in hsr_fill_frame_info()
332 frame->sequence_nr = port->hsr->sequence_nr; in hsr_fill_frame_info()
333 port->hsr->sequence_nr++; in hsr_fill_frame_info()
334 spin_unlock_irqrestore(&port->hsr->seqnr_lock, irqflags); in hsr_fill_frame_info()
337 frame->port_rcv = port; in hsr_fill_frame_info()
338 check_local_dest(port->hsr, skb, frame); in hsr_fill_frame_info()
344 void hsr_forward_skb(struct sk_buff *skb, struct hsr_port *port) in hsr_forward_skb() argument
350 __FILE__, __LINE__, port->dev->name); in hsr_forward_skb()
354 if (hsr_fill_frame_info(&frame, skb, port) < 0) in hsr_forward_skb()
356 hsr_register_frame_in(frame.node_src, port, frame.sequence_nr); in hsr_forward_skb()
366 port->dev->stats.tx_dropped++; in hsr_forward_skb()