Quentin Monnet <quentin.mon...@netronome.com> [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

Reply via email to