Lines Matching refs:dev

32 	port = hsr_port_get_rcu(skb->dev);
56 bool hsr_port_exists(const struct net_device *dev)
58 return rcu_access_pointer(dev->rx_handler) == hsr_handle_frame;
62 static int hsr_check_dev_ok(struct net_device *dev)
65 if ((dev->flags & IFF_LOOPBACK) || (dev->type != ARPHRD_ETHER) ||
66 (dev->addr_len != ETH_ALEN)) {
67 netdev_info(dev, "Cannot use loopback or non-ethernet device as HSR slave.\n");
72 if (is_hsr_master(dev)) {
73 netdev_info(dev, "Cannot create trees of HSR devices.\n");
77 if (hsr_port_exists(dev)) {
78 netdev_info(dev, "This device is already a HSR slave.\n");
82 if (dev->priv_flags & IFF_802_1Q_VLAN) {
83 netdev_info(dev, "HSR on top of VLAN is not yet supported in this driver.\n");
87 if (dev->priv_flags & IFF_DONT_BRIDGE) {
88 netdev_info(dev, "This device does not support bridging.\n");
101 static int hsr_portdev_setup(struct net_device *dev, struct hsr_port *port)
105 dev_hold(dev);
106 res = dev_set_promiscuity(dev, 1);
112 * res = netdev_master_upper_dev_link(port->dev, port->hsr->dev); ?
115 res = netdev_rx_handler_register(dev, hsr_handle_frame, port);
118 dev_disable_lro(dev);
123 dev_set_promiscuity(dev, -1);
125 dev_put(dev);
130 int hsr_add_port(struct hsr_priv *hsr, struct net_device *dev,
137 res = hsr_check_dev_ok(dev);
151 res = hsr_portdev_setup(dev, port);
157 port->dev = dev;
164 netdev_update_features(master->dev);
165 dev_set_mtu(master->dev, hsr_get_max_mtu(hsr));
184 netdev_update_features(master->dev);
185 dev_set_mtu(master->dev, hsr_get_max_mtu(hsr));
186 netdev_rx_handler_unregister(port->dev);
187 dev_set_promiscuity(port->dev, -1);
191 * netdev_upper_dev_unlink(port->dev, port->hsr->dev);
195 dev_put(port->dev);