BPF_MAP_TYPE_STACK,
        BPF_MAP_TYPE_SK_STORAGE,
        BPF_MAP_TYPE_DEVMAP_HASH,
+       BPF_MAP_TYPE_STRUCT_OPS,
 };
 
 /* Note that tracing related programs such as
        BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE,
        BPF_PROG_TYPE_CGROUP_SOCKOPT,
        BPF_PROG_TYPE_TRACING,
+       BPF_PROG_TYPE_STRUCT_OPS,
 };
 
 enum bpf_attach_type {
                __u32   btf_fd;         /* fd pointing to a BTF type data */
                __u32   btf_key_type_id;        /* BTF type_id of the key */
                __u32   btf_value_type_id;      /* BTF type_id of the value */
+               __u32   btf_vmlinux_value_type_id;/* BTF type_id of a kernel-
+                                                  * struct stored as the
+                                                  * map value
+                                                  */
        };
 
        struct { /* anonymous struct used by BPF_MAP_*_ELEM commands */
  *     Return
  *             On success, the strictly positive length of the string, including
  *             the trailing NUL character. On error, a negative value.
+ *
+ * int bpf_tcp_send_ack(void *tp, u32 rcv_nxt)
+ *     Description
+ *             Send out a tcp-ack. *tp* is the in-kernel struct tcp_sock.
+ *             *rcv_nxt* is the ack_seq to be sent out.
+ *     Return
+ *             0 on success, or a negative error in case of failure.
+ *
  */
 #define __BPF_FUNC_MAPPER(FN)          \
        FN(unspec),                     \
        FN(probe_read_user),            \
        FN(probe_read_kernel),          \
        FN(probe_read_user_str),        \
-       FN(probe_read_kernel_str),
+       FN(probe_read_kernel_str),      \
+       FN(tcp_send_ack),
 
 /* integer value in 'imm' field of BPF_CALL instruction selects which helper
  * function eBPF program intends to call
        __u32 map_flags;
        char  name[BPF_OBJ_NAME_LEN];
        __u32 ifindex;
-       __u32 :32;
+       __u32 btf_vmlinux_value_type_id;
        __u64 netns_dev;
        __u64 netns_ino;
        __u32 btf_id;