History

bpf: Adding helper function bpf_getsockops

Adding support for helper function bpf_getsockops to socket_ops BPF programs. This patch only supports TCP_CONGESTION.

Lawrence Brakmo committed 9 years ago

Commit cd86d1f1 parent e6546ef3 files · +63 −5Browse files

Showing the changes to include/uapi/linux (1 of 3 files). Show all

Unified · Split

include/uapi/linux/bpf.h+15−4
@@ -613,12 +613,22 @@ union bpf_attr { · 612 unmodified lines
613 * int bpf_setsockopt(bpf_socket, level, optname, optval, optlen)613 * int bpf_setsockopt(bpf_socket, level, optname, optval, optlen)
614 * Calls setsockopt. Not all opts are available, only those with614 * Calls setsockopt. Not all opts are available, only those with
615 * integer optvals plus TCP_CONGESTION.615 * integer optvals plus TCP_CONGESTION.
616 * Supported levels: SOL_SOCKET and IPROTO_TCP616 * Supported levels: SOL_SOCKET and IPPROTO_TCP
617 * @bpf_socket: pointer to bpf_socket617 * @bpf_socket: pointer to bpf_socket
618 * @level: SOL_SOCKET or IPROTO_TCP618 * @level: SOL_SOCKET or IPPROTO_TCP
619 * @optname: option name619 * @optname: option name
620 * @optval: pointer to option value620 * @optval: pointer to option value
621 * @optlen: length of optval in byes621 * @optlen: length of optval in bytes
622 * Return: 0 or negative error
623 *
624 * int bpf_getsockopt(bpf_socket, level, optname, optval, optlen)
625 * Calls getsockopt. Not all opts are available.
626 * Supported levels: IPPROTO_TCP
627 * @bpf_socket: pointer to bpf_socket
628 * @level: IPPROTO_TCP
629 * @optname: option name
630 * @optval: pointer to option value
631 * @optlen: length of optval in bytes
622 * Return: 0 or negative error632 * Return: 0 or negative error
623 *633 *
624 * int bpf_skb_adjust_room(skb, len_diff, mode, flags)634 * int bpf_skb_adjust_room(skb, len_diff, mode, flags)
@@ -721,7 +731,8 @@ union bpf_attr { · 96 unmodified lines
721 FN(sock_map_update), \731 FN(sock_map_update), \
722 FN(xdp_adjust_meta), \732 FN(xdp_adjust_meta), \
723 FN(perf_event_read_value), \733 FN(perf_event_read_value), \
724 FN(perf_prog_read_value),734 FN(perf_prog_read_value), \
735 FN(getsockopt),
725 736
726/* integer value in 'imm' field of BPF_CALL instruction selects which helper737/* integer value in 'imm' field of BPF_CALL instruction selects which helper
727 * function eBPF program intends to call738 * function eBPF program intends to call