Lines Matching defs:nt

128 static void netconsole_target_get(struct netconsole_target *nt)
130 if (config_item_name(&nt->item))
131 config_item_get(&nt->item);
134 static void netconsole_target_put(struct netconsole_target *nt)
136 if (config_item_name(&nt->item))
137 config_item_put(&nt->item);
155 static void netconsole_target_get(struct netconsole_target *nt)
159 static void netconsole_target_put(struct netconsole_target *nt)
169 struct netconsole_target *nt;
175 nt = kzalloc(sizeof(*nt), GFP_KERNEL);
176 if (!nt)
179 nt->np.name = "netconsole";
180 strlcpy(nt->np.dev_name, "eth0", IFNAMSIZ);
181 nt->np.local_port = 6665;
182 nt->np.remote_port = 6666;
183 eth_broadcast_addr(nt->np.remote_mac);
186 nt->extended = true;
191 err = netpoll_parse_options(&nt->np, target_config);
195 err = netpoll_setup(&nt->np);
199 nt->enabled = true;
201 return nt;
204 kfree(nt);
209 static void free_param_target(struct netconsole_target *nt)
211 netpoll_cleanup(&nt->np);
212 kfree(nt);
273 struct netconsole_target *nt = to_target(item);
275 if (nt->np.ipv6)
276 return snprintf(buf, PAGE_SIZE, "%pI6c\n", &nt->np.local_ip.in6);
278 return snprintf(buf, PAGE_SIZE, "%pI4\n", &nt->np.local_ip);
283 struct netconsole_target *nt = to_target(item);
285 if (nt->np.ipv6)
286 return snprintf(buf, PAGE_SIZE, "%pI6c\n", &nt->np.remote_ip.in6);
288 return snprintf(buf, PAGE_SIZE, "%pI4\n", &nt->np.remote_ip);
314 struct netconsole_target *nt = to_target(item);
327 if ((bool)enabled == nt->enabled) {
329 nt->enabled ? "started" : "stopped");
334 if (nt->extended && !(netconsole_ext.flags & CON_ENABLED)) {
343 netpoll_print_options(&nt->np);
345 err = netpoll_setup(&nt->np);
353 * nt->np.dev == NULL and nt->enabled == true
356 nt->enabled = false;
358 netpoll_cleanup(&nt->np);
361 nt->enabled = enabled;
373 struct netconsole_target *nt = to_target(item);
378 if (nt->enabled) {
380 config_item_name(&nt->item));
393 nt->extended = extended;
405 struct netconsole_target *nt = to_target(item);
409 if (nt->enabled) {
411 config_item_name(&nt->item));
416 strlcpy(nt->np.dev_name, buf, IFNAMSIZ);
419 len = strnlen(nt->np.dev_name, IFNAMSIZ);
420 if (nt->np.dev_name[len - 1] == '\n')
421 nt->np.dev_name[len - 1] = '\0';
430 struct netconsole_target *nt = to_target(item);
434 if (nt->enabled) {
436 config_item_name(&nt->item));
440 rv = kstrtou16(buf, 10, &nt->np.local_port);
453 struct netconsole_target *nt = to_target(item);
457 if (nt->enabled) {
459 config_item_name(&nt->item));
463 rv = kstrtou16(buf, 10, &nt->np.remote_port);
476 struct netconsole_target *nt = to_target(item);
479 if (nt->enabled) {
481 config_item_name(&nt->item));
487 if (in6_pton(buf, count, nt->np.local_ip.in6.s6_addr, -1, &end) > 0) {
492 nt->np.ipv6 = true;
496 if (!nt->np.ipv6) {
497 nt->np.local_ip.ip = in_aton(buf);
512 struct netconsole_target *nt = to_target(item);
515 if (nt->enabled) {
517 config_item_name(&nt->item));
523 if (in6_pton(buf, count, nt->np.remote_ip.in6.s6_addr, -1, &end) > 0) {
528 nt->np.ipv6 = true;
532 if (!nt->np.ipv6) {
533 nt->np.remote_ip.ip = in_aton(buf);
548 struct netconsole_target *nt = to_target(item);
552 if (nt->enabled) {
554 config_item_name(&nt->item));
562 memcpy(nt->np.remote_mac, remote_mac, ETH_ALEN);
621 struct netconsole_target *nt;
627 nt = kzalloc(sizeof(*nt), GFP_KERNEL);
628 if (!nt)
631 nt->np.name = "netconsole";
632 strlcpy(nt->np.dev_name, "eth0", IFNAMSIZ);
633 nt->np.local_port = 6665;
634 nt->np.remote_port = 6666;
635 eth_broadcast_addr(nt->np.remote_mac);
638 config_item_init_type_name(&nt->item, name, &netconsole_target_type);
642 list_add(&nt->list, &target_list);
645 return &nt->item;
652 struct netconsole_target *nt = to_target(item);
655 list_del(&nt->list);
662 if (nt->enabled)
663 netpoll_cleanup(&nt->np);
665 config_item_put(&nt->item);
695 struct netconsole_target *nt;
705 list_for_each_entry(nt, &target_list, list) {
706 netconsole_target_get(nt);
707 if (nt->np.dev == dev) {
710 strlcpy(nt->np.dev_name, dev->name, IFNAMSIZ);
720 __netpoll_cleanup(&nt->np);
723 dev_put(nt->np.dev);
724 nt->np.dev = NULL;
725 nt->enabled = false;
727 netconsole_target_put(nt);
731 netconsole_target_put(nt);
761 * @nt: target to send message to
765 * Transfer extended log @msg to @nt. If @msg is longer than
769 static void send_ext_msg_udp(struct netconsole_target *nt, const char *msg,
778 netpoll_send_udp(&nt->np, msg, msg_len);
813 netpoll_send_udp(&nt->np, buf, this_header + this_chunk);
822 struct netconsole_target *nt;
829 list_for_each_entry(nt, &target_list, list)
830 if (nt->extended && nt->enabled && netif_running(nt->np.dev))
831 send_ext_msg_udp(nt, msg, len);
839 struct netconsole_target *nt;
849 list_for_each_entry(nt, &target_list, list) {
850 if (!nt->extended && nt->enabled && netif_running(nt->np.dev)) {
860 netpoll_send_udp(&nt->np, tmp, frag);
884 struct netconsole_target *nt, *tmp;
891 nt = alloc_param_target(target_config);
892 if (IS_ERR(nt)) {
893 err = PTR_ERR(nt);
897 if (nt->extended)
904 list_add(&nt->list, &target_list);
935 list_for_each_entry_safe(nt, tmp, &target_list, list) {
936 list_del(&nt->list);
937 free_param_target(nt);
945 struct netconsole_target *nt, *tmp;
960 list_for_each_entry_safe(nt, tmp, &target_list, list) {
961 list_del(&nt->list);
962 free_param_target(nt);