| /linux/net/hsr/ |
| H A D | hsr_device.c | 52 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 D | hsr_framereg.c | 23 bool hsr_addr_is_redbox(struct hsr_priv *hsr, unsigned char *addr) in hsr_addr_is_redbox() argument 25 if (!hsr->redbox || !is_valid_ether_addr(hsr->macaddress_redbox)) in hsr_addr_is_redbox() 28 return ether_addr_equal(addr, hsr->macaddress_redbox); in hsr_addr_is_redbox() 31 bool hsr_addr_is_self(struct hsr_priv *hsr, unsigned char *addr) in hsr_addr_is_self() argument 37 sn = rcu_dereference(hsr->self_node); in hsr_addr_is_self() 75 int hsr_create_self_node(struct hsr_priv *hsr, in hsr_create_self_node() argument 88 spin_lock_bh(&hsr->list_lock); in hsr_create_self_node() 89 old = rcu_replace_pointer(hsr->self_node, sn, in hsr_create_self_node() 90 lockdep_is_held(&hsr->list_lock)); in hsr_create_self_node() 91 spin_unlock_bh(&hsr->list_lock); in hsr_create_self_node() [all …]
|
| H A D | hsr_slave.c | 28 struct hsr_priv *hsr; in hsr_handle_frame() local 43 hsr = port->hsr; in hsr_handle_frame() 45 if (hsr_addr_is_self(port->hsr, eth_hdr(skb)->h_source)) { in hsr_handle_frame() 59 hsr->proto_ops->invalid_dan_ingress_frame && in hsr_handle_frame() 60 hsr->proto_ops->invalid_dan_ingress_frame(protocol)) in hsr_handle_frame() 65 if ((!hsr->prot_version && protocol == htons(ETH_P_PRP)) || in hsr_handle_frame() 80 spin_lock_bh(&hsr->seqnr_lock); in hsr_handle_frame() 82 spin_unlock_bh(&hsr->seqnr_lock); in hsr_handle_frame() 141 static int hsr_portdev_setup(struct hsr_priv *hsr, struct net_device *dev, in hsr_portdev_setup() argument 154 if (!port->hsr->fwd_offloaded) { in hsr_portdev_setup() [all …]
|
| H A D | hsr_forward.c | 35 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() 371 return hsr_fill_tag(skb, frame, port, port->hsr->prot_version); in hsr_create_tagged_frame() 438 port->hsr->macaddress_redbox); in hsr_xmit() 493 hsr_is_node_in_db(&port->hsr->proxy_node_db, in hsr_drop_frame() [all …]
|
| H A D | hsr_netlink.c | 133 struct hsr_priv *hsr = netdev_priv(dev); in hsr_dellink() local 135 timer_delete_sync(&hsr->prune_timer); in hsr_dellink() 136 timer_delete_sync(&hsr->prune_proxy_timer); in hsr_dellink() 137 timer_delete_sync(&hsr->announce_timer); in hsr_dellink() 138 timer_delete_sync(&hsr->announce_proxy_timer); in hsr_dellink() 140 hsr_debugfs_term(hsr); in hsr_dellink() 141 hsr_del_ports(hsr); in hsr_dellink() 143 hsr_del_self_node(hsr); in hsr_dellink() 144 hsr_del_nodes(&hsr->node_db); in hsr_dellink() 145 hsr_del_nodes(&hsr->proxy_node_db); in hsr_dellink() [all …]
|
| H A D | hsr_framereg.h | 34 void hsr_del_self_node(struct hsr_priv *hsr); 40 bool hsr_addr_is_self(struct hsr_priv *hsr, unsigned char *addr); 41 bool hsr_addr_is_redbox(struct hsr_priv *hsr, unsigned char *addr); 54 int hsr_create_self_node(struct hsr_priv *hsr, 58 void *hsr_get_next_node(struct hsr_priv *hsr, void *_pos, 61 int hsr_get_node_data(struct hsr_priv *hsr,
|
| H A D | Makefile | 6 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 D | hsr_device.h | 16 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 D | hsr_main.h | 120 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 D | hsr_netlink.h | 23 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 D | hsr_slave.h | 17 int hsr_add_port(struct hsr_priv *hsr, struct net_device *dev,
|
| /linux/arch/arm64/kvm/ |
| H A D | trace_handle_exit.h | 71 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 D | trace_arm.h | 54 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,
|
| /linux/tools/testing/selftests/net/hsr/ |
| H A D | hsr_prp_redbox.sh | 24 if ! ip link help hsr 2>&1 | grep -q interlink; then 46 if ! ip -n "$RB" link add name prp0 type hsr slave1 rb_a slave2 rb_b \ 52 ip -n "$PEER" link add name prp0 type hsr slave1 pe_a slave2 pe_b proto 1
|
| H A D | hsr_redbox.sh | 71 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 D | port.h | 106 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 D | dsa.c | 1791 struct net_device *hsr, in dsa_port_simple_hsr_validate() argument 1797 err = hsr_get_port_type(hsr, dsa_to_port(ds, port)->user, &type); in dsa_port_simple_hsr_validate() 1812 struct net_device *hsr, in dsa_port_simple_hsr_join() argument 1818 err = dsa_port_simple_hsr_validate(ds, port, hsr, extack); in dsa_port_simple_hsr_join() 1822 dsa_hsr_foreach_port(other_dp, ds, hsr) { in dsa_port_simple_hsr_join() 1835 struct net_device *hsr) in dsa_port_simple_hsr_leave() argument 1839 dsa_hsr_foreach_port(other_dp, ds, hsr) { in dsa_port_simple_hsr_leave()
|
| H A D | port.c | 1889 int dsa_port_hsr_join(struct dsa_port *dp, struct net_device *hsr, in dsa_port_hsr_join() argument 1898 dp->hsr_dev = hsr; in dsa_port_hsr_join() 1900 err = ds->ops->port_hsr_join(ds, dp->index, hsr, extack); in dsa_port_hsr_join() 1907 void dsa_port_hsr_leave(struct dsa_port *dp, struct net_device *hsr) in dsa_port_hsr_leave() argument 1918 err = ds->ops->port_hsr_leave(ds, dp->index, hsr); in dsa_port_hsr_leave() 1922 dp->index, hsr->name, ERR_PTR(err)); in dsa_port_hsr_leave()
|
| /linux/include/net/ |
| H A D | dsa.h | 1237 struct net_device *hsr, 1240 struct net_device *hsr); 1346 struct net_device *hsr, 1349 struct net_device *hsr, 1352 struct net_device *hsr);
|
| /linux/drivers/net/dsa/microchip/ |
| H A D | ksz9477.c | 1862 struct net_device *hsr, in ksz9477_hsr_join() argument 1872 ret = hsr_get_version(hsr, &ver); in ksz9477_hsr_join() 1882 if (dev->hsr_dev && hsr != dev->hsr_dev) { in ksz9477_hsr_join() 1913 dsa_hsr_foreach_port(hsr_dp, ds, hsr) in ksz9477_hsr_join() 1917 dsa_hsr_foreach_port(hsr_dp, ds, hsr) in ksz9477_hsr_join() 1939 dev->hsr_dev = hsr; in ksz9477_hsr_join() 1946 struct net_device *hsr) in ksz9477_hsr_leave() argument
|
| /linux/tools/testing/selftests/ |
| H A D | Makefile | 83 TARGETS += net/hsr
|
| /linux/drivers/gpu/drm/amd/display/dc/inc/ |
| H A D | dce_calcs.h | 402 struct bw_fixed hsr[maximum_number_of_surfaces]; member
|
| /linux/sound/pci/asihpi/ |
| H A D | hpi6205.c | 712 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 D | calcs_logger.h | 438 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 D | MAINTAINERS | 12027 F: net/hsr/ 12028 F: tools/testing/selftests/net/hsr/
|