/************************************************************************ * NAME: fapp_benchrx_cmd * * DESCRIPTION: Start RX Benchmark server. ************************************************************************/ void fapp_benchrx_cmd( fnet_shell_desc_t desc, int argc, char ** argv ) { fnet_address_family_t family; family = AF_SUPPORTED; /* TCP */ if((argc == 1)||(argc == 2 && fnet_strcasecmp("tcp", argv[1]) == 0)) { fapp_bench_tcp_rx(desc, family); } /* UDP */ else if(((argc == 2) || (argc == 3)) && fnet_strcasecmp("udp", argv[1]) == 0) { fnet_ip4_addr_t multicast_address = 0; if(argc == 3) /* Multicast group address.*/ { if((fnet_inet_aton(argv[2], (struct in_addr *) &multicast_address) == FNET_ERR) || !FNET_IP4_ADDR_IS_MULTICAST(multicast_address)) { fnet_shell_println(desc, FAPP_PARAM_ERR, argv[2]); return; } } fapp_bench_udp_rx(desc, family, multicast_address); } else { fnet_shell_println(desc, FAPP_PARAM_ERR, argv[1]); } }
/************************************************************************ * NAME: fapp_benchrx_cmd * * DESCRIPTION: Start RX Benchmark server. ************************************************************************/ void fapp_benchrx_cmd( fnet_shell_desc_t desc, int argc, char ** argv ) { fnet_address_family_t family; family = AF_SUPPORTED; /* TCP */ if((argc == 1)||(argc == 2 && fnet_strcasecmp("tcp", argv[1]) == 0)) { fapp_bench_tcp_rx(desc, family); } /* UDP */ else if(((argc == 2) || (argc == 3)) && fnet_strcasecmp("udp", argv[1]) == 0) { struct sockaddr multicast_address; struct sockaddr *multicast_address_p = FNET_NULL; if(argc == 3) /* Multicast group address.*/ { if((fnet_inet_ptos(argv[2], &multicast_address) == FNET_ERR) /* Convert from string to address.*/ || !fnet_socket_addr_is_multicast(&multicast_address) /* Check if address is multicast.*/ || ((family & multicast_address.sa_family)==0) ) /* Check supported family.*/ { fnet_shell_println(desc, FAPP_PARAM_ERR, argv[2]); return; } multicast_address_p = &multicast_address; } fapp_bench_udp_rx(desc, family, multicast_address_p); } else { fnet_shell_println(desc, FAPP_PARAM_ERR, argv[1]); } }