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
613613 * int bpf_setsockopt(bpf_socket, level, optname, optval, optlen)
614614 * Calls setsockopt. Not all opts are available, only those with
615615 * integer optvals plus TCP_CONGESTION.
616− * Supported levels: SOL_SOCKET and IPROTO_TCP
616+ * Supported levels: SOL_SOCKET and IPPROTO_TCP
617617 * @bpf_socket: pointer to bpf_socket
618− * @level: SOL_SOCKET or IPROTO_TCP
618+ * @level: SOL_SOCKET or IPPROTO_TCP
619619 * @optname: option name
620620 * @optval: pointer to option value
621− * @optlen: length of optval in byes
621+ * @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
622632 * Return: 0 or negative error
623633 *
624634 * int bpf_skb_adjust_room(skb, len_diff, mode, flags)
@@ -721,7 +731,8 @@ union bpf_attr { · 96 unmodified lines
721731 FN(sock_map_update), \
722732 FN(xdp_adjust_meta), \
723733 FN(perf_event_read_value), \
724− FN(perf_prog_read_value),
734+ FN(perf_prog_read_value), \
735+ FN(getsockopt),
725736
726737 /* integer value in 'imm' field of BPF_CALL instruction selects which helper
727738 * function eBPF program intends to call