Quentin Monnet <quentin.monnet@xxxxxxxxxxxxx> [Tue, 2018-04-10 07:43 -0700]: > + * int bpf_bind(struct bpf_sock_addr_kern *ctx, struct sockaddr *addr, int addr_len) > + * Description > + * Bind the socket associated to *ctx* to the address pointed by > + * *addr*, of length *addr_len*. This allows for making outgoing > + * connection from the desired IP address, which can be useful for > + * example when all processes inside a cgroup should use one > + * single IP address on a host that has multiple IP configured. > + * > + * This helper works for IPv4 and IPv6, TCP and UDP sockets. The > + * domain (*addr*\ **->sa_family**) must be **AF_INET** (or > + * **AF_INET6**). Looking for a free port to bind to can be > + * expensive, therefore binding to port is not permitted by the > + * helper: *addr*\ **->sin_port** (or **sin6_port**, respectively) > + * must be set to zero. > + * > + * As for the remote end, both parts of it can be overridden, > + * remote IP and remote port. This can be useful if an application > + * inside a cgroup wants to connect to another application inside > + * the same cgroup or to itself, but knows nothing about the IP > + * address assigned to the cgroup. The last paragraph ("As for the remote end ...") is not relevant to bpf_bind() and should be removed. It's about sys_connect hook itself that can call to bpf_bind() but also has other functionality (and that other functionality is described by this paragraph). -- Andrey Ignatov -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html