Home
last modified time | relevance | path

Searched refs:hsr (Results 1 – 25 of 25) sorted by relevance

/linux/net/hsr/
H A Dhsr_device.c52 hsr_for_each_port_rtnl(master->hsr, port) { in hsr_check_carrier()
66 struct hsr_priv *hsr; in hsr_check_announce() local
68 hsr = netdev_priv(hsr_dev); in hsr_check_announce()
71 if (!timer_pending(&hsr->announce_timer)) { in hsr_check_announce()
72 hsr->announce_count = 0; in hsr_check_announce()
73 mod_timer(&hsr->announce_timer, jiffies + in hsr_check_announce()
77 if (hsr->redbox && !timer_pending(&hsr->announce_proxy_timer)) in hsr_check_announce()
78 mod_timer(&hsr->announce_proxy_timer, jiffies + in hsr_check_announce()
82 timer_delete(&hsr->announce_timer); in hsr_check_announce()
83 if (hsr->redbox) in hsr_check_announce()
[all …]
H A Dhsr_framereg.c40 bool hsr_addr_is_redbox(struct hsr_priv *hsr, unsigned char *addr) in hsr_addr_is_redbox() argument
42 if (!hsr->redbox || !is_valid_ether_addr(hsr->macaddress_redbox)) in hsr_addr_is_redbox()
45 return ether_addr_equal(addr, hsr->macaddress_redbox); in hsr_addr_is_redbox()
48 bool hsr_addr_is_self(struct hsr_priv *hsr, unsigned char *addr) in hsr_addr_is_self() argument
54 sn = rcu_dereference(hsr->self_node); in hsr_addr_is_self()
94 int hsr_create_self_node(struct hsr_priv *hsr, in hsr_create_self_node() argument
107 spin_lock_bh(&hsr->list_lock); in hsr_create_self_node()
108 old = rcu_replace_pointer(hsr->self_node, sn, in hsr_create_self_node()
109 lockdep_is_held(&hsr->list_lock)); in hsr_create_self_node()
110 spin_unlock_bh(&hsr->list_lock); in hsr_create_self_node()
[all …]
H A Dhsr_main.c21 static bool hsr_slave_empty(struct hsr_priv *hsr) in hsr_slave_empty() argument
25 hsr_for_each_port_rtnl(hsr, port) in hsr_slave_empty()
36 struct hsr_priv *hsr; in hsr_netdev_notify() local
46 hsr = netdev_priv(dev); in hsr_netdev_notify()
47 port = hsr_port_get_hsr(hsr, HSR_PT_MASTER); in hsr_netdev_notify()
53 hsr = port->hsr; in hsr_netdev_notify()
60 hsr_check_carrier_and_operstate(hsr); in hsr_netdev_notify()
75 master = hsr_port_get_hsr(hsr, HSR_PT_MASTER); in hsr_netdev_notify()
82 if (hsr->prot_version == PRP_V1) { in hsr_netdev_notify()
83 port = hsr_port_get_hsr(hsr, HSR_PT_SLAVE_B); in hsr_netdev_notify()
[all …]
H A Dhsr_forward.c35 static bool is_supervision_frame(struct hsr_priv *hsr, struct sk_buff *skb) in is_supervision_frame() argument
48 hsr->sup_multicast_addr)) in is_supervision_frame()
63 if (hsr_V1_hdr->hsr.encap_proto != htons(ETH_P_PRP)) in is_supervision_frame()
120 static bool is_proxy_supervision_frame(struct hsr_priv *hsr, in is_proxy_supervision_frame() argument
145 return hsr_is_node_in_db(&hsr->proxy_node_db, in is_proxy_supervision_frame()
232 lane_id |= port->hsr->net_id; in prp_set_lan_id()
273 if (port->hsr->prot_version) { in hsr_set_path_id()
311 * the hsr tag is after the vlan tag. in hsr_fill_tag()
371 return hsr_fill_tag(skb, frame, port, port->hsr->prot_version);
438 port->hsr in hsr_xmit()
524 struct hsr_priv *hsr = port->hsr; hsr_forward_do() local
587 check_local_dest(struct hsr_priv * hsr,struct sk_buff * skb,struct hsr_frame_info * frame) check_local_dest() argument
610 struct hsr_priv *hsr = port->hsr; handle_std_frame() local
632 struct hsr_priv *hsr = port->hsr; hsr_fill_frame_info() local
677 struct hsr_priv *hsr = port->hsr; fill_frame_info() local
[all...]
H A Dhsr_netlink.c134 struct hsr_priv *hsr = netdev_priv(dev); in hsr_dellink() local
136 timer_delete_sync(&hsr->prune_timer); in hsr_dellink()
137 timer_delete_sync(&hsr->prune_proxy_timer); in hsr_dellink()
138 timer_delete_sync(&hsr->announce_timer); in hsr_dellink()
139 timer_delete_sync(&hsr->announce_proxy_timer); in hsr_dellink()
141 hsr_debugfs_term(hsr); in hsr_dellink()
142 hsr_del_ports(hsr); in hsr_dellink()
144 hsr_del_self_node(hsr); in hsr_dellink()
145 hsr_del_nodes(&hsr->node_db); in hsr_dellink()
146 hsr_del_nodes(&hsr->proxy_node_db); in hsr_dellink()
[all …]
H A Dhsr_framereg.h32 void hsr_del_self_node(struct hsr_priv *hsr);
38 bool hsr_addr_is_self(struct hsr_priv *hsr, unsigned char *addr);
39 bool hsr_addr_is_redbox(struct hsr_priv *hsr, unsigned char *addr);
52 int hsr_create_self_node(struct hsr_priv *hsr,
56 void *hsr_get_next_node(struct hsr_priv *hsr, void *_pos,
59 int hsr_get_node_data(struct hsr_priv *hsr,
H A Dhsr_main.h120 struct hsr_tag hsr; member
155 struct hsr_priv *hsr; member
224 #define hsr_for_each_port(hsr, port) \ argument
225 list_for_each_entry_rcu((port), &(hsr)->ports, port_list)
227 #define hsr_for_each_port_rtnl(hsr, port) \ argument
228 list_for_each_entry_rcu((port), &(hsr)->ports, port_list, lockdep_rtnl_is_held())
230 struct hsr_port *hsr_port_get_hsr(struct hsr_priv *hsr, enum hsr_port_type pt);
H A DMakefile6 obj-$(CONFIG_HSR) += hsr.o
8 hsr-y := hsr_main.o hsr_framereg.o hsr_device.o \
10 hsr-$(CONFIG_DEBUG_FS) += hsr_debugfs.o
H A Dhsr_device.h16 void hsr_del_ports(struct hsr_priv *hsr);
21 void hsr_check_carrier_and_operstate(struct hsr_priv *hsr);
22 int hsr_get_max_mtu(struct hsr_priv *hsr);
H A Dhsr_netlink.h23 void hsr_nl_ringerror(struct hsr_priv *hsr, unsigned char addr[ETH_ALEN],
25 void hsr_nl_nodedown(struct hsr_priv *hsr, unsigned char addr[ETH_ALEN]);
H A Dhsr_slave.h17 int hsr_add_port(struct hsr_priv *hsr, struct net_device *dev,
/linux/arch/arm64/kvm/
H A Dtrace_handle_exit.h71 TP_PROTO(unsigned long hsr),
72 TP_ARGS(hsr),
75 __field(unsigned long, hsr)
79 __entry->hsr = hsr;
82 TP_printk("HSR 0x%08lx", __entry->hsr)
H A Dtrace_arm.h54 TP_PROTO(unsigned long vcpu_pc, unsigned long hsr,
57 TP_ARGS(vcpu_pc, hsr, hxfar, ipa),
61 __field( unsigned long, hsr )
68 __entry->hsr = hsr;
74 __entry->ipa, __entry->hsr,
H A Dhandle_exit.c200 run->debug.arch.hsr = lower_32_bits(esr); in kvm_handle_guest_debug()
/linux/tools/testing/selftests/net/hsr/
H A Dhsr_redbox.sh71 ip link help hsr | grep -q INTERLINK
114 …ip -net "${ns1}" link add name hsr1 type hsr slave1 ns1eth1 slave2 ns1eth2 supervision 45 version …
115 …ip -net "${ns2}" link add name hsr2 type hsr slave1 ns2eth1 slave2 ns2eth2 interlink ns2eth3 super…
/linux/net/dsa/
H A Dport.h106 int dsa_port_hsr_join(struct dsa_port *dp, struct net_device *hsr,
108 void dsa_port_hsr_leave(struct dsa_port *dp, struct net_device *hsr);
H A Ddsa.c1777 struct net_device *hsr, in dsa_port_simple_hsr_validate() argument
1783 err = hsr_get_port_type(hsr, dsa_to_port(ds, port)->user, &type); in dsa_port_simple_hsr_validate()
1798 struct net_device *hsr, in dsa_port_simple_hsr_join() argument
1804 err = dsa_port_simple_hsr_validate(ds, port, hsr, extack); in dsa_port_simple_hsr_join()
1808 dsa_hsr_foreach_port(other_dp, ds, hsr) { in dsa_port_simple_hsr_join()
1821 struct net_device *hsr) in dsa_port_simple_hsr_leave() argument
1825 dsa_hsr_foreach_port(other_dp, ds, hsr) { in dsa_port_simple_hsr_leave()
/linux/include/net/
H A Ddsa.h1218 struct net_device *hsr,
1221 struct net_device *hsr);
1327 struct net_device *hsr,
1330 struct net_device *hsr,
1333 struct net_device *hsr);
/linux/drivers/net/dsa/microchip/
H A Dksz9477.c1538 void ksz9477_hsr_join(struct dsa_switch *ds, int port, struct net_device *hsr) in ksz9477_hsr_join() argument
1550 dsa_hsr_foreach_port(hsr_dp, ds, hsr) in ksz9477_hsr_join()
1554 dsa_hsr_foreach_port(hsr_dp, ds, hsr) in ksz9477_hsr_join()
1577 void ksz9477_hsr_leave(struct dsa_switch *ds, int port, struct net_device *hsr) in ksz9477_hsr_leave() argument
H A Dksz_common.c4880 static int ksz_hsr_join(struct dsa_switch *ds, int port, struct net_device *hsr, in ksz_hsr_join() argument
4887 ret = hsr_get_version(hsr, &ver); in ksz_hsr_join()
4897 if (dev->hsr_dev && hsr != dev->hsr_dev) { in ksz_hsr_join()
4922 ksz9477_hsr_join(ds, port, hsr); in ksz_hsr_join()
4923 dev->hsr_dev = hsr; in ksz_hsr_join()
4930 struct net_device *hsr) in ksz_hsr_leave() argument
4936 ksz9477_hsr_leave(ds, port, hsr); in ksz_hsr_leave()
/linux/tools/testing/selftests/
H A DMakefile74 TARGETS += net/hsr
/linux/drivers/gpu/drm/amd/display/dc/inc/
H A Ddce_calcs.h402 struct bw_fixed hsr[maximum_number_of_surfaces]; member
/linux/sound/pci/asihpi/
H A Dhpi6205.c712 u32 hsr = 0; in adapter_irq_query_and_clear() local
714 hsr = ioread32(phw->prHSR); in adapter_irq_query_and_clear()
715 if (hsr & C6205_HSR_INTSRC) { in adapter_irq_query_and_clear()
/linux/drivers/gpu/drm/amd/display/dc/basics/
H A Dcalcs_logger.h438 DC_LOG_BANDWIDTH_CALCS(" [bw_fixed] hsr[%d]:%d", i, bw_fixed_to_int(data->hsr[i])); in print_bw_calcs_data()
/linux/
H A DMAINTAINERS11584 F: net/hsr/