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 ---