Message ID | 1492001644-17339-2-git-send-email-bogdan.pricope@linaro.org |
---|---|
State | Superseded |
Headers | show |
ping. On 12 April 2017 at 15:54, Bogdan Pricope <bogdan.pricope@linaro.org> wrote: > Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> > --- > example/generator/odp_generator.c | 20 +++++++++++++++++--- > 1 file changed, 17 insertions(+), 3 deletions(-) > > diff --git a/example/generator/odp_generator.c b/example/generator/odp_generator.c > index 95fb543..4817294 100644 > --- a/example/generator/odp_generator.c > +++ b/example/generator/odp_generator.c > @@ -64,6 +64,8 @@ typedef struct { > odph_ethaddr_t dstmac; /**< dest mac addr */ > unsigned int srcip; /**< src ip addr */ > unsigned int dstip; /**< dest ip addr */ > + unsigned short srcport; /**< src udp port */ > + unsigned short dstport; /**< dest udp port */ > int mode; /**< work mode */ > int number; /**< packets number to be sent */ > int payload; /**< data len */ > @@ -233,8 +235,8 @@ static odp_packet_t setup_udp_pkt_ref(odp_pool_t pool) > odp_packet_l4_offset_set(pkt, ODPH_ETHHDR_LEN + ODPH_IPV4HDR_LEN); > odp_packet_has_udp_set(pkt, 1); > udp = (odph_udphdr_t *)(buf + ODPH_ETHHDR_LEN + ODPH_IPV4HDR_LEN); > - udp->src_port = 0; > - udp->dst_port = 0; > + udp->src_port = odp_cpu_to_be_16(args->appl.srcport); > + udp->dst_port = odp_cpu_to_be_16(args->appl.dstport); > udp->length = odp_cpu_to_be_16(args->appl.payload + ODPH_UDPHDR_LEN); > udp->chksum = 0; > udp->chksum = odph_ipv4_udp_chksum(pkt); > @@ -1140,6 +1142,8 @@ static void parse_args(int argc, char *argv[], appl_args_t *appl_args) > {"dstmac", required_argument, NULL, 'b'}, > {"srcip", required_argument, NULL, 's'}, > {"dstip", required_argument, NULL, 'd'}, > + {"srcport", required_argument, NULL, 'e'}, > + {"dstport", required_argument, NULL, 'f'}, > {"packetsize", required_argument, NULL, 'p'}, > {"mode", required_argument, NULL, 'm'}, > {"count", required_argument, NULL, 'n'}, > @@ -1150,7 +1154,7 @@ static void parse_args(int argc, char *argv[], appl_args_t *appl_args) > {NULL, 0, NULL, 0} > }; > > - static const char *shortopts = "+I:a:b:s:d:p:i:m:n:t:w:c:x:h"; > + static const char *shortopts = "+I:a:b:s:d:p:i:m:n:t:w:c:x:he:f:"; > > /* let helper collect its own arguments (e.g. --odph_proc) */ > odph_parse_options(argc, argv, shortopts, longopts); > @@ -1161,6 +1165,8 @@ static void parse_args(int argc, char *argv[], appl_args_t *appl_args) > appl_args->timeout = -1; > appl_args->interval = DEFAULT_PKT_INTERVAL; > appl_args->udp_tx_burst = 16; > + appl_args->srcport = 0; > + appl_args->dstport = 0; > > opterr = 0; /* do not issue errors on helper options */ > > @@ -1267,6 +1273,12 @@ static void parse_args(int argc, char *argv[], appl_args_t *appl_args) > } > break; > > + case 'e': > + appl_args->srcport = (unsigned short)atoi(optarg); > + break; > + case 'f': > + appl_args->dstport = (unsigned short)atoi(optarg); > + break; > case 'p': > appl_args->payload = atoi(optarg); > break; > @@ -1380,6 +1392,8 @@ static void usage(char *progname) > "\n" > "Optional OPTIONS\n" > " -h, --help Display help and exit.\n" > + " -e, --srcport src udp port\n" > + " -f, --dstport dst udp port\n" > " -p, --packetsize payload length of the packets\n" > " -t, --timeout only for ping mode, wait ICMP reply timeout seconds\n" > " -i, --interval wait interval ms between sending each packet\n" > -- > 1.9.1 >
On 04/12/17 15:54, Bogdan Pricope wrote: > Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> > --- > example/generator/odp_generator.c | 20 +++++++++++++++++--- > 1 file changed, 17 insertions(+), 3 deletions(-) > > diff --git a/example/generator/odp_generator.c b/example/generator/odp_generator.c > index 95fb543..4817294 100644 > --- a/example/generator/odp_generator.c > +++ b/example/generator/odp_generator.c > @@ -64,6 +64,8 @@ typedef struct { > odph_ethaddr_t dstmac; /**< dest mac addr */ > unsigned int srcip; /**< src ip addr */ > unsigned int dstip; /**< dest ip addr */ > + unsigned short srcport; /**< src udp port */ > + unsigned short dstport; /**< dest udp port */ why unsigned short and not uint16_t ? > int mode; /**< work mode */ > int number; /**< packets number to be sent */ > int payload; /**< data len */ > @@ -233,8 +235,8 @@ static odp_packet_t setup_udp_pkt_ref(odp_pool_t pool) > odp_packet_l4_offset_set(pkt, ODPH_ETHHDR_LEN + ODPH_IPV4HDR_LEN); > odp_packet_has_udp_set(pkt, 1); > udp = (odph_udphdr_t *)(buf + ODPH_ETHHDR_LEN + ODPH_IPV4HDR_LEN); > - udp->src_port = 0; > - udp->dst_port = 0; > + udp->src_port = odp_cpu_to_be_16(args->appl.srcport); > + udp->dst_port = odp_cpu_to_be_16(args->appl.dstport); > udp->length = odp_cpu_to_be_16(args->appl.payload + ODPH_UDPHDR_LEN); > udp->chksum = 0; > udp->chksum = odph_ipv4_udp_chksum(pkt); > @@ -1140,6 +1142,8 @@ static void parse_args(int argc, char *argv[], appl_args_t *appl_args) > {"dstmac", required_argument, NULL, 'b'}, > {"srcip", required_argument, NULL, 's'}, > {"dstip", required_argument, NULL, 'd'}, > + {"srcport", required_argument, NULL, 'e'}, > + {"dstport", required_argument, NULL, 'f'}, > {"packetsize", required_argument, NULL, 'p'}, > {"mode", required_argument, NULL, 'm'}, > {"count", required_argument, NULL, 'n'}, > @@ -1150,7 +1154,7 @@ static void parse_args(int argc, char *argv[], appl_args_t *appl_args) > {NULL, 0, NULL, 0} > }; > > - static const char *shortopts = "+I:a:b:s:d:p:i:m:n:t:w:c:x:h"; > + static const char *shortopts = "+I:a:b:s:d:p:i:m:n:t:w:c:x:he:f:"; > > /* let helper collect its own arguments (e.g. --odph_proc) */ > odph_parse_options(argc, argv, shortopts, longopts); > @@ -1161,6 +1165,8 @@ static void parse_args(int argc, char *argv[], appl_args_t *appl_args) > appl_args->timeout = -1; > appl_args->interval = DEFAULT_PKT_INTERVAL; > appl_args->udp_tx_burst = 16; > + appl_args->srcport = 0; > + appl_args->dstport = 0; > > opterr = 0; /* do not issue errors on helper options */ > > @@ -1267,6 +1273,12 @@ static void parse_args(int argc, char *argv[], appl_args_t *appl_args) > } > break; > > + case 'e': > + appl_args->srcport = (unsigned short)atoi(optarg); > + break; > + case 'f': > + appl_args->dstport = (unsigned short)atoi(optarg); > + break; > case 'p': > appl_args->payload = atoi(optarg); > break; > @@ -1380,6 +1392,8 @@ static void usage(char *progname) > "\n" > "Optional OPTIONS\n" > " -h, --help Display help and exit.\n" > + " -e, --srcport src udp port\n" > + " -f, --dstport dst udp port\n" > " -p, --packetsize payload length of the packets\n" > " -t, --timeout only for ping mode, wait ICMP reply timeout seconds\n" > " -i, --interval wait interval ms between sending each packet\n" >
On 18 April 2017 at 22:13, Maxim Uvarov <maxim.uvarov@linaro.org> wrote: > On 04/12/17 15:54, Bogdan Pricope wrote: >> Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> >> --- >> example/generator/odp_generator.c | 20 +++++++++++++++++--- >> 1 file changed, 17 insertions(+), 3 deletions(-) >> >> diff --git a/example/generator/odp_generator.c b/example/generator/odp_generator.c >> index 95fb543..4817294 100644 >> --- a/example/generator/odp_generator.c >> +++ b/example/generator/odp_generator.c >> @@ -64,6 +64,8 @@ typedef struct { >> odph_ethaddr_t dstmac; /**< dest mac addr */ >> unsigned int srcip; /**< src ip addr */ >> unsigned int dstip; /**< dest ip addr */ >> + unsigned short srcport; /**< src udp port */ >> + unsigned short dstport; /**< dest udp port */ > > > why unsigned short and not uint16_t ? We have this rule when modifying code: to keep the look-and-feel of original code. In this case there are only int, char, unsigned int and some odp types in this structure. Do you think there is a value in using ‘uint16_t’ instead of ‘unsigned short’? > > >> int mode; /**< work mode */ >> int number; /**< packets number to be sent */ >> int payload; /**< data len */ >> @@ -233,8 +235,8 @@ static odp_packet_t setup_udp_pkt_ref(odp_pool_t pool) >> odp_packet_l4_offset_set(pkt, ODPH_ETHHDR_LEN + ODPH_IPV4HDR_LEN); >> odp_packet_has_udp_set(pkt, 1); >> udp = (odph_udphdr_t *)(buf + ODPH_ETHHDR_LEN + ODPH_IPV4HDR_LEN); >> - udp->src_port = 0; >> - udp->dst_port = 0; >> + udp->src_port = odp_cpu_to_be_16(args->appl.srcport); >> + udp->dst_port = odp_cpu_to_be_16(args->appl.dstport); >> udp->length = odp_cpu_to_be_16(args->appl.payload + ODPH_UDPHDR_LEN); >> udp->chksum = 0; >> udp->chksum = odph_ipv4_udp_chksum(pkt); >> @@ -1140,6 +1142,8 @@ static void parse_args(int argc, char *argv[], appl_args_t *appl_args) >> {"dstmac", required_argument, NULL, 'b'}, >> {"srcip", required_argument, NULL, 's'}, >> {"dstip", required_argument, NULL, 'd'}, >> + {"srcport", required_argument, NULL, 'e'}, >> + {"dstport", required_argument, NULL, 'f'}, >> {"packetsize", required_argument, NULL, 'p'}, >> {"mode", required_argument, NULL, 'm'}, >> {"count", required_argument, NULL, 'n'}, >> @@ -1150,7 +1154,7 @@ static void parse_args(int argc, char *argv[], appl_args_t *appl_args) >> {NULL, 0, NULL, 0} >> }; >> >> - static const char *shortopts = "+I:a:b:s:d:p:i:m:n:t:w:c:x:h"; >> + static const char *shortopts = "+I:a:b:s:d:p:i:m:n:t:w:c:x:he:f:"; >> >> /* let helper collect its own arguments (e.g. --odph_proc) */ >> odph_parse_options(argc, argv, shortopts, longopts); >> @@ -1161,6 +1165,8 @@ static void parse_args(int argc, char *argv[], appl_args_t *appl_args) >> appl_args->timeout = -1; >> appl_args->interval = DEFAULT_PKT_INTERVAL; >> appl_args->udp_tx_burst = 16; >> + appl_args->srcport = 0; >> + appl_args->dstport = 0; >> >> opterr = 0; /* do not issue errors on helper options */ >> >> @@ -1267,6 +1273,12 @@ static void parse_args(int argc, char *argv[], appl_args_t *appl_args) >> } >> break; >> >> + case 'e': >> + appl_args->srcport = (unsigned short)atoi(optarg); >> + break; >> + case 'f': >> + appl_args->dstport = (unsigned short)atoi(optarg); >> + break; >> case 'p': >> appl_args->payload = atoi(optarg); >> break; >> @@ -1380,6 +1392,8 @@ static void usage(char *progname) >> "\n" >> "Optional OPTIONS\n" >> " -h, --help Display help and exit.\n" >> + " -e, --srcport src udp port\n" >> + " -f, --dstport dst udp port\n" >> " -p, --packetsize payload length of the packets\n" >> " -t, --timeout only for ping mode, wait ICMP reply timeout seconds\n" >> " -i, --interval wait interval ms between sending each packet\n" >> >
diff --git a/example/generator/odp_generator.c b/example/generator/odp_generator.c index 95fb543..4817294 100644 --- a/example/generator/odp_generator.c +++ b/example/generator/odp_generator.c @@ -64,6 +64,8 @@ typedef struct { odph_ethaddr_t dstmac; /**< dest mac addr */ unsigned int srcip; /**< src ip addr */ unsigned int dstip; /**< dest ip addr */ + unsigned short srcport; /**< src udp port */ + unsigned short dstport; /**< dest udp port */ int mode; /**< work mode */ int number; /**< packets number to be sent */ int payload; /**< data len */ @@ -233,8 +235,8 @@ static odp_packet_t setup_udp_pkt_ref(odp_pool_t pool) odp_packet_l4_offset_set(pkt, ODPH_ETHHDR_LEN + ODPH_IPV4HDR_LEN); odp_packet_has_udp_set(pkt, 1); udp = (odph_udphdr_t *)(buf + ODPH_ETHHDR_LEN + ODPH_IPV4HDR_LEN); - udp->src_port = 0; - udp->dst_port = 0; + udp->src_port = odp_cpu_to_be_16(args->appl.srcport); + udp->dst_port = odp_cpu_to_be_16(args->appl.dstport); udp->length = odp_cpu_to_be_16(args->appl.payload + ODPH_UDPHDR_LEN); udp->chksum = 0; udp->chksum = odph_ipv4_udp_chksum(pkt); @@ -1140,6 +1142,8 @@ static void parse_args(int argc, char *argv[], appl_args_t *appl_args) {"dstmac", required_argument, NULL, 'b'}, {"srcip", required_argument, NULL, 's'}, {"dstip", required_argument, NULL, 'd'}, + {"srcport", required_argument, NULL, 'e'}, + {"dstport", required_argument, NULL, 'f'}, {"packetsize", required_argument, NULL, 'p'}, {"mode", required_argument, NULL, 'm'}, {"count", required_argument, NULL, 'n'}, @@ -1150,7 +1154,7 @@ static void parse_args(int argc, char *argv[], appl_args_t *appl_args) {NULL, 0, NULL, 0} }; - static const char *shortopts = "+I:a:b:s:d:p:i:m:n:t:w:c:x:h"; + static const char *shortopts = "+I:a:b:s:d:p:i:m:n:t:w:c:x:he:f:"; /* let helper collect its own arguments (e.g. --odph_proc) */ odph_parse_options(argc, argv, shortopts, longopts); @@ -1161,6 +1165,8 @@ static void parse_args(int argc, char *argv[], appl_args_t *appl_args) appl_args->timeout = -1; appl_args->interval = DEFAULT_PKT_INTERVAL; appl_args->udp_tx_burst = 16; + appl_args->srcport = 0; + appl_args->dstport = 0; opterr = 0; /* do not issue errors on helper options */ @@ -1267,6 +1273,12 @@ static void parse_args(int argc, char *argv[], appl_args_t *appl_args) } break; + case 'e': + appl_args->srcport = (unsigned short)atoi(optarg); + break; + case 'f': + appl_args->dstport = (unsigned short)atoi(optarg); + break; case 'p': appl_args->payload = atoi(optarg); break; @@ -1380,6 +1392,8 @@ static void usage(char *progname) "\n" "Optional OPTIONS\n" " -h, --help Display help and exit.\n" + " -e, --srcport src udp port\n" + " -f, --dstport dst udp port\n" " -p, --packetsize payload length of the packets\n" " -t, --timeout only for ping mode, wait ICMP reply timeout seconds\n" " -i, --interval wait interval ms between sending each packet\n"
Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> --- example/generator/odp_generator.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) -- 1.9.1