Home
last modified time | relevance | path

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

/net/hsr/
Dhsr_device.c62 hsr_for_each_port(master->hsr, port) { in hsr_check_carrier()
77 struct hsr_priv *hsr; in hsr_check_announce() local
79 hsr = netdev_priv(hsr_dev); in hsr_check_announce()
83 hsr->announce_count = 0; in hsr_check_announce()
84 mod_timer(&hsr->announce_timer, in hsr_check_announce()
90 del_timer(&hsr->announce_timer); in hsr_check_announce()
93 void hsr_check_carrier_and_operstate(struct hsr_priv *hsr) in hsr_check_carrier_and_operstate() argument
99 master = hsr_port_get_hsr(hsr, HSR_PT_MASTER); in hsr_check_carrier_and_operstate()
109 int hsr_get_max_mtu(struct hsr_priv *hsr) in hsr_get_max_mtu() argument
115 hsr_for_each_port(hsr, port) in hsr_get_max_mtu()
[all …]
Dhsr_framereg.c41 bool hsr_addr_is_self(struct hsr_priv *hsr, unsigned char *addr) in hsr_addr_is_self() argument
45 node = list_first_or_null_rcu(&hsr->self_node_db, struct hsr_node, in hsr_addr_is_self()
78 int hsr_create_self_node(struct hsr_priv *hsr, in hsr_create_self_node() argument
82 struct list_head *self_node_db = &hsr->self_node_db; in hsr_create_self_node()
92 spin_lock_bh(&hsr->list_lock); in hsr_create_self_node()
97 spin_unlock_bh(&hsr->list_lock); in hsr_create_self_node()
101 spin_unlock_bh(&hsr->list_lock); in hsr_create_self_node()
107 void hsr_del_self_node(struct hsr_priv *hsr) in hsr_del_self_node() argument
109 struct list_head *self_node_db = &hsr->self_node_db; in hsr_del_self_node()
112 spin_lock_bh(&hsr->list_lock); in hsr_del_self_node()
[all …]
Dhsr_main.c21 static bool hsr_slave_empty(struct hsr_priv *hsr) in hsr_slave_empty() argument
25 hsr_for_each_port(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()
84 port = hsr_port_get_hsr(hsr, HSR_PT_SLAVE_B); in hsr_netdev_notify()
85 res = hsr_create_self_node(hsr, in hsr_netdev_notify()
[all …]
Dhsr_slave.c28 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()
58 hsr->proto_ops->invalid_dan_ingress_frame && in hsr_handle_frame()
59 hsr->proto_ops->invalid_dan_ingress_frame(protocol)) in hsr_handle_frame()
64 if ((!hsr->prot_version && protocol == htons(ETH_P_PRP)) || in hsr_handle_frame()
125 static int hsr_portdev_setup(struct hsr_priv *hsr, struct net_device *dev, in hsr_portdev_setup() argument
138 master = hsr_port_get_hsr(hsr, HSR_PT_MASTER); in hsr_portdev_setup()
159 int hsr_add_port(struct hsr_priv *hsr, struct net_device *dev, in hsr_add_port() argument
171 port = hsr_port_get_hsr(hsr, type); in hsr_add_port()
[all …]
Dhsr_netlink.c107 struct hsr_priv *hsr = netdev_priv(dev); in hsr_dellink() local
109 del_timer_sync(&hsr->prune_timer); in hsr_dellink()
110 del_timer_sync(&hsr->announce_timer); in hsr_dellink()
112 hsr_debugfs_term(hsr); in hsr_dellink()
113 hsr_del_ports(hsr); in hsr_dellink()
115 hsr_del_self_node(hsr); in hsr_dellink()
116 hsr_del_nodes(&hsr->node_db); in hsr_dellink()
123 struct hsr_priv *hsr = netdev_priv(dev); in hsr_fill_info() local
127 port = hsr_port_get_hsr(hsr, HSR_PT_SLAVE_A); in hsr_fill_info()
133 port = hsr_port_get_hsr(hsr, HSR_PT_SLAVE_B); in hsr_fill_info()
[all …]
Dhsr_forward.c35 static bool is_supervision_frame(struct hsr_priv *hsr, struct sk_buff *skb) in is_supervision_frame() argument
46 hsr->sup_multicast_addr)) in is_supervision_frame()
57 if (hsr_V1_hdr->hsr.encap_proto != htons(ETH_P_PRP)) in is_supervision_frame()
159 lane_id |= port->hsr->net_id; in prp_set_lan_id()
278 return hsr_fill_tag(skb, frame, port, port->hsr->prot_version); in hsr_create_tagged_frame()
375 hsr_for_each_port(frame->port_rcv->hsr, port) { in hsr_forward_do()
376 struct hsr_priv *hsr = port->hsr; in hsr_forward_do() local
411 if (hsr->proto_ops->drop_frame && in hsr_forward_do()
412 hsr->proto_ops->drop_frame(frame, port)) in hsr_forward_do()
416 skb = hsr->proto_ops->create_tagged_frame(frame, port); in hsr_forward_do()
[all …]
Dhsr_framereg.h31 void hsr_del_self_node(struct hsr_priv *hsr);
37 bool hsr_addr_is_self(struct hsr_priv *hsr, unsigned char *addr);
50 int hsr_create_self_node(struct hsr_priv *hsr,
54 void *hsr_get_next_node(struct hsr_priv *hsr, void *_pos,
57 int hsr_get_node_data(struct hsr_priv *hsr,
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
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);
Dhsr_main.h128 struct hsr_tag hsr; member
172 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 struct hsr_port *hsr_port_get_hsr(struct hsr_priv *hsr, enum hsr_port_type pt);
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]);
Dhsr_slave.h17 int hsr_add_port(struct hsr_priv *hsr, struct net_device *dev,
/net/dsa/
Dport.c1315 int dsa_port_hsr_join(struct dsa_port *dp, struct net_device *hsr) in dsa_port_hsr_join() argument
1320 .hsr = hsr, in dsa_port_hsr_join()
1324 dp->hsr_dev = hsr; in dsa_port_hsr_join()
1333 void dsa_port_hsr_leave(struct dsa_port *dp, struct net_device *hsr) in dsa_port_hsr_leave() argument
1338 .hsr = hsr, in dsa_port_hsr_leave()
Ddsa_priv.h144 struct net_device *hsr; member
264 int dsa_port_hsr_join(struct dsa_port *dp, struct net_device *hsr);
265 void dsa_port_hsr_leave(struct dsa_port *dp, struct net_device *hsr);
Dswitch.c412 return ds->ops->port_hsr_join(ds, info->port, info->hsr); in dsa_switch_hsr_join()
421 return ds->ops->port_hsr_leave(ds, info->port, info->hsr); in dsa_switch_hsr_leave()
/net/
DMakefile73 obj-$(CONFIG_HSR) += hsr/
DKconfig240 source "net/hsr/Kconfig"