Lines Matching refs:nt
129 static void netconsole_target_get(struct netconsole_target *nt) in netconsole_target_get() argument
131 if (config_item_name(&nt->item)) in netconsole_target_get()
132 config_item_get(&nt->item); in netconsole_target_get()
135 static void netconsole_target_put(struct netconsole_target *nt) in netconsole_target_put() argument
137 if (config_item_name(&nt->item)) in netconsole_target_put()
138 config_item_put(&nt->item); in netconsole_target_put()
156 static void netconsole_target_get(struct netconsole_target *nt) in netconsole_target_get() argument
160 static void netconsole_target_put(struct netconsole_target *nt) in netconsole_target_put() argument
170 struct netconsole_target *nt; in alloc_param_target() local
176 nt = kzalloc(sizeof(*nt), GFP_KERNEL); in alloc_param_target()
177 if (!nt) in alloc_param_target()
180 nt->np.name = "netconsole"; in alloc_param_target()
181 strscpy(nt->np.dev_name, "eth0", IFNAMSIZ); in alloc_param_target()
182 nt->np.local_port = 6665; in alloc_param_target()
183 nt->np.remote_port = 6666; in alloc_param_target()
184 eth_broadcast_addr(nt->np.remote_mac); in alloc_param_target()
187 nt->extended = true; in alloc_param_target()
192 err = netpoll_parse_options(&nt->np, target_config); in alloc_param_target()
196 err = netpoll_setup(&nt->np); in alloc_param_target()
200 nt->enabled = true; in alloc_param_target()
202 return nt; in alloc_param_target()
205 kfree(nt); in alloc_param_target()
210 static void free_param_target(struct netconsole_target *nt) in free_param_target() argument
212 netpoll_cleanup(&nt->np); in free_param_target()
213 kfree(nt); in free_param_target()
274 struct netconsole_target *nt = to_target(item); in local_ip_show() local
276 if (nt->np.ipv6) in local_ip_show()
277 return snprintf(buf, PAGE_SIZE, "%pI6c\n", &nt->np.local_ip.in6); in local_ip_show()
279 return snprintf(buf, PAGE_SIZE, "%pI4\n", &nt->np.local_ip); in local_ip_show()
284 struct netconsole_target *nt = to_target(item); in remote_ip_show() local
286 if (nt->np.ipv6) in remote_ip_show()
287 return snprintf(buf, PAGE_SIZE, "%pI6c\n", &nt->np.remote_ip.in6); in remote_ip_show()
289 return snprintf(buf, PAGE_SIZE, "%pI4\n", &nt->np.remote_ip); in remote_ip_show()
315 struct netconsole_target *nt = to_target(item); in enabled_store() local
328 if ((bool)enabled == nt->enabled) { in enabled_store()
330 nt->enabled ? "started" : "stopped"); in enabled_store()
335 if (nt->extended && !console_is_registered(&netconsole_ext)) in enabled_store()
342 netpoll_print_options(&nt->np); in enabled_store()
344 err = netpoll_setup(&nt->np); in enabled_store()
355 nt->enabled = false; in enabled_store()
357 netpoll_cleanup(&nt->np); in enabled_store()
360 nt->enabled = enabled; in enabled_store()
372 struct netconsole_target *nt = to_target(item); in extended_store() local
377 if (nt->enabled) { in extended_store()
379 config_item_name(&nt->item)); in extended_store()
392 nt->extended = extended; in extended_store()
404 struct netconsole_target *nt = to_target(item); in dev_name_store() local
408 if (nt->enabled) { in dev_name_store()
410 config_item_name(&nt->item)); in dev_name_store()
415 strscpy(nt->np.dev_name, buf, IFNAMSIZ); in dev_name_store()
418 len = strnlen(nt->np.dev_name, IFNAMSIZ); in dev_name_store()
419 if (nt->np.dev_name[len - 1] == '\n') in dev_name_store()
420 nt->np.dev_name[len - 1] = '\0'; in dev_name_store()
429 struct netconsole_target *nt = to_target(item); in local_port_store() local
433 if (nt->enabled) { in local_port_store()
435 config_item_name(&nt->item)); in local_port_store()
439 rv = kstrtou16(buf, 10, &nt->np.local_port); in local_port_store()
452 struct netconsole_target *nt = to_target(item); in remote_port_store() local
456 if (nt->enabled) { in remote_port_store()
458 config_item_name(&nt->item)); in remote_port_store()
462 rv = kstrtou16(buf, 10, &nt->np.remote_port); in remote_port_store()
475 struct netconsole_target *nt = to_target(item); in local_ip_store() local
478 if (nt->enabled) { in local_ip_store()
480 config_item_name(&nt->item)); in local_ip_store()
486 if (in6_pton(buf, count, nt->np.local_ip.in6.s6_addr, -1, &end) > 0) { in local_ip_store()
491 nt->np.ipv6 = true; in local_ip_store()
495 if (!nt->np.ipv6) { in local_ip_store()
496 nt->np.local_ip.ip = in_aton(buf); in local_ip_store()
511 struct netconsole_target *nt = to_target(item); in remote_ip_store() local
514 if (nt->enabled) { in remote_ip_store()
516 config_item_name(&nt->item)); in remote_ip_store()
522 if (in6_pton(buf, count, nt->np.remote_ip.in6.s6_addr, -1, &end) > 0) { in remote_ip_store()
527 nt->np.ipv6 = true; in remote_ip_store()
531 if (!nt->np.ipv6) { in remote_ip_store()
532 nt->np.remote_ip.ip = in_aton(buf); in remote_ip_store()
547 struct netconsole_target *nt = to_target(item); in remote_mac_store() local
551 if (nt->enabled) { in remote_mac_store()
553 config_item_name(&nt->item)); in remote_mac_store()
561 memcpy(nt->np.remote_mac, remote_mac, ETH_ALEN); in remote_mac_store()
620 struct netconsole_target *nt; in make_netconsole_target() local
626 nt = kzalloc(sizeof(*nt), GFP_KERNEL); in make_netconsole_target()
627 if (!nt) in make_netconsole_target()
630 nt->np.name = "netconsole"; in make_netconsole_target()
631 strscpy(nt->np.dev_name, "eth0", IFNAMSIZ); in make_netconsole_target()
632 nt->np.local_port = 6665; in make_netconsole_target()
633 nt->np.remote_port = 6666; in make_netconsole_target()
634 eth_broadcast_addr(nt->np.remote_mac); in make_netconsole_target()
637 config_item_init_type_name(&nt->item, name, &netconsole_target_type); in make_netconsole_target()
641 list_add(&nt->list, &target_list); in make_netconsole_target()
644 return &nt->item; in make_netconsole_target()
651 struct netconsole_target *nt = to_target(item); in drop_netconsole_target() local
654 list_del(&nt->list); in drop_netconsole_target()
661 if (nt->enabled) in drop_netconsole_target()
662 netpoll_cleanup(&nt->np); in drop_netconsole_target()
664 config_item_put(&nt->item); in drop_netconsole_target()
694 struct netconsole_target *nt; in netconsole_netdev_event() local
704 list_for_each_entry(nt, &target_list, list) { in netconsole_netdev_event()
705 netconsole_target_get(nt); in netconsole_netdev_event()
706 if (nt->np.dev == dev) { in netconsole_netdev_event()
709 strscpy(nt->np.dev_name, dev->name, IFNAMSIZ); in netconsole_netdev_event()
719 __netpoll_cleanup(&nt->np); in netconsole_netdev_event()
722 netdev_put(nt->np.dev, &nt->np.dev_tracker); in netconsole_netdev_event()
723 nt->np.dev = NULL; in netconsole_netdev_event()
724 nt->enabled = false; in netconsole_netdev_event()
726 netconsole_target_put(nt); in netconsole_netdev_event()
730 netconsole_target_put(nt); in netconsole_netdev_event()
768 static void send_ext_msg_udp(struct netconsole_target *nt, const char *msg, in send_ext_msg_udp() argument
777 netpoll_send_udp(&nt->np, msg, msg_len); in send_ext_msg_udp()
812 netpoll_send_udp(&nt->np, buf, this_header + this_chunk); in send_ext_msg_udp()
821 struct netconsole_target *nt; in write_ext_msg() local
828 list_for_each_entry(nt, &target_list, list) in write_ext_msg()
829 if (nt->extended && nt->enabled && netif_running(nt->np.dev)) in write_ext_msg()
830 send_ext_msg_udp(nt, msg, len); in write_ext_msg()
838 struct netconsole_target *nt; in write_msg() local
848 list_for_each_entry(nt, &target_list, list) { in write_msg()
849 if (!nt->extended && nt->enabled && netif_running(nt->np.dev)) { in write_msg()
859 netpoll_send_udp(&nt->np, tmp, frag); in write_msg()
883 struct netconsole_target *nt, *tmp; in init_netconsole() local
891 nt = alloc_param_target(target_config); in init_netconsole()
892 if (IS_ERR(nt)) { in init_netconsole()
893 err = PTR_ERR(nt); in init_netconsole()
897 if (nt->extended) { in init_netconsole()
905 list_add(&nt->list, &target_list); in init_netconsole()
936 list_for_each_entry_safe(nt, tmp, &target_list, list) { in init_netconsole()
937 list_del(&nt->list); in init_netconsole()
938 free_param_target(nt); in init_netconsole()
946 struct netconsole_target *nt, *tmp; in cleanup_netconsole() local
962 list_for_each_entry_safe(nt, tmp, &target_list, list) { in cleanup_netconsole()
963 list_del(&nt->list); in cleanup_netconsole()
964 free_param_target(nt); in cleanup_netconsole()