Hi All,

I am not getting a reply from vpp.
Any pointers will be helpful.
Thanks in advance.

 logs below.   after " writing punt socket register...:"  log it does not
come out.

 NTPSYNC-TEST:: app start
 NTPSYNC-TEST:: VPP Server Socket bind Successful (/var/run/vpp-punt.sock)
 NTPSYNC-TEST:: Connected to vpp...: 0
 NTPSYNC-TEST:: message id VL_API_PUNT_SOCKET_REGISTER 694
 NTPSYNC-TEST:: message id VL_API_PUNT_SOCKET_REGISTER 695
 NTPSYNC-TEST:: type=1 , ntohl=16777216, htonl=16777216
 NTPSYNC-TEST:: protocol = 17
 NTPSYNC-TEST:: writing punt socket register...:


 code:
 ----------------
 const char* Unix_socket_path = "/var/run/vpp-punt.sock";

 int main()
 {
    openlog("NTPSYNC-TEST:",0, LOG_USER);
    syslog(LOG_INFO, "app start");

    unix_socket_rd = -1;
    unix_socket_wr = -1;
    strncpy(strAppName, appName, strlen(appName));
    maxOutStandingReq = maxOutSize;
    responseQueSize = respSize;

    int len, rc;
    struct sockaddr_un remote;

    memset(&remote, 0, sizeof(struct sockaddr_un));

    unix_socket_rd = socket(AF_UNIX, SOCK_DGRAM, 0);
    if (unix_socket_rd == -1)
    {
        syslog(LOG_ERR, "VPP Server socket error (%s)", strerror(errno));
        return;
    }

    remote.sun_family = AF_UNIX;
    strcpy(remote.sun_path, Unix_socket_path);
    len = sizeof(remote);
    unlink(Unix_socket_path);
    rc = bind(unix_socket_rd, (struct sockaddr *) &remote, len);
    if (rc == -1)
    {
        syslog(LOG_ERR, "VPP Server Socket bind failed (%s)",
strerror(errno));
        close(unix_socket_rd);
        return;
    }
    else
    {
        syslog(LOG_INFO, "VPP Server Socket bind Successful (%s)",
Unix_socket_path);
    }

clib_mem_init(0, 3ULL << 30);
test_punt_socket_register_message();
}

void test_punt_socket_register_message()
{
    api_main_t * am = vlibapi_get_main();
    vl_api_punt_socket_register_t *mp;
    char *read_path = "/var/run/vpp.sock";
    int async = 1;

    int rv = vac_connect("vac_client", NULL, wrap_vac_callback, 32 );
        if (rv != 0)
        {
                        syslog(LOG_INFO, "Connect failed: %d \n", rv);
                        exit(rv);
        }

        syslog(LOG_INFO,"Connected to vpp...: %d\n", rv);
        double timestamp_start = unix_time_now_nsec() * 1e-6;

        if (async)
        {
                mp = vl_msg_api_alloc(sizeof(*mp));
                memset(mp, 0, sizeof(*mp));
                mp->_vl_msg_id = ntohs(VL_API_PUNT_SOCKET_REGISTER);
                syslog(LOG_INFO," message id VL_API_PUNT_SOCKET_REGISTER
%d", VL_API_PUNT_SOCKET_REGISTER);
                syslog(LOG_INFO," message id VL_API_PUNT_SOCKET_REGISTER
%d", VL_API_PUNT_SOCKET_REGISTER_REPLY);
                mp->header_version = ntohl(1);
                mp->punt.type = PUNT_API_TYPE_L4;
                mp->punt.punt.l4.af = ADDRESS_IP4;
                mp->punt.punt.l4.protocol = IP_PROTOCOL_UDP;
                mp->punt.punt.l4.port = ntohs(123);
                mp->client_index = am->my_client_index;
                strncpy((char*) mp->pathname, read_path, 107);
syslog(LOG_INFO, " type=%u , ntohl=%u, htonl=%u", PUNT_API_TYPE_L4,
clib_host_to_net_u32(PUNT_API_TYPE_L4),
clib_net_to_host_u32(PUNT_API_TYPE_L4));
syslog(LOG_INFO, " protocol = %u", IP_PROTOCOL_UDP);

                syslog(LOG_INFO, " writing punt socket register...: \n");
                vac_write((char *)mp, sizeof(*mp));

                while (result_msg_id != VL_API_PUNT_SOCKET_REGISTER_REPLY);
        }

syslog(LOG_INFO," message id VL_API_PUNT_SOCKET_REGISTER %d",
VL_API_CONTROL_PING_REPLY);
        if (async)
        {
                vl_api_control_ping_t control;
                vl_api_control_ping_t *mp;
                mp = &control;
                M_NOALLOC(CONTROL_PING, control_ping);
                syslog(LOG_INFO," writing control ping message...: \n");
                vac_write((char *)mp, sizeof(*mp));

                while (result_msg_id != VL_API_CONTROL_PING_REPLY);
        }

        double timestamp_end = unix_time_now_nsec() * 1e-6;
        syslog(LOG_INFO,"\nTook %.2f msec, %.0f msgs/msec \n",
(timestamp_end - timestamp_start),
                                        1/(timestamp_end -
timestamp_start));
        syslog(LOG_INFO,"Exiting...\n");
        vac_disconnect();
}

-- 


*Thanks & Regards,B.Nousilal,*
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#20990): https://lists.fd.io/g/vpp-dev/message/20990
Mute This Topic: https://lists.fd.io/mt/89660111/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to