[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <24cf4de5-1536-c659-88eb-5ceb6e8f34bd@cumulusnetworks.com>
Date: Mon, 28 Nov 2016 13:47:13 -0700
From: David Ahern <dsa@...ulusnetworks.com>
To: Alexei Starovoitov <alexei.starovoitov@...il.com>
Cc: netdev@...r.kernel.org, daniel@...que.org, ast@...com,
daniel@...earbox.net, maheshb@...gle.com, tgraf@...g.ch
Subject: Re: [PATCH net-next v3 3/3] samples: bpf: add userspace example for
modifying sk_bound_dev_if
On 11/28/16 1:37 PM, Alexei Starovoitov wrote:
> On Mon, Nov 28, 2016 at 07:48:50AM -0800, David Ahern wrote:
>> Add a simple program to demonstrate the ability to attach a bpf program
>> to a cgroup that sets sk_bound_dev_if for AF_INET{6} sockets when they
>> are created.
>>
>> Signed-off-by: David Ahern <dsa@...ulusnetworks.com>
> ...
>> +static int prog_load(int idx)
>> +{
>> + struct bpf_insn prog[] = {
>> + BPF_MOV64_REG(BPF_REG_6, BPF_REG_1),
>> + BPF_MOV64_IMM(BPF_REG_3, idx),
>> + BPF_MOV64_IMM(BPF_REG_2, offsetof(struct bpf_sock, bound_dev_if)),
>> + BPF_STX_MEM(BPF_W, BPF_REG_1, BPF_REG_3, offsetof(struct bpf_sock, bound_dev_if)),
>> + BPF_MOV64_IMM(BPF_REG_0, 1), /* r0 = verdict */
>> + BPF_EXIT_INSN(),
>> + };
>> +
>> + return bpf_prog_load(BPF_PROG_TYPE_CGROUP_SOCK, prog, sizeof(prog),
>> + "GPL", 0);
>> +}
>
> the program looks trivial enough :)
>
> Could you integrate it into iproute2 as well ?
yes, that is the plan. iproute2 can be used for all things vrf. As infra goes into the kernel, support is added to iproute2
> Then the whole vrf management will be easier.
> The user wouldn't even need to be aware that iproute2 sets up
> this program. It will know ifindex and can delete
> the prog when vrf configs change and so on.
>
> Also please convert this sample into automated test like samples/bpf/*.sh
> we're going to move all of them to tools/testing/selftests/ eventually.
>
ok
Powered by blists - more mailing lists