Skip to content

Commit 99c6d3d

Browse files
0x7f454c46davem330
authored andcommitted
pktgen: Remove brute-force printing of flags
Add macro generated pkt_flag_names array, with a little help of which the flags can be printed by using an index. Signed-off-by: Dmitry Safonov <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 6f107c7 commit 99c6d3d

File tree

1 file changed

+19
-58
lines changed

1 file changed

+19
-58
lines changed

net/core/pktgen.c

Lines changed: 19 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,14 @@ enum pkt_flags {
215215
PKT_FLAGS
216216
#undef pf
217217

218+
#define pf(flag) __stringify(flag),
219+
static char *pkt_flag_names[] = {
220+
PKT_FLAGS
221+
};
222+
#undef pf
223+
224+
#define NR_PKT_FLAGS ARRAY_SIZE(pkt_flag_names)
225+
218226
/* Thread control flag bits */
219227
#define T_STOP (1<<0) /* Stop run */
220228
#define T_RUN (1<<1) /* Start run */
@@ -545,6 +553,7 @@ static int pktgen_if_show(struct seq_file *seq, void *v)
545553
{
546554
const struct pktgen_dev *pkt_dev = seq->private;
547555
ktime_t stopped;
556+
unsigned int i;
548557
u64 idle;
549558

550559
seq_printf(seq,
@@ -606,7 +615,6 @@ static int pktgen_if_show(struct seq_file *seq, void *v)
606615
pkt_dev->src_mac_count, pkt_dev->dst_mac_count);
607616

608617
if (pkt_dev->nr_labels) {
609-
unsigned int i;
610618
seq_puts(seq, " mpls: ");
611619
for (i = 0; i < pkt_dev->nr_labels; i++)
612620
seq_printf(seq, "%08x%s", ntohl(pkt_dev->labels[i]),
@@ -642,68 +650,21 @@ static int pktgen_if_show(struct seq_file *seq, void *v)
642650

643651
seq_puts(seq, " Flags: ");
644652

645-
if (pkt_dev->flags & F_IPV6)
646-
seq_puts(seq, "IPV6 ");
647-
648-
if (pkt_dev->flags & F_IPSRC_RND)
649-
seq_puts(seq, "IPSRC_RND ");
650-
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 ");
653+
for (i = 0; i < NR_PKT_FLAGS; i++) {
654+
if (i == F_FLOW_SEQ)
655+
if (!pkt_dev->cflows)
656+
continue;
677657

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-
}
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 ");
684662

685663
#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)
689665
seq_printf(seq, "spi:%u", pkt_dev->spi);
690-
}
691666
#endif
692-
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 ");
667+
}
707668

708669
seq_puts(seq, "\n");
709670

0 commit comments

Comments
 (0)