Example #1
0
/************************************************************************
* 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]);
    }
}
Example #2
0
/************************************************************************
* 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]);
    }
}