Searched refs:bond (Results 1 - 14 of 14) sorted by relevance

/drivers/net/bonding/
H A Dbond_debugfs.c19 struct bonding *bond = m->private; local
20 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
24 if (BOND_MODE(bond) != BOND_MODE_ALB)
30 spin_lock_bh(&bond->mode_lock);
43 spin_unlock_bh(&bond->mode_lock);
61 void bond_debug_register(struct bonding *bond) argument
66 bond->debug_dir =
67 debugfs_create_dir(bond->dev->name, bonding_debug_root);
69 if (!bond->debug_dir) {
70 netdev_warn(bond
78 bond_debug_unregister(struct bonding *bond) argument
86 bond_debug_reregister(struct bonding *bond) argument
121 bond_debug_register(struct bonding *bond) argument
125 bond_debug_unregister(struct bonding *bond) argument
129 bond_debug_reregister(struct bonding *bond) argument
[all...]
H A Dbond_alb.c85 static void rlb_purge_src_ip(struct bonding *bond, struct arp_pkt *arp);
86 static void rlb_src_unlink(struct bonding *bond, u32 index);
87 static void rlb_src_link(struct bonding *bond, u32 ip_src_hash,
122 static void __tlb_clear_slave(struct bonding *bond, struct slave *slave, argument
129 tx_hash_table = BOND_ALB_INFO(bond).tx_hashtbl;
144 static void tlb_clear_slave(struct bonding *bond, struct slave *slave, argument
147 spin_lock_bh(&bond->mode_lock);
148 __tlb_clear_slave(bond, slave, save_load);
149 spin_unlock_bh(&bond->mode_lock);
153 static int tlb_initialize(struct bonding *bond) argument
177 tlb_deinitialize(struct bonding *bond) argument
195 tlb_get_least_loaded_slave(struct bonding *bond) argument
219 __tlb_choose_channel(struct bonding *bond, u32 hash_index, u32 skb_len) argument
255 tlb_choose_channel(struct bonding *bond, u32 hash_index, u32 skb_len) argument
276 rlb_update_entry_from_arp(struct bonding *bond, struct arp_pkt *arp) argument
300 rlb_arp_recv(const struct sk_buff *skb, struct bonding *bond, struct slave *slave) argument
334 __rlb_next_rx_slave(struct bonding *bond) argument
367 rlb_next_rx_slave(struct bonding *bond) argument
385 rlb_teach_disabled_mac_on_primary(struct bonding *bond, u8 addr[]) argument
408 rlb_clear_slave(struct bonding *bond, struct slave *slave) argument
491 rlb_update_rx_clients(struct bonding *bond) argument
519 rlb_req_update_slave_clients(struct bonding *bond, struct slave *slave) argument
551 rlb_req_update_subnet_clients(struct bonding *bond, __be32 src_ip) argument
584 rlb_choose_channel(struct sk_buff *skb, struct bonding *bond) argument
682 rlb_arp_xmit(struct sk_buff *skb, struct bonding *bond) argument
724 rlb_rebalance(struct bonding *bond) argument
776 rlb_delete_table_entry_dst(struct bonding *bond, u32 index) argument
791 rlb_src_unlink(struct bonding *bond, u32 index) argument
814 rlb_delete_table_entry(struct bonding *bond, u32 index) argument
828 rlb_src_link(struct bonding *bond, u32 ip_src_hash, u32 ip_dst_hash) argument
844 rlb_purge_src_ip(struct bonding *bond, struct arp_pkt *arp) argument
864 rlb_initialize(struct bonding *bond) argument
892 rlb_deinitialize(struct bonding *bond) argument
905 rlb_clear_vlan(struct bonding *bond, unsigned short vlan_id) argument
968 struct bonding *bond = bond_get_bond_by_slave(slave); local
1051 alb_fasten_mac_swap(struct bonding *bond, struct slave *slave1, struct slave *slave2) argument
1105 alb_change_hw_addr_on_detach(struct bonding *bond, struct slave *slave) argument
1148 alb_handle_addr_collision_on_attach(struct bonding *bond, struct slave *slave) argument
1223 alb_set_mac_address(struct bonding *bond, void *addr) argument
1267 bond_alb_initialize(struct bonding *bond, int rlb_enabled) argument
1289 bond_alb_deinitialize(struct bonding *bond) argument
1299 bond_do_alb_xmit(struct sk_buff *skb, struct bonding *bond, struct slave *tx_slave) argument
1336 struct bonding *bond = netdev_priv(bond_dev); local
1374 struct bonding *bond = netdev_priv(bond_dev); local
1471 struct bonding *bond = container_of(work, struct bonding, local
1571 bond_alb_init_slave(struct bonding *bond, struct slave *slave) argument
1599 bond_alb_deinit_slave(struct bonding *bond, struct slave *slave) argument
1613 bond_alb_handle_link_change(struct bonding *bond, struct slave *slave, char link) argument
1650 bond_alb_handle_active_change(struct bonding *bond, struct slave *new_slave) argument
1718 struct bonding *bond = netdev_priv(bond_dev); local
1760 bond_alb_clear_vlan(struct bonding *bond, unsigned short vlan_id) argument
[all...]
H A Dbond_options.c2 * drivers/net/bond/bond_options.c - bonding options
21 static int bond_option_active_slave_set(struct bonding *bond,
23 static int bond_option_miimon_set(struct bonding *bond,
25 static int bond_option_updelay_set(struct bonding *bond,
27 static int bond_option_downdelay_set(struct bonding *bond,
29 static int bond_option_use_carrier_set(struct bonding *bond,
31 static int bond_option_arp_interval_set(struct bonding *bond,
33 static int bond_option_arp_ip_target_add(struct bonding *bond, __be32 target);
34 static int bond_option_arp_ip_target_rem(struct bonding *bond, __be32 target);
35 static int bond_option_arp_ip_targets_set(struct bonding *bond,
521 bond_opt_check_deps(struct bonding *bond, const struct bond_option *opt) argument
536 bond_opt_dep_print(struct bonding *bond, const struct bond_option *opt) argument
549 bond_opt_error_interpret(struct bonding *bond, const struct bond_option *opt, int error, const struct bond_opt_value *val) argument
604 __bond_opt_set(struct bonding *bond, unsigned int option, struct bond_opt_value *val) argument
643 bond_opt_tryset_rtnl(struct bonding *bond, unsigned int option, char *buf) argument
672 bond_option_mode_set(struct bonding *bond, const struct bond_opt_value *newval) argument
693 __bond_option_active_slave_get(struct bonding *bond, struct slave *slave) argument
699 bond_option_active_slave_get_rcu(struct bonding *bond) argument
706 bond_option_active_slave_set(struct bonding *bond, const struct bond_opt_value *newval) argument
775 bond_option_miimon_set(struct bonding *bond, const struct bond_opt_value *newval) argument
814 bond_option_updelay_set(struct bonding *bond, const struct bond_opt_value *newval) argument
836 bond_option_downdelay_set(struct bonding *bond, const struct bond_opt_value *newval) argument
858 bond_option_use_carrier_set(struct bonding *bond, const struct bond_opt_value *newval) argument
872 bond_option_arp_interval_set(struct bonding *bond, const struct bond_opt_value *newval) argument
907 _bond_options_arp_ip_target_set(struct bonding *bond, int slot, __be32 target, unsigned long last_rx) argument
922 _bond_option_arp_ip_target_add(struct bonding *bond, __be32 target) argument
952 bond_option_arp_ip_target_add(struct bonding *bond, __be32 target) argument
957 bond_option_arp_ip_target_rem(struct bonding *bond, __be32 target) argument
996 bond_option_arp_ip_targets_clear(struct bonding *bond) argument
1004 bond_option_arp_ip_targets_set(struct bonding *bond, const struct bond_opt_value *newval) argument
1030 bond_option_arp_validate_set(struct bonding *bond, const struct bond_opt_value *newval) argument
1047 bond_option_arp_all_targets_set(struct bonding *bond, const struct bond_opt_value *newval) argument
1057 bond_option_primary_set(struct bonding *bond, const struct bond_opt_value *newval) argument
1106 bond_option_primary_reselect_set(struct bonding *bond, const struct bond_opt_value *newval) argument
1120 bond_option_fail_over_mac_set(struct bonding *bond, const struct bond_opt_value *newval) argument
1130 bond_option_xmit_hash_policy_set(struct bonding *bond, const struct bond_opt_value *newval) argument
1140 bond_option_resend_igmp_set(struct bonding *bond, const struct bond_opt_value *newval) argument
1150 bond_option_num_peer_notif_set(struct bonding *bond, const struct bond_opt_value *newval) argument
1158 bond_option_all_slaves_active_set(struct bonding *bond, const struct bond_opt_value *newval) argument
1179 bond_option_min_links_set(struct bonding *bond, const struct bond_opt_value *newval) argument
1189 bond_option_lp_interval_set(struct bonding *bond, const struct bond_opt_value *newval) argument
1197 bond_option_pps_set(struct bonding *bond, const struct bond_opt_value *newval) argument
1215 bond_option_lacp_rate_set(struct bonding *bond, const struct bond_opt_value *newval) argument
1226 bond_option_ad_select_set(struct bonding *bond, const struct bond_opt_value *newval) argument
1236 bond_option_queue_id_set(struct bonding *bond, const struct bond_opt_value *newval) argument
1297 bond_option_slaves_set(struct bonding *bond, const struct bond_opt_value *newval) argument
1343 bond_option_tlb_dynamic_lb_set(struct bonding *bond, const struct bond_opt_value *newval) argument
[all...]
H A Dbond_procfs.c11 struct bonding *bond = seq->private; local
21 bond_for_each_slave_rcu(bond, slave, iter)
30 struct bonding *bond = seq->private; local
37 return bond_first_slave_rcu(bond);
39 bond_for_each_slave_rcu(bond, slave, iter) {
57 struct bonding *bond = seq->private; local
62 curr = rcu_dereference(bond->curr_active_slave);
65 bond_mode_name(BOND_MODE(bond)));
67 if (BOND_MODE(bond) == BOND_MODE_ACTIVEBACKUP &&
68 bond
161 struct bonding *bond = seq->private; local
234 bond_create_proc_entry(struct bonding *bond) argument
251 bond_remove_proc_entry(struct bonding *bond) argument
[all...]
H A Dbond_alb.h30 #define BOND_ALB_INFO(bond) ((bond)->alb_info)
39 #define BOND_ALB_LP_INTERVAL(bond) (bond->params.lp_interval) /* In seconds, periodic send of
46 #define BOND_ALB_LP_TICKS(bond) (BOND_ALB_LP_INTERVAL(bond) \
169 int bond_alb_initialize(struct bonding *bond, int rlb_enabled);
170 void bond_alb_deinitialize(struct bonding *bond);
171 int bond_alb_init_slave(struct bonding *bond, struct slave *slave);
172 void bond_alb_deinit_slave(struct bonding *bond, struc
[all...]
H A Dbond_main.c240 * @bond: bond device that got this skb for tx.
244 void bond_dev_queue_xmit(struct bonding *bond, struct sk_buff *skb, argument
253 if (unlikely(netpoll_tx_running(bond->dev)))
254 bond_netpoll_send_skb(bond_get_slave_by_dev(bond, slave_dev), skb);
283 struct bonding *bond = netdev_priv(bond_dev); local
288 bond_for_each_slave(bond, slave, iter) {
298 bond_for_each_slave(bond, rollback_slave, iter) {
316 struct bonding *bond = netdev_priv(bond_dev); local
320 bond_for_each_slave(bond, slav
337 bond_set_carrier(struct bonding *bond) argument
434 bond_check_dev_link(struct bonding *bond, struct net_device *slave_dev, int reporting) argument
489 bond_set_promiscuity(struct bonding *bond, int inc) argument
512 bond_set_allmulti(struct bonding *bond, int inc) argument
540 struct bonding *bond = container_of(work, struct bonding, local
560 struct bonding *bond = netdev_priv(bond_dev); local
580 bond_hw_addr_swap(struct bonding *bond, struct slave *new_active, struct slave *old_active) argument
631 bond_do_fail_over_mac(struct bonding *bond, struct slave *new_active, struct slave *old_active) argument
689 bond_should_change_active(struct bonding *bond) argument
713 bond_find_best_slave(struct bonding *bond) argument
737 bond_should_notify_peers(struct bonding *bond) argument
770 bond_change_active_slave(struct bonding *bond, struct slave *new_active) argument
875 bond_select_active_slave(struct bonding *bond) argument
934 struct bonding *bond = netdev_priv(bond_dev); local
945 struct bonding *bond = netdev_priv(dev); local
977 struct bonding *bond = netdev_priv(dev); local
1003 bond_compute_features(struct bonding *bond) argument
1066 bond_should_deliver_exact_match(struct sk_buff *skb, struct slave *slave, struct bonding *bond) argument
1084 struct bonding *bond; local
1150 bond_alloc_slave(struct bonding *bond) argument
1171 struct bonding *bond = bond_get_bond_by_slave(slave); local
1182 struct bonding *bond = netdev_priv(bond_dev); local
1639 struct bonding *bond = netdev_priv(bond_dev); local
1800 struct bonding *bond = netdev_priv(bond_dev); local
1815 struct bonding *bond = netdev_priv(bond_dev); local
1826 struct bonding *bond = netdev_priv(bond_dev); local
1848 bond_miimon_inspect(struct bonding *bond) argument
1944 bond_miimon_commit(struct bonding *bond) argument
2047 struct bonding *bond = container_of(work, struct bonding, local
2089 bond_has_this_ip(struct bonding *bond, __be32 ip) argument
2211 bond_arp_send_all(struct bonding *bond, struct slave *slave) argument
2265 bond_validate_arp(struct bonding *bond, struct slave *slave, __be32 sip, __be32 tip) argument
2285 bond_arp_rcv(const struct sk_buff *skb, struct bonding *bond, struct slave *slave) argument
2367 bond_time_in_interval(struct bonding *bond, unsigned long last_act, int mod) argument
2385 struct bonding *bond = container_of(work, struct bonding, local
2496 bond_ab_arp_inspect(struct bonding *bond) argument
2563 bond_ab_arp_commit(struct bonding *bond) argument
2638 bond_ab_arp_probe(struct bonding *bond) argument
2722 struct bonding *bond = container_of(work, struct bonding, local
2777 bond_event_changename(struct bonding *bond) argument
2816 struct bonding *bond; local
2964 bond_flow_dissect(struct bonding *bond, struct sk_buff *skb, struct flow_keys *fk) argument
3010 bond_xmit_hash(struct bonding *bond, struct sk_buff *skb) argument
3033 bond_work_init_all(struct bonding *bond) argument
3047 bond_work_cancel_all(struct bonding *bond) argument
3059 struct bonding *bond = netdev_priv(bond_dev); local
3112 struct bonding *bond = netdev_priv(bond_dev); local
3126 struct bonding *bond = netdev_priv(bond_dev); local
3174 struct bonding *bond = netdev_priv(bond_dev); local
3281 struct bonding *bond = netdev_priv(bond_dev); local
3294 struct bonding *bond = netdev_priv(bond_dev); local
3316 struct bonding *bond = netdev_priv(n->dev); local
3369 struct bonding *bond = netdev_priv(bond_dev); local
3427 struct bonding *bond = netdev_priv(bond_dev); local
3499 bond_xmit_slave_id(struct bonding *bond, struct sk_buff *skb, int slave_id) argument
3537 bond_rr_gen_slave_id(struct bonding *bond) argument
3564 struct bonding *bond = netdev_priv(bond_dev); local
3600 struct bonding *bond = netdev_priv(bond_dev); local
3616 bond_slave_arr_work_rearm(struct bonding *bond, unsigned long delay) argument
3624 struct bonding *bond = container_of(work, struct bonding, local
3651 bond_update_slave_arr(struct bonding *bond, struct slave *skipslave) argument
3740 struct bonding *bond = netdev_priv(dev); local
3761 struct bonding *bond = netdev_priv(bond_dev); local
3790 bond_slave_override(struct bonding *bond, struct sk_buff *skb) argument
3838 struct bonding *bond = netdev_priv(dev); local
3869 struct bonding *bond = netdev_priv(dev); local
3891 struct bonding *bond = netdev_priv(bond_dev); local
3965 struct bonding *bond = netdev_priv(bond_dev); local
3973 struct bonding *bond = netdev_priv(bond_dev); local
4024 struct bonding *bond = netdev_priv(bond_dev); local
4421 struct bonding *bond = netdev_priv(bond_dev); local
4501 struct bonding *bond, *tmp_bond; local
[all...]
H A Dbonding.h57 #define BOND_MODE(bond) ((bond)->params.mode)
60 #define bond_slave_list(bond) (&(bond)->dev->adj_list.lower)
62 #define bond_has_slaves(bond) !list_empty(bond_slave_list(bond))
65 #define bond_first_slave(bond) \
66 (bond_has_slaves(bond) ? \
67 netdev_adjacent_get_private(bond_slave_list(bond)->next) : \
69 #define bond_last_slave(bond) \
155 struct bonding *bond; /* our master */ member in struct:slave
256 bond_get_slave_by_dev(struct bonding *bond, struct net_device *slave_dev) argument
267 bond_should_override_tx_queue(struct bonding *bond) argument
273 bond_is_lb(const struct bonding *bond) argument
279 bond_is_nondyn_tlb(const struct bonding *bond) argument
285 bond_mode_uses_xmit_hash(const struct bonding *bond) argument
304 bond_uses_primary(struct bonding *bond) argument
348 bond_slave_state_change(struct bonding *bond) argument
361 bond_slave_state_notify(struct bonding *bond) argument
415 slave_do_arp_validate(struct bonding *bond, struct slave *slave) argument
421 slave_do_arp_validate_only(struct bonding *bond) argument
434 slave_oldest_target_arp_rx(struct bonding *bond, struct slave *slave) argument
447 slave_last_rx(struct bonding *bond, struct slave *slave) argument
554 bond_create_proc_entry(struct bonding *bond) argument
558 bond_remove_proc_entry(struct bonding *bond) argument
571 bond_slave_has_mac(struct bonding *bond, const u8 *mac) argument
585 bond_slave_has_mac_rcu(struct bonding *bond, const u8 *mac) argument
599 bond_slave_has_mac_rx(struct bonding *bond, const u8 *mac) argument
[all...]
H A Dbond_netlink.c2 * drivers/net/bond/bond_netlink.c - Netlink interface for bonding
57 if (BOND_MODE(slave->bond) == BOND_MODE_8023AD) {
118 struct bonding *bond = netdev_priv(bond_dev); local
133 err = __bond_opt_set(bond, BOND_OPT_QUEUE_ID, &newval);
144 struct bonding *bond = netdev_priv(bond_dev); local
156 err = __bond_opt_set(bond, BOND_OPT_MODE, &newval);
173 err = __bond_opt_set(bond, BOND_OPT_ACTIVE_SLAVE, &newval);
181 err = __bond_opt_set(bond, BOND_OPT_MIIMON, &newval);
189 err = __bond_opt_set(bond, BOND_OPT_UPDELAY, &newval);
197 err = __bond_opt_set(bond, BOND_OPT_DOWNDELA
432 bond_option_active_slave_get_ifindex(struct bonding *bond) argument
447 struct bonding *bond = netdev_priv(bond_dev); local
[all...]
H A Dbond_sysfs.c58 struct bonding *bond; local
62 list_for_each_entry(bond, &bn->dev_list, bond_list) {
70 res += sprintf(buf + res, "%s ", bond->dev->name);
81 struct bonding *bond; local
83 list_for_each_entry(bond, &bn->dev_list, bond_list) {
84 if (strncmp(bond->dev->name, ifname, IFNAMSIZ) == 0)
85 return bond->dev;
162 struct bonding *bond = to_bond(d); local
169 ret = bond_opt_tryset_rtnl(bond, opt->id, (char *)buffer);
176 /* Show the slaves in the current bond
180 struct bonding *bond = to_bond(d); local
213 struct bonding *bond = to_bond(d); local
228 struct bonding *bond = to_bond(d); local
243 struct bonding *bond = to_bond(d); local
259 struct bonding *bond = to_bond(d); local
275 struct bonding *bond = to_bond(d); local
291 struct bonding *bond = to_bond(d); local
303 struct bonding *bond = to_bond(d); local
324 struct bonding *bond = to_bond(d); local
335 struct bonding *bond = to_bond(d); local
348 struct bonding *bond = to_bond(d); local
362 struct bonding *bond = to_bond(d); local
373 struct bonding *bond = to_bond(d); local
388 struct bonding *bond = to_bond(d); local
396 struct bonding *bond = to_bond(d); local
415 struct bonding *bond = to_bond(d); local
427 struct bonding *bond = to_bond(d); local
447 struct bonding *bond = to_bond(d); local
464 struct bonding *bond = to_bond(d); local
477 struct bonding *bond = to_bond(d); local
497 struct bonding *bond = to_bond(d); local
510 struct bonding *bond = to_bond(d); local
530 struct bonding *bond = to_bond(d); local
550 struct bonding *bond = to_bond(d); local
570 struct bonding *bond = to_bond(d); local
590 struct bonding *bond = to_bond(d); local
607 struct bonding *bond = to_bond(d); local
642 struct bonding *bond = to_bond(d); local
654 struct bonding *bond = to_bond(d); local
666 struct bonding *bond = to_bond(d); local
677 struct bonding *bond = to_bond(d); local
687 struct bonding *bond = to_bond(d); local
780 bond_prepare_sysfs_group(struct bonding *bond) argument
[all...]
H A Dbond_3ad.c142 * __get_first_agg - get the first aggregator in the bond
143 * @bond: the bond we're looking at
145 * Return the aggregator of the first slave in @bond, or %NULL if it can't be
151 struct bonding *bond = __get_bond_by_port(port); local
155 /* If there's no bond for this port, or bond has no slaves */
156 if (bond == NULL)
160 first_slave = bond_first_slave_rcu(bond);
217 struct bonding *bond local
231 struct bonding *bond = __get_bond_by_port(port); local
658 struct bonding *bond = aggregator->slave->bond; local
1208 struct bonding *bond; local
1473 struct bonding *bond = agg->slave->bond; local
1782 bond_3ad_initiate_agg_selection(struct bonding *bond, int timeout) argument
1794 bond_3ad_initialize(struct bonding *bond, u16 tick_resolution) argument
1825 struct bonding *bond = bond_get_bond_by_slave(slave); local
1888 struct bonding *bond = slave->bond; local
2051 struct bonding *bond = container_of(work, struct bonding, local
2334 bond_3ad_set_carrier(struct bonding *bond) argument
2374 __bond_3ad_get_active_agg_info(struct bonding *bond, struct ad_info *ad_info) argument
2402 bond_3ad_get_active_agg_info(struct bonding *bond, struct ad_info *ad_info) argument
2413 bond_3ad_lacpdu_recv(const struct sk_buff *skb, struct bonding *bond, struct slave *slave) argument
2439 bond_3ad_update_lacp_rate(struct bonding *bond) argument
[all...]
H A Dbond_options.h2 * drivers/net/bond/bond_options.h - bonding options
19 * BOND_OPTFLAG_NOSLAVES - check if the bond device is empty before setting
20 * BOND_OPTFLAG_IFDOWN - check if the bond device is down before setting
98 int (*set)(struct bonding *bond, const struct bond_opt_value *val);
101 int __bond_opt_set(struct bonding *bond, unsigned int option,
103 int bond_opt_tryset_rtnl(struct bonding *bond, unsigned int option, char *buf);
128 void bond_option_arp_ip_targets_clear(struct bonding *bond);
H A Dbond_3ad.h190 struct slave *slave; /* pointer to the bond slave that this aggregator belongs to */
232 struct slave *slave; /* pointer to the bond slave that this port belongs to */
250 #define BOND_AD_INFO(bond) ((bond)->ad_info)
266 void bond_3ad_initialize(struct bonding *bond, u16 tick_resolution);
270 void bond_3ad_initiate_agg_selection(struct bonding *bond, int timeout);
274 int bond_3ad_get_active_agg_info(struct bonding *bond, struct ad_info *ad_info);
275 int __bond_3ad_get_active_agg_info(struct bonding *bond,
278 int bond_3ad_lacpdu_recv(const struct sk_buff *skb, struct bonding *bond,
280 int bond_3ad_set_carrier(struct bonding *bond);
[all...]
H A Dbond_sysfs_slave.c1 /* Sysfs attributes of bond slaves
72 if (BOND_MODE(slave->bond) == BOND_MODE_8023AD) {
/drivers/net/ethernet/chelsio/cxgb4/
H A Dcxgb4_main.c4429 struct bonding *bond = netdev_priv(ifa->idev->dev); local
4439 * bond. We need to find such different adapters and add clip
4442 bond_for_each_slave(bond, slave, iter) {
4465 /* Retrieves IPv6 addresses from a root device (bond, vlan) associated with
4501 /* Parse all bond and vlan devices layered on top of the physical dev */

Completed in 192 milliseconds