[Bug 291613] Alpine Linux 3.22: linux: jid 74 pid 98353 (apk): unsupported setsockopt level 6 optname 31

[email protected]
Newsgroups gmane.os.freebsd.devel.emulation
Message-ID <[email protected]/bugzilla/>
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291613

Yuri Victorovich <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #2 from Yuri Victorovich <[email protected]> ---
Level 6: Corresponds to the protocol level IPPROTO_TCP (or SOL_TCP), which is
the protocol number for the Transmission Control Protocol.

Optname 31: Corresponds to TCP_ULP (Upper Layer Protocol), a Linux-specific
socket option used to attach a specialized subsystem—such as Kernel TLS
(kTLS)—directly onto an active TCP connection. 

Example:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/tcp.h> // Contains TCP_ULP definition on Linux

// Fallback definitions if compiling on older headers
#ifndef TCP_ULP
#define TCP_ULP 31
#endif

int main() {
    // 1. Create a standard TCP socket
    int sock = socket(AF_INET, SOCK_STREAM, 0);
    if (sock < 0) {
        perror("Failed to create socket");
        return EXIT_FAILURE;
    }

    // 2. Define the Upper Layer Protocol name (e.g., "tls")
    const char *ulp_name = "tls";

    // 3. Apply the ULP via setsockopt
    // Level 6 = IPPROTO_TCP (or SOL_TCP)
    // Optname 31 = TCP_ULP
    int result = setsockopt(sock, IPPROTO_TCP, TCP_ULP, ulp_name,
strlen(ulp_name) + 1);

    if (result < 0) {
        perror("Error setting TCP_ULP (Likely unsupported by your
environment/kernel)");
        close(sock);
        return EXIT_FAILURE;
    }

    printf("Successfully attached Upper Layer Protocol '%s' to the TCP
socket!\n", ulp_name);

    // Clean up
    close(sock);
    return EXIT_SUCCESS;
}

-- 
You are receiving this mail because:
You are the assignee for the bug.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.