map.c (396665e8320987ff43b20a62a6a1cdae57aa1cc1) map.c (9cbe1f581d17baff7e93936feb041c90b29eb6a8)
1/*
2 * Copyright (C) 2017 Netronome Systems, Inc.
3 *
4 * This software is dual licensed under the GNU General License Version 2,
5 * June 1991 as shown in the file COPYING in the top-level directory of this
6 * source tree or the BSD 2-Clause License provided below. You have the
7 * option to license this software under the complete terms of either license.
8 *

--- 202 unchanged lines hidden (view full) ---

211 if (!map_is_per_cpu(info->type)) {
212 bool single_line, break_names;
213
214 break_names = info->key_size > 16 || info->value_size > 16;
215 single_line = info->key_size + info->value_size <= 24 &&
216 !break_names;
217
218 printf("key:%c", break_names ? '\n' : ' ');
1/*
2 * Copyright (C) 2017 Netronome Systems, Inc.
3 *
4 * This software is dual licensed under the GNU General License Version 2,
5 * June 1991 as shown in the file COPYING in the top-level directory of this
6 * source tree or the BSD 2-Clause License provided below. You have the
7 * option to license this software under the complete terms of either license.
8 *

--- 202 unchanged lines hidden (view full) ---

211 if (!map_is_per_cpu(info->type)) {
212 bool single_line, break_names;
213
214 break_names = info->key_size > 16 || info->value_size > 16;
215 single_line = info->key_size + info->value_size <= 24 &&
216 !break_names;
217
218 printf("key:%c", break_names ? '\n' : ' ');
219 print_hex(key, info->key_size, " ");
219 fprint_hex(stdout, key, info->key_size, " ");
220
221 printf(single_line ? " " : "\n");
222
223 printf("value:%c", break_names ? '\n' : ' ');
220
221 printf(single_line ? " " : "\n");
222
223 printf("value:%c", break_names ? '\n' : ' ');
224 print_hex(value, info->value_size, " ");
224 fprint_hex(stdout, value, info->value_size, " ");
225
226 printf("\n");
227 } else {
228 unsigned int i, n;
229
230 n = get_possible_cpus();
231
232 printf("key:\n");
225
226 printf("\n");
227 } else {
228 unsigned int i, n;
229
230 n = get_possible_cpus();
231
232 printf("key:\n");
233 print_hex(key, info->key_size, " ");
233 fprint_hex(stdout, key, info->key_size, " ");
234 printf("\n");
235 for (i = 0; i < n; i++) {
236 printf("value (CPU %02d):%c",
237 i, info->value_size > 16 ? '\n' : ' ');
234 printf("\n");
235 for (i = 0; i < n; i++) {
236 printf("value (CPU %02d):%c",
237 i, info->value_size > 16 ? '\n' : ' ');
238 print_hex(value + i * info->value_size,
239 info->value_size, " ");
238 fprint_hex(stdout, value + i * info->value_size,
239 info->value_size, " ");
240 printf("\n");
241 }
242 }
243}
244
245static char **parse_bytes(char **argv, const char *name, unsigned char *val,
246 unsigned int n)
247{

--- 239 unchanged lines hidden (view full) ---

487 err = 0;
488 break;
489 }
490
491 if (!bpf_map_lookup_elem(fd, key, value)) {
492 print_entry(&info, key, value);
493 } else {
494 info("can't lookup element with key: ");
240 printf("\n");
241 }
242 }
243}
244
245static char **parse_bytes(char **argv, const char *name, unsigned char *val,
246 unsigned int n)
247{

--- 239 unchanged lines hidden (view full) ---

487 err = 0;
488 break;
489 }
490
491 if (!bpf_map_lookup_elem(fd, key, value)) {
492 print_entry(&info, key, value);
493 } else {
494 info("can't lookup element with key: ");
495 print_hex(key, info.key_size, " ");
496 printf("\n");
495 fprint_hex(stderr, key, info.key_size, " ");
496 fprintf(stderr, "\n");
497 }
498
499 prev_key = key;
500 num_elems++;
501 }
502
503 printf("Found %u element%s\n", num_elems, num_elems != 1 ? "s" : "");
504

--- 77 unchanged lines hidden (view full) ---

582 if (err)
583 goto exit_free;
584
585 err = bpf_map_lookup_elem(fd, key, value);
586 if (!err) {
587 print_entry(&info, key, value);
588 } else if (errno == ENOENT) {
589 printf("key:\n");
497 }
498
499 prev_key = key;
500 num_elems++;
501 }
502
503 printf("Found %u element%s\n", num_elems, num_elems != 1 ? "s" : "");
504

--- 77 unchanged lines hidden (view full) ---

582 if (err)
583 goto exit_free;
584
585 err = bpf_map_lookup_elem(fd, key, value);
586 if (!err) {
587 print_entry(&info, key, value);
588 } else if (errno == ENOENT) {
589 printf("key:\n");
590 print_hex(key, info.key_size, " ");
590 fprint_hex(stdout, key, info.key_size, " ");
591 printf("\n\nNot found\n");
592 } else {
593 err("lookup failed: %s\n", strerror(errno));
594 }
595
596exit_free:
597 free(key);
598 free(value);

--- 38 unchanged lines hidden (view full) ---

637 err = bpf_map_get_next_key(fd, key, nextkey);
638 if (err) {
639 err("can't get next key: %s\n", strerror(errno));
640 goto exit_free;
641 }
642
643 if (key) {
644 printf("key:\n");
591 printf("\n\nNot found\n");
592 } else {
593 err("lookup failed: %s\n", strerror(errno));
594 }
595
596exit_free:
597 free(key);
598 free(value);

--- 38 unchanged lines hidden (view full) ---

637 err = bpf_map_get_next_key(fd, key, nextkey);
638 if (err) {
639 err("can't get next key: %s\n", strerror(errno));
640 goto exit_free;
641 }
642
643 if (key) {
644 printf("key:\n");
645 print_hex(key, info.key_size, " ");
645 fprint_hex(stdout, key, info.key_size, " ");
646 printf("\n");
647 } else {
648 printf("key: None\n");
649 }
650
651 printf("next key:\n");
646 printf("\n");
647 } else {
648 printf("key: None\n");
649 }
650
651 printf("next key:\n");
652 print_hex(nextkey, info.key_size, " ");
652 fprint_hex(stdout, nextkey, info.key_size, " ");
653 printf("\n");
654
655exit_free:
656 free(nextkey);
657 free(key);
658 close(fd);
659
660 return err;

--- 84 unchanged lines hidden ---
653 printf("\n");
654
655exit_free:
656 free(nextkey);
657 free(key);
658 close(fd);
659
660 return err;

--- 84 unchanged lines hidden ---