Lines Matching defs:sock_ops
493 struct bpf_sock_ops_kern sock_ops;
503 /* init sock_ops */
504 memset(&sock_ops, 0, offsetof(struct bpf_sock_ops_kern, temp));
506 sock_ops.op = BPF_SOCK_OPS_HDR_OPT_LEN_CB;
522 sock_ops.sk = (struct sock *)req;
523 sock_ops.syn_skb = syn_skb;
527 sock_ops.is_fullsock = 1;
528 sock_ops.is_locked_tcp_sock = 1;
529 sock_ops.sk = sk;
532 sock_ops.args[0] = bpf_skops_write_hdr_opt_arg0(skb, synack_type);
533 sock_ops.remaining_opt_len = *remaining;
536 bpf_skops_init_skb(&sock_ops, skb, 0);
538 err = BPF_CGROUP_RUN_PROG_SOCK_OPS_SK(&sock_ops, sk);
540 if (err || sock_ops.remaining_opt_len == *remaining)
543 opts->bpf_opt_len = *remaining - sock_ops.remaining_opt_len;
557 struct bpf_sock_ops_kern sock_ops;
563 memset(&sock_ops, 0, offsetof(struct bpf_sock_ops_kern, temp));
565 sock_ops.op = BPF_SOCK_OPS_WRITE_HDR_OPT_CB;
568 sock_ops.sk = (struct sock *)req;
569 sock_ops.syn_skb = syn_skb;
573 sock_ops.is_fullsock = 1;
574 sock_ops.is_locked_tcp_sock = 1;
575 sock_ops.sk = sk;
578 sock_ops.args[0] = bpf_skops_write_hdr_opt_arg0(skb, synack_type);
579 sock_ops.remaining_opt_len = max_opt_len;
581 bpf_skops_init_skb(&sock_ops, skb, first_opt_off);
583 err = BPF_CGROUP_RUN_PROG_SOCK_OPS_SK(&sock_ops, sk);
588 nr_written = max_opt_len - sock_ops.remaining_opt_len;