pktgen.c (6f107c741212ca5fbfb0724571395716420017d6) | pktgen.c (99c6d3d20d6287d7dd6e65686dba9e696de91f90) |
---|---|
1/* 2 * Authors: 3 * Copyright 2001, 2002 by Robert Olsson <robert.olsson@its.uu.se> 4 * Uppsala University and 5 * Swedish University of Agricultural Sciences 6 * 7 * Alexey Kuznetsov <kuznet@ms2.inr.ac.ru> 8 * Ben Greear <greearb@candelatech.com> --- 201 unchanged lines hidden (view full) --- 210}; 211#undef pf 212 213/* Device flag bits */ 214#define pf(flag) static const __u32 F_##flag = (1<<flag##_SHIFT); 215PKT_FLAGS 216#undef pf 217 | 1/* 2 * Authors: 3 * Copyright 2001, 2002 by Robert Olsson <robert.olsson@its.uu.se> 4 * Uppsala University and 5 * Swedish University of Agricultural Sciences 6 * 7 * Alexey Kuznetsov <kuznet@ms2.inr.ac.ru> 8 * Ben Greear <greearb@candelatech.com> --- 201 unchanged lines hidden (view full) --- 210}; 211#undef pf 212 213/* Device flag bits */ 214#define pf(flag) static const __u32 F_##flag = (1<<flag##_SHIFT); 215PKT_FLAGS 216#undef pf 217 |
218#define pf(flag) __stringify(flag), 219static char *pkt_flag_names[] = { 220 PKT_FLAGS 221}; 222#undef pf 223 224#define NR_PKT_FLAGS ARRAY_SIZE(pkt_flag_names) 225 |
|
218/* Thread control flag bits */ 219#define T_STOP (1<<0) /* Stop run */ 220#define T_RUN (1<<1) /* Start run */ 221#define T_REMDEVALL (1<<2) /* Remove all devs */ 222#define T_REMDEV (1<<3) /* Remove one dev */ 223 224/* Xmit modes */ 225#define M_START_XMIT 0 /* Default normal TX */ --- 314 unchanged lines hidden (view full) --- 540 .write = pgctrl_write, 541 .release = single_release, 542}; 543 544static int pktgen_if_show(struct seq_file *seq, void *v) 545{ 546 const struct pktgen_dev *pkt_dev = seq->private; 547 ktime_t stopped; | 226/* Thread control flag bits */ 227#define T_STOP (1<<0) /* Stop run */ 228#define T_RUN (1<<1) /* Start run */ 229#define T_REMDEVALL (1<<2) /* Remove all devs */ 230#define T_REMDEV (1<<3) /* Remove one dev */ 231 232/* Xmit modes */ 233#define M_START_XMIT 0 /* Default normal TX */ --- 314 unchanged lines hidden (view full) --- 548 .write = pgctrl_write, 549 .release = single_release, 550}; 551 552static int pktgen_if_show(struct seq_file *seq, void *v) 553{ 554 const struct pktgen_dev *pkt_dev = seq->private; 555 ktime_t stopped; |
556 unsigned int i; |
|
548 u64 idle; 549 550 seq_printf(seq, 551 "Params: count %llu min_pkt_size: %u max_pkt_size: %u\n", 552 (unsigned long long)pkt_dev->count, pkt_dev->min_pkt_size, 553 pkt_dev->max_pkt_size); 554 555 seq_printf(seq, --- 45 unchanged lines hidden (view full) --- 601 pkt_dev->udp_src_min, pkt_dev->udp_src_max, 602 pkt_dev->udp_dst_min, pkt_dev->udp_dst_max); 603 604 seq_printf(seq, 605 " src_mac_count: %d dst_mac_count: %d\n", 606 pkt_dev->src_mac_count, pkt_dev->dst_mac_count); 607 608 if (pkt_dev->nr_labels) { | 557 u64 idle; 558 559 seq_printf(seq, 560 "Params: count %llu min_pkt_size: %u max_pkt_size: %u\n", 561 (unsigned long long)pkt_dev->count, pkt_dev->min_pkt_size, 562 pkt_dev->max_pkt_size); 563 564 seq_printf(seq, --- 45 unchanged lines hidden (view full) --- 610 pkt_dev->udp_src_min, pkt_dev->udp_src_max, 611 pkt_dev->udp_dst_min, pkt_dev->udp_dst_max); 612 613 seq_printf(seq, 614 " src_mac_count: %d dst_mac_count: %d\n", 615 pkt_dev->src_mac_count, pkt_dev->dst_mac_count); 616 617 if (pkt_dev->nr_labels) { |
609 unsigned int i; | |
610 seq_puts(seq, " mpls: "); 611 for (i = 0; i < pkt_dev->nr_labels; i++) 612 seq_printf(seq, "%08x%s", ntohl(pkt_dev->labels[i]), 613 i == pkt_dev->nr_labels-1 ? "\n" : ", "); 614 } 615 616 if (pkt_dev->vlan_id != 0xffff) 617 seq_printf(seq, " vlan_id: %u vlan_p: %u vlan_cfi: %u\n", --- 19 unchanged lines hidden (view full) --- 637 638 if (pkt_dev->xmit_mode == M_NETIF_RECEIVE) 639 seq_puts(seq, " xmit_mode: netif_receive\n"); 640 else if (pkt_dev->xmit_mode == M_QUEUE_XMIT) 641 seq_puts(seq, " xmit_mode: xmit_queue\n"); 642 643 seq_puts(seq, " Flags: "); 644 | 618 seq_puts(seq, " mpls: "); 619 for (i = 0; i < pkt_dev->nr_labels; i++) 620 seq_printf(seq, "%08x%s", ntohl(pkt_dev->labels[i]), 621 i == pkt_dev->nr_labels-1 ? "\n" : ", "); 622 } 623 624 if (pkt_dev->vlan_id != 0xffff) 625 seq_printf(seq, " vlan_id: %u vlan_p: %u vlan_cfi: %u\n", --- 19 unchanged lines hidden (view full) --- 645 646 if (pkt_dev->xmit_mode == M_NETIF_RECEIVE) 647 seq_puts(seq, " xmit_mode: netif_receive\n"); 648 else if (pkt_dev->xmit_mode == M_QUEUE_XMIT) 649 seq_puts(seq, " xmit_mode: xmit_queue\n"); 650 651 seq_puts(seq, " Flags: "); 652 |
645 if (pkt_dev->flags & F_IPV6) 646 seq_puts(seq, "IPV6 "); | 653 for (i = 0; i < NR_PKT_FLAGS; i++) { 654 if (i == F_FLOW_SEQ) 655 if (!pkt_dev->cflows) 656 continue; |
647 | 657 |
648 if (pkt_dev->flags & F_IPSRC_RND) 649 seq_puts(seq, "IPSRC_RND "); | 658 if (pkt_dev->flags & (1 << i)) 659 seq_printf(seq, "%s ", pkt_flag_names[i]); 660 else if (i == F_FLOW_SEQ) 661 seq_puts(seq, "FLOW_RND "); |
650 | 662 |
651 if (pkt_dev->flags & F_IPDST_RND) 652 seq_puts(seq, "IPDST_RND "); 653 654 if (pkt_dev->flags & F_TXSIZE_RND) 655 seq_puts(seq, "TXSIZE_RND "); 656 657 if (pkt_dev->flags & F_UDPSRC_RND) 658 seq_puts(seq, "UDPSRC_RND "); 659 660 if (pkt_dev->flags & F_UDPDST_RND) 661 seq_puts(seq, "UDPDST_RND "); 662 663 if (pkt_dev->flags & F_UDPCSUM) 664 seq_puts(seq, "UDPCSUM "); 665 666 if (pkt_dev->flags & F_NO_TIMESTAMP) 667 seq_puts(seq, "NO_TIMESTAMP "); 668 669 if (pkt_dev->flags & F_MPLS_RND) 670 seq_puts(seq, "MPLS_RND "); 671 672 if (pkt_dev->flags & F_QUEUE_MAP_RND) 673 seq_puts(seq, "QUEUE_MAP_RND "); 674 675 if (pkt_dev->flags & F_QUEUE_MAP_CPU) 676 seq_puts(seq, "QUEUE_MAP_CPU "); 677 678 if (pkt_dev->cflows) { 679 if (pkt_dev->flags & F_FLOW_SEQ) 680 seq_puts(seq, "FLOW_SEQ "); /*in sequence flows*/ 681 else 682 seq_puts(seq, "FLOW_RND "); 683 } 684 | |
685#ifdef CONFIG_XFRM | 663#ifdef CONFIG_XFRM |
686 if (pkt_dev->flags & F_IPSEC) { 687 seq_puts(seq, "IPSEC "); 688 if (pkt_dev->spi) | 664 if (i == F_IPSEC && pkt_dev->spi) |
689 seq_printf(seq, "spi:%u", pkt_dev->spi); | 665 seq_printf(seq, "spi:%u", pkt_dev->spi); |
690 } | |
691#endif | 666#endif |
667 } |
|
692 | 668 |
693 if (pkt_dev->flags & F_MACSRC_RND) 694 seq_puts(seq, "MACSRC_RND "); 695 696 if (pkt_dev->flags & F_MACDST_RND) 697 seq_puts(seq, "MACDST_RND "); 698 699 if (pkt_dev->flags & F_VID_RND) 700 seq_puts(seq, "VID_RND "); 701 702 if (pkt_dev->flags & F_SVID_RND) 703 seq_puts(seq, "SVID_RND "); 704 705 if (pkt_dev->flags & F_NODE) 706 seq_puts(seq, "NODE_ALLOC "); 707 | |
708 seq_puts(seq, "\n"); 709 710 /* not really stopped, more like last-running-at */ 711 stopped = pkt_dev->running ? ktime_get() : pkt_dev->stopped_at; 712 idle = pkt_dev->idle_acc; 713 do_div(idle, NSEC_PER_USEC); 714 715 seq_printf(seq, --- 3282 unchanged lines hidden --- | 669 seq_puts(seq, "\n"); 670 671 /* not really stopped, more like last-running-at */ 672 stopped = pkt_dev->running ? ktime_get() : pkt_dev->stopped_at; 673 idle = pkt_dev->idle_acc; 674 do_div(idle, NSEC_PER_USEC); 675 676 seq_printf(seq, --- 3282 unchanged lines hidden --- |