| 534 | } |
| 535 | |
| 536 | static int |
| 537 | telemetry_legacy_init(void) |
| 538 | { |
| 539 | pthread_t t_old; |
| 540 | int rc; |
| 541 | |
| 542 | if (num_legacy_callbacks == 1) { |
| 543 | TMTY_LOG(WARNING, "No legacy callbacks, legacy socket not created\n"); |
| 544 | return -1; |
| 545 | } |
| 546 | |
| 547 | v1_socket.fn = legacy_client_handler; |
| 548 | if ((size_t) snprintf(v1_socket.path, sizeof(v1_socket.path), |
| 549 | "%s/telemetry", socket_dir) >= sizeof(v1_socket.path)) { |
| 550 | TMTY_LOG(ERR, "Error with socket binding, path too long\n"); |
| 551 | return -1; |
| 552 | } |
| 553 | v1_socket.sock = create_socket(v1_socket.path); |
| 554 | if (v1_socket.sock < 0) { |
| 555 | v1_socket.path[0] = '\0'; |
| 556 | return -1; |
| 557 | } |
| 558 | rc = pthread_create(&t_old, NULL, socket_listener, &v1_socket); |
| 559 | if (rc != 0) { |
| 560 | TMTY_LOG(ERR, "Error with create legacy socket thread: %s\n", |
| 561 | strerror(rc)); |
| 562 | close(v1_socket.sock); |
| 563 | v1_socket.sock = -1; |
| 564 | unlink(v1_socket.path); |
| 565 | v1_socket.path[0] = '\0'; |
| 566 | return -1; |
| 567 | } |
| 568 | pthread_setaffinity_np(t_old, sizeof(*thread_cpuset), thread_cpuset); |
| 569 | set_thread_name(t_old, "dpdk-telemet-v1"); |
| 570 | TMTY_LOG(DEBUG, "Legacy telemetry socket initialized ok\n"); |
| 571 | pthread_detach(t_old); |
| 572 | return 0; |
| 573 | } |
| 574 | |
| 575 | static int |
| 576 | telemetry_v2_init(void) |
no test coverage detected