Home
last modified time | relevance | path

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

12

/linux/net/hsr/
H A Dhsr_device.c7 * virtual HSR or PRP devices.
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()
[all …]
H A Dhsr_framereg.c7 * The HSR spec says never to forward the same frame twice on the same
8 * interface. A frame is identified by its source MAC address and its HSR
10 * to allow filtering of duplicate frames, and to detect HSR ring errors.
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()
73 * recognize frames from self that's been looped over the HSR ring.
75 int hsr_create_self_node(struct hsr_priv *hsr, in hsr_create_self_node() argument
[all …]
H A Dhsr_netlink.c7 * Routines for handling Netlink messages for HSR and PRP.
45 "HSR slaves/interlink must be on the same net namespace than HSR link"); in hsr_newlink()
114 "Only HSR version 0/1 supported"); in hsr_newlink()
123 "Interlink only works with HSR"); in hsr_newlink()
134 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()
[all …]
H A Dhsr_forward.c7 * Frame router for HSR and PRP.
20 /* The uses I can see for these HSR supervision frames are:
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
129 /* Get the HSR protocol revision. */ in is_proxy_supervision_frame()
142 /* For RedBox (HSR-SAN) check if we have received the supervision in is_proxy_supervision_frame()
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()
[all …]
H A DKconfig6 config HSR config
7 tristate "High-availability Seamless Redundancy (HSR & PRP)"
10 Redundancy (HSR) and Parallel Redundancy Protocol (PRP).
13 DANH ("Doubly attached node implementing HSR") or DANP ("Doubly
18 with other HSR capable nodes. All Ethernet frames sent over the HSR
20 ports), giving a redundant, instant fail-over network. Each HSR node
21 in the ring acts like a bridge for HSR frames, but filters frames
25 separate networks over the two slave interfaces. Like HSR, Ethernet
27 a redundant, instant fail-over network. Unlike HSR, PRP networks
31 This code is a "best effort" to comply with the HSR standard as
[all …]
H A DMakefile3 # Makefile for HSR
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 Dhsr_device.h7 * include file for HSR and PRP.
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 Dhsr_netlink.h7 * include file for HSR and PRP.
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 Dhsr_slave.h6 * include file for HSR and PRP.
17 int hsr_add_port(struct hsr_priv *hsr, struct net_device *dev,
H A Dhsr_forward.h7 * include file for HSR and PRP.
/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;
73 TP_printk("ipa %#llx, hsr %#08lx, hxfar %#08lx, pc %#016lx",
74 __entry->ipa, __entry->hsr,
/linux/tools/testing/selftests/net/hsr/
H A Dhsr_redbox.sh10 echo "INFO: Initial validation ping (HSR-SAN/RedBox)."
26 # Wait for MGNT HSR frames being received and nodes being
30 echo "INFO: Longer ping test (HSR-SAN/RedBox)."
48 echo "INFO: preparing interfaces for HSRv${HSRv} (HSR-SAN/RedBox)."
71 ip link help hsr | grep -q INTERLINK
72 [ $? -ne 0 ] && { echo "iproute2: HSR interlink interface not supported!"; exit 0; }
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/sound/soc/codecs/
H A Dab8500-codec.c374 SND_SOC_DAPM_PGA("HSR Digital Volume", SND_SOC_NOPM, 0, 0,
379 SND_SOC_DAPM_DAC("HSR DAC", "ab8500_0p",
384 SND_SOC_DAPM_MIXER("HSR DAC Mute", AB8500_MUTECONF,
389 SND_SOC_DAPM_DAC("HSR DAC Driver", "ab8500_0p",
395 SND_SOC_DAPM_MIXER("HSR Mute",
401 SND_SOC_DAPM_MIXER("HSR Enable",
407 SND_SOC_DAPM_PGA("HSR Volume",
577 SND_SOC_DAPM_MIXER("LINR to HSR Volume",
731 {"HSR Digital Volume", NULL, "DA2 Enable"},
734 {"HSR DAC", NULL, "HSR Digital Volume"},
[all …]
H A Dmc13783.c495 SND_SOC_DAPM_OUTPUT("HSR"),
549 { "HSR", NULL, "Headset Amp Right"},
555 { "HSR", "Headset Amp Right", "Headset Amp Source MUX"},
/linux/include/uapi/linux/
H A Dhsr_netlink.h17 /* Generic Netlink HSR family definition
20 /* attributes for HSR or PRP node */
/linux/drivers/net/ethernet/ti/icssg/
H A Dicssg_prueth.c263 /* Configure HSR/PRP protocol filtering if in HSR offload mode */ in prueth_emac_common_start()
673 * icssg_is_addr_synced - Check if address is synced from HSR master
677 * Checks if the address is synced from HSR master (hsr0) via
680 * Return: true if synced from HSR master, false if added directly
700 * icssg_hsr_fdb_update - Update FDB and VLAN table for HSR multicast
718 * icssg_prueth_hsr_fdb_add_del - Manage FDB port membership for HSR multicast
722 * @is_synced: true if synced from HSR master, false if added directly
738 /* Set P0 (HSR master) bit when: in icssg_prueth_hsr_fdb_add_del()
739 * - Address is synced from HSR master (is_synced=true), OR in icssg_prueth_hsr_fdb_add_del()
740 * - In HSR offload mode AND it's a VLAN interface (is_vlan_path=true) in icssg_prueth_hsr_fdb_add_del()
[all …]
H A Dicssg_mii_rt.h79 /* for HSR and PRP */
/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.c1773 /* Helpers for switches without specific HSR offloads, but which can implement
1777 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()
1789 "Only HSR slave ports can be offloaded"); 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()
H A Dport.c1462 * VLAN, LAG, HSR need to be migrated. in dsa_port_change_conduit()
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()
1921 "port %d failed to leave HSR %s: %pe\n", in dsa_port_hsr_leave()
1922 dp->index, hsr->name, ERR_PTR(err)); in dsa_port_hsr_leave()
/linux/drivers/net/ethernet/ti/
H A DKconfig195 depends on HSR || !HSR
/linux/drivers/net/fddi/skfp/h/
H A Dskfbiinc.h54 #define HSRA HSR(0)
/linux/Documentation/translations/zh_CN/process/
H A Dresearcher-guidelines.rst26 * `研究伦理史 <https://www.unlv.edu/research/ORI-HSR/history-ethics>`_
/linux/net/
H A DMakefile69 obj-$(CONFIG_HSR) += hsr/

12