Commit 5fa6fc76 authored by Stephen Hemminger's avatar Stephen Hemminger Committed by David S. Miller

[PKTGEN]: use random32

Can use random32() now.
Signed-off-by: default avatarStephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: default avatarRobert Olsson <robert.olsson@its.uu.se>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 25c4e53a
...@@ -465,17 +465,6 @@ static inline __u64 pg_div64(__u64 n, __u64 base) ...@@ -465,17 +465,6 @@ static inline __u64 pg_div64(__u64 n, __u64 base)
return tmp; return tmp;
} }
static inline u32 pktgen_random(void)
{
#if 0
__u32 n;
get_random_bytes(&n, 4);
return n;
#else
return net_random();
#endif
}
static inline __u64 getCurMs(void) static inline __u64 getCurMs(void)
{ {
struct timeval tv; struct timeval tv;
...@@ -2092,7 +2081,7 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev) ...@@ -2092,7 +2081,7 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev)
int flow = 0; int flow = 0;
if (pkt_dev->cflows) { if (pkt_dev->cflows) {
flow = pktgen_random() % pkt_dev->cflows; flow = random32() % pkt_dev->cflows;
if (pkt_dev->flows[flow].count > pkt_dev->lflow) if (pkt_dev->flows[flow].count > pkt_dev->lflow)
pkt_dev->flows[flow].count = 0; pkt_dev->flows[flow].count = 0;
...@@ -2104,7 +2093,7 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev) ...@@ -2104,7 +2093,7 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev)
__u32 tmp; __u32 tmp;
if (pkt_dev->flags & F_MACSRC_RND) if (pkt_dev->flags & F_MACSRC_RND)
mc = pktgen_random() % (pkt_dev->src_mac_count); mc = random32() % pkt_dev->src_mac_count;
else { else {
mc = pkt_dev->cur_src_mac_offset++; mc = pkt_dev->cur_src_mac_offset++;
if (pkt_dev->cur_src_mac_offset > if (pkt_dev->cur_src_mac_offset >
...@@ -2130,7 +2119,7 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev) ...@@ -2130,7 +2119,7 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev)
__u32 tmp; __u32 tmp;
if (pkt_dev->flags & F_MACDST_RND) if (pkt_dev->flags & F_MACDST_RND)
mc = pktgen_random() % (pkt_dev->dst_mac_count); mc = random32() % pkt_dev->dst_mac_count;
else { else {
mc = pkt_dev->cur_dst_mac_offset++; mc = pkt_dev->cur_dst_mac_offset++;
...@@ -2157,24 +2146,23 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev) ...@@ -2157,24 +2146,23 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev)
for(i = 0; i < pkt_dev->nr_labels; i++) for(i = 0; i < pkt_dev->nr_labels; i++)
if (pkt_dev->labels[i] & MPLS_STACK_BOTTOM) if (pkt_dev->labels[i] & MPLS_STACK_BOTTOM)
pkt_dev->labels[i] = MPLS_STACK_BOTTOM | pkt_dev->labels[i] = MPLS_STACK_BOTTOM |
((__force __be32)pktgen_random() & ((__force __be32)random32() &
htonl(0x000fffff)); htonl(0x000fffff));
} }
if ((pkt_dev->flags & F_VID_RND) && (pkt_dev->vlan_id != 0xffff)) { if ((pkt_dev->flags & F_VID_RND) && (pkt_dev->vlan_id != 0xffff)) {
pkt_dev->vlan_id = pktgen_random() % 4096; pkt_dev->vlan_id = random32() & (4096-1);
} }
if ((pkt_dev->flags & F_SVID_RND) && (pkt_dev->svlan_id != 0xffff)) { if ((pkt_dev->flags & F_SVID_RND) && (pkt_dev->svlan_id != 0xffff)) {
pkt_dev->svlan_id = pktgen_random() % 4096; pkt_dev->svlan_id = random32() & (4096 - 1);
} }
if (pkt_dev->udp_src_min < pkt_dev->udp_src_max) { if (pkt_dev->udp_src_min < pkt_dev->udp_src_max) {
if (pkt_dev->flags & F_UDPSRC_RND) if (pkt_dev->flags & F_UDPSRC_RND)
pkt_dev->cur_udp_src = pkt_dev->cur_udp_src = random32() %
((pktgen_random() % (pkt_dev->udp_src_max - pkt_dev->udp_src_min)
(pkt_dev->udp_src_max - pkt_dev->udp_src_min)) + + pkt_dev->udp_src_min;
pkt_dev->udp_src_min);
else { else {
pkt_dev->cur_udp_src++; pkt_dev->cur_udp_src++;
...@@ -2185,10 +2173,9 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev) ...@@ -2185,10 +2173,9 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev)
if (pkt_dev->udp_dst_min < pkt_dev->udp_dst_max) { if (pkt_dev->udp_dst_min < pkt_dev->udp_dst_max) {
if (pkt_dev->flags & F_UDPDST_RND) { if (pkt_dev->flags & F_UDPDST_RND) {
pkt_dev->cur_udp_dst = pkt_dev->cur_udp_dst = random32() %
((pktgen_random() % (pkt_dev->udp_dst_max - pkt_dev->udp_dst_min)
(pkt_dev->udp_dst_max - pkt_dev->udp_dst_min)) + + pkt_dev->udp_dst_min;
pkt_dev->udp_dst_min);
} else { } else {
pkt_dev->cur_udp_dst++; pkt_dev->cur_udp_dst++;
if (pkt_dev->cur_udp_dst >= pkt_dev->udp_dst_max) if (pkt_dev->cur_udp_dst >= pkt_dev->udp_dst_max)
...@@ -2203,7 +2190,7 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev) ...@@ -2203,7 +2190,7 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev)
saddr_max))) { saddr_max))) {
__u32 t; __u32 t;
if (pkt_dev->flags & F_IPSRC_RND) if (pkt_dev->flags & F_IPSRC_RND)
t = ((pktgen_random() % (imx - imn)) + imn); t = random32() % (imx - imn) + imn;
else { else {
t = ntohl(pkt_dev->cur_saddr); t = ntohl(pkt_dev->cur_saddr);
t++; t++;
...@@ -2224,14 +2211,13 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev) ...@@ -2224,14 +2211,13 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev)
__be32 s; __be32 s;
if (pkt_dev->flags & F_IPDST_RND) { if (pkt_dev->flags & F_IPDST_RND) {
t = pktgen_random() % (imx - imn) + imn; t = random32() % (imx - imn) + imn;
s = htonl(t); s = htonl(t);
while (LOOPBACK(s) || MULTICAST(s) while (LOOPBACK(s) || MULTICAST(s)
|| BADCLASS(s) || ZERONET(s) || BADCLASS(s) || ZERONET(s)
|| LOCAL_MCAST(s)) { || LOCAL_MCAST(s)) {
t = (pktgen_random() % t = random32() % (imx - imn) + imn;
(imx - imn)) + imn;
s = htonl(t); s = htonl(t);
} }
pkt_dev->cur_daddr = s; pkt_dev->cur_daddr = s;
...@@ -2263,7 +2249,7 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev) ...@@ -2263,7 +2249,7 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev)
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
pkt_dev->cur_in6_daddr.s6_addr32[i] = pkt_dev->cur_in6_daddr.s6_addr32[i] =
(((__force __be32)pktgen_random() | (((__force __be32)random32() |
pkt_dev->min_in6_daddr.s6_addr32[i]) & pkt_dev->min_in6_daddr.s6_addr32[i]) &
pkt_dev->max_in6_daddr.s6_addr32[i]); pkt_dev->max_in6_daddr.s6_addr32[i]);
} }
...@@ -2273,9 +2259,9 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev) ...@@ -2273,9 +2259,9 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev)
if (pkt_dev->min_pkt_size < pkt_dev->max_pkt_size) { if (pkt_dev->min_pkt_size < pkt_dev->max_pkt_size) {
__u32 t; __u32 t;
if (pkt_dev->flags & F_TXSIZE_RND) { if (pkt_dev->flags & F_TXSIZE_RND) {
t = ((pktgen_random() % t = random32() %
(pkt_dev->max_pkt_size - pkt_dev->min_pkt_size)) (pkt_dev->max_pkt_size - pkt_dev->min_pkt_size)
+ pkt_dev->min_pkt_size); + pkt_dev->min_pkt_size;
} else { } else {
t = pkt_dev->cur_pkt_size + 1; t = pkt_dev->cur_pkt_size + 1;
if (t > pkt_dev->max_pkt_size) if (t > pkt_dev->max_pkt_size)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment