Lines Matching refs:hsr

70 	hsr_for_each_port(master->hsr, port)  in hsr_check_carrier()
89 struct hsr_priv *hsr; in hsr_check_announce() local
91 hsr = netdev_priv(hsr_dev); in hsr_check_announce()
96 hsr->announce_count = 0; in hsr_check_announce()
97 hsr->announce_timer.expires = jiffies + in hsr_check_announce()
99 add_timer(&hsr->announce_timer); in hsr_check_announce()
104 del_timer(&hsr->announce_timer); in hsr_check_announce()
107 void hsr_check_carrier_and_operstate(struct hsr_priv *hsr) in hsr_check_carrier_and_operstate() argument
113 master = hsr_port_get_hsr(hsr, HSR_PT_MASTER); in hsr_check_carrier_and_operstate()
123 int hsr_get_max_mtu(struct hsr_priv *hsr) in hsr_get_max_mtu() argument
130 hsr_for_each_port(hsr, port) in hsr_get_max_mtu()
143 struct hsr_priv *hsr; in hsr_dev_change_mtu() local
146 hsr = netdev_priv(dev); in hsr_dev_change_mtu()
147 master = hsr_port_get_hsr(hsr, HSR_PT_MASTER); in hsr_dev_change_mtu()
149 if (new_mtu > hsr_get_max_mtu(hsr)) { in hsr_dev_change_mtu()
162 struct hsr_priv *hsr; in hsr_dev_open() local
166 hsr = netdev_priv(dev); in hsr_dev_open()
170 hsr_for_each_port(hsr, port) { in hsr_dev_open()
203 static netdev_features_t hsr_features_recompute(struct hsr_priv *hsr, in hsr_features_recompute() argument
219 hsr_for_each_port(hsr, port) in hsr_features_recompute()
230 struct hsr_priv *hsr = netdev_priv(dev); in hsr_fix_features() local
232 return hsr_features_recompute(hsr, features); in hsr_fix_features()
238 struct hsr_priv *hsr = netdev_priv(dev); in hsr_dev_xmit() local
241 master = hsr_port_get_hsr(hsr, HSR_PT_MASTER); in hsr_dev_xmit()
281 master->hsr->sup_multicast_addr, in send_hsr_supervision_frame()
297 spin_lock_irqsave(&master->hsr->seqnr_lock, irqflags); in send_hsr_supervision_frame()
299 hsr_stag->sequence_nr = htons(master->hsr->sup_sequence_nr); in send_hsr_supervision_frame()
300 hsr_tag->sequence_nr = htons(master->hsr->sequence_nr); in send_hsr_supervision_frame()
301 master->hsr->sup_sequence_nr++; in send_hsr_supervision_frame()
302 master->hsr->sequence_nr++; in send_hsr_supervision_frame()
304 hsr_stag->sequence_nr = htons(master->hsr->sequence_nr); in send_hsr_supervision_frame()
305 master->hsr->sequence_nr++; in send_hsr_supervision_frame()
307 spin_unlock_irqrestore(&master->hsr->seqnr_lock, irqflags); in send_hsr_supervision_frame()
333 struct hsr_priv *hsr; in hsr_announce() local
336 hsr = from_timer(hsr, t, announce_timer); in hsr_announce()
339 master = hsr_port_get_hsr(hsr, HSR_PT_MASTER); in hsr_announce()
341 if (hsr->announce_count < 3 && hsr->protVersion == 0) { in hsr_announce()
343 hsr->protVersion); in hsr_announce()
344 hsr->announce_count++; in hsr_announce()
346 hsr->announce_timer.expires = jiffies + in hsr_announce()
350 hsr->protVersion); in hsr_announce()
352 hsr->announce_timer.expires = jiffies + in hsr_announce()
357 add_timer(&hsr->announce_timer); in hsr_announce()
368 struct hsr_priv *hsr; in hsr_dev_destroy() local
371 hsr = netdev_priv(hsr_dev); in hsr_dev_destroy()
374 hsr_for_each_port(hsr, port) in hsr_dev_destroy()
378 del_timer_sync(&hsr->prune_timer); in hsr_dev_destroy()
379 del_timer_sync(&hsr->announce_timer); in hsr_dev_destroy()
444 struct hsr_priv *hsr; in hsr_dev_finalize() local
448 hsr = netdev_priv(hsr_dev); in hsr_dev_finalize()
449 INIT_LIST_HEAD(&hsr->ports); in hsr_dev_finalize()
450 INIT_LIST_HEAD(&hsr->node_db); in hsr_dev_finalize()
451 INIT_LIST_HEAD(&hsr->self_node_db); in hsr_dev_finalize()
456 res = hsr_create_self_node(&hsr->self_node_db, hsr_dev->dev_addr, in hsr_dev_finalize()
461 spin_lock_init(&hsr->seqnr_lock); in hsr_dev_finalize()
463 hsr->sequence_nr = HSR_SEQNR_START; in hsr_dev_finalize()
464 hsr->sup_sequence_nr = HSR_SUP_SEQNR_START; in hsr_dev_finalize()
466 timer_setup(&hsr->announce_timer, hsr_announce, 0); in hsr_dev_finalize()
467 timer_setup(&hsr->prune_timer, hsr_prune_nodes, 0); in hsr_dev_finalize()
469 ether_addr_copy(hsr->sup_multicast_addr, def_multicast_addr); in hsr_dev_finalize()
470 hsr->sup_multicast_addr[ETH_ALEN - 1] = multicast_spec; in hsr_dev_finalize()
472 hsr->protVersion = protocol_version; in hsr_dev_finalize()
487 res = hsr_add_port(hsr, hsr_dev, HSR_PT_MASTER); in hsr_dev_finalize()
495 res = hsr_add_port(hsr, slave[0], HSR_PT_SLAVE_A); in hsr_dev_finalize()
498 res = hsr_add_port(hsr, slave[1], HSR_PT_SLAVE_B); in hsr_dev_finalize()
502 mod_timer(&hsr->prune_timer, jiffies + msecs_to_jiffies(PRUNE_PERIOD)); in hsr_dev_finalize()
507 hsr_for_each_port(hsr, port) in hsr_dev_finalize()