Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-11 Thread Pavel Emelyanov
On 03/11/2014 10:03 PM, Alexei Starovoitov wrote: > On Tue, Mar 11, 2014 at 10:40 AM, Pavel Emelyanov wrote: >> On 03/10/2014 02:00 AM, Daniel Borkmann wrote: >>> On 03/09/2014 06:08 PM, Alexei Starovoitov wrote: On Sun, Mar 9, 2014 at 5:29 AM, Daniel Borkmann wrote: > On

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-11 Thread Alexei Starovoitov
On Tue, Mar 11, 2014 at 10:40 AM, Pavel Emelyanov wrote: > On 03/10/2014 02:00 AM, Daniel Borkmann wrote: >> On 03/09/2014 06:08 PM, Alexei Starovoitov wrote: >>> On Sun, Mar 9, 2014 at 5:29 AM, Daniel Borkmann >>> wrote: On 03/09/2014 12:15 AM, Alexei Starovoitov wrote: > >

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-11 Thread Pavel Emelyanov
On 03/10/2014 02:00 AM, Daniel Borkmann wrote: > On 03/09/2014 06:08 PM, Alexei Starovoitov wrote: >> On Sun, Mar 9, 2014 at 5:29 AM, Daniel Borkmann >> wrote: >>> On 03/09/2014 12:15 AM, Alexei Starovoitov wrote: Extended BPF extends old BPF in the following ways: - from 2 to 10

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-11 Thread Pavel Emelyanov
On 03/10/2014 02:00 AM, Daniel Borkmann wrote: On 03/09/2014 06:08 PM, Alexei Starovoitov wrote: On Sun, Mar 9, 2014 at 5:29 AM, Daniel Borkmann borkm...@iogearbox.net wrote: On 03/09/2014 12:15 AM, Alexei Starovoitov wrote: Extended BPF extends old BPF in the following ways: - from 2 to

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-11 Thread Alexei Starovoitov
On Tue, Mar 11, 2014 at 10:40 AM, Pavel Emelyanov xe...@parallels.com wrote: On 03/10/2014 02:00 AM, Daniel Borkmann wrote: On 03/09/2014 06:08 PM, Alexei Starovoitov wrote: On Sun, Mar 9, 2014 at 5:29 AM, Daniel Borkmann borkm...@iogearbox.net wrote: On 03/09/2014 12:15 AM, Alexei

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-11 Thread Pavel Emelyanov
On 03/11/2014 10:03 PM, Alexei Starovoitov wrote: On Tue, Mar 11, 2014 at 10:40 AM, Pavel Emelyanov xe...@parallels.com wrote: On 03/10/2014 02:00 AM, Daniel Borkmann wrote: On 03/09/2014 06:08 PM, Alexei Starovoitov wrote: On Sun, Mar 9, 2014 at 5:29 AM, Daniel Borkmann borkm...@iogearbox.net

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-09 Thread Alexei Starovoitov
On Sun, Mar 9, 2014 at 3:00 PM, Daniel Borkmann wrote: > On 03/09/2014 06:08 PM, Alexei Starovoitov wrote: >> >> On Sun, Mar 9, 2014 at 5:29 AM, Daniel Borkmann >> wrote: >>> >>> On 03/09/2014 12:15 AM, Alexei Starovoitov wrote: Extended BPF extends old BPF in the following ways:

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-09 Thread Daniel Borkmann
On 03/09/2014 06:08 PM, Alexei Starovoitov wrote: On Sun, Mar 9, 2014 at 5:29 AM, Daniel Borkmann wrote: On 03/09/2014 12:15 AM, Alexei Starovoitov wrote: Extended BPF extends old BPF in the following ways: - from 2 to 10 registers Original BPF has two registers (A and X) and hidden

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-09 Thread Alexei Starovoitov
On Sun, Mar 9, 2014 at 12:11 PM, Eric Dumazet wrote: > On Sun, 2014-03-09 at 11:57 -0700, Alexei Starovoitov wrote: > >> In sk_run_filter_ext() I used "u64 stack[64];", but "u64 stack[60];" is >> safe too, but I didn't want to go into extensive explanation >> of 'magic' 60 number in the first

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-09 Thread Eric Dumazet
On Sun, 2014-03-09 at 11:57 -0700, Alexei Starovoitov wrote: > In sk_run_filter_ext() I used "u64 stack[64];", but "u64 stack[60];" is > safe too, but I didn't want to go into extensive explanation > of 'magic' 60 number in the first patch, so I just rounded it to 64. > Since now you understand,

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-09 Thread Alexei Starovoitov
On Sun, Mar 9, 2014 at 11:11 AM, Eric Dumazet wrote: > On Sun, 2014-03-09 at 10:38 -0700, Alexei Starovoitov wrote: >> On Sun, Mar 9, 2014 at 7:45 AM, Eric Dumazet wrote: >> > On Sat, 2014-03-08 at 15:15 -0800, Alexei Starovoitov wrote: >> > >> >> +/** >> >> + * sk_run_filter_ext - run an

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-09 Thread Eric Dumazet
On Sun, 2014-03-09 at 10:38 -0700, Alexei Starovoitov wrote: > On Sun, Mar 9, 2014 at 7:45 AM, Eric Dumazet wrote: > > On Sat, 2014-03-08 at 15:15 -0800, Alexei Starovoitov wrote: > > > >> +/** > >> + * sk_run_filter_ext - run an extended filter > >> + * @ctx: buffer to run the filter on > >>

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-09 Thread Alexei Starovoitov
On Sun, Mar 9, 2014 at 7:49 AM, Eric Dumazet wrote: > On Sat, 2014-03-08 at 15:15 -0800, Alexei Starovoitov wrote: > >> + if (BPF_SRC(fp->code) == BPF_K && >> + (int)fp->k < 0) { >> + /* extended BPF immediates are signed, >>

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-09 Thread Alexei Starovoitov
On Sun, Mar 9, 2014 at 7:45 AM, Eric Dumazet wrote: > On Sat, 2014-03-08 at 15:15 -0800, Alexei Starovoitov wrote: > >> +/** >> + * sk_run_filter_ext - run an extended filter >> + * @ctx: buffer to run the filter on >> + * @insn: filter to apply >> + * >> + * Decode and execute extended BPF

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-09 Thread Alexei Starovoitov
On Sun, Mar 9, 2014 at 5:29 AM, Daniel Borkmann wrote: > On 03/09/2014 12:15 AM, Alexei Starovoitov wrote: >> >> Extended BPF extends old BPF in the following ways: >> - from 2 to 10 registers >>Original BPF has two registers (A and X) and hidden frame pointer. >>Extended BPF has ten

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-09 Thread Eric Dumazet
On Sat, 2014-03-08 at 15:15 -0800, Alexei Starovoitov wrote: > + if (BPF_SRC(fp->code) == BPF_K && > + (int)fp->k < 0) { > + /* extended BPF immediates are signed, > + * zero extend immediate into

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-09 Thread Eric Dumazet
On Sat, 2014-03-08 at 15:15 -0800, Alexei Starovoitov wrote: > +/** > + * sk_run_filter_ext - run an extended filter > + * @ctx: buffer to run the filter on > + * @insn: filter to apply > + * > + * Decode and execute extended BPF instructions. > + * @ctx is the data we are operating on. > +

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-09 Thread Daniel Borkmann
On 03/09/2014 12:15 AM, Alexei Starovoitov wrote: Extended BPF extends old BPF in the following ways: - from 2 to 10 registers Original BPF has two registers (A and X) and hidden frame pointer. Extended BPF has ten registers and read-only frame pointer. - from 32-bit registers to 64-bit

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-09 Thread Daniel Borkmann
On 03/09/2014 12:15 AM, Alexei Starovoitov wrote: Extended BPF extends old BPF in the following ways: - from 2 to 10 registers Original BPF has two registers (A and X) and hidden frame pointer. Extended BPF has ten registers and read-only frame pointer. - from 32-bit registers to 64-bit

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-09 Thread Eric Dumazet
On Sat, 2014-03-08 at 15:15 -0800, Alexei Starovoitov wrote: +/** + * sk_run_filter_ext - run an extended filter + * @ctx: buffer to run the filter on + * @insn: filter to apply + * + * Decode and execute extended BPF instructions. + * @ctx is the data we are operating on. + *

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-09 Thread Eric Dumazet
On Sat, 2014-03-08 at 15:15 -0800, Alexei Starovoitov wrote: + if (BPF_SRC(fp-code) == BPF_K + (int)fp-k 0) { + /* extended BPF immediates are signed, + * zero extend immediate into tmp

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-09 Thread Alexei Starovoitov
On Sun, Mar 9, 2014 at 5:29 AM, Daniel Borkmann borkm...@iogearbox.net wrote: On 03/09/2014 12:15 AM, Alexei Starovoitov wrote: Extended BPF extends old BPF in the following ways: - from 2 to 10 registers Original BPF has two registers (A and X) and hidden frame pointer. Extended BPF

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-09 Thread Alexei Starovoitov
On Sun, Mar 9, 2014 at 7:45 AM, Eric Dumazet eric.duma...@gmail.com wrote: On Sat, 2014-03-08 at 15:15 -0800, Alexei Starovoitov wrote: +/** + * sk_run_filter_ext - run an extended filter + * @ctx: buffer to run the filter on + * @insn: filter to apply + * + * Decode and execute

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-09 Thread Alexei Starovoitov
On Sun, Mar 9, 2014 at 7:49 AM, Eric Dumazet eric.duma...@gmail.com wrote: On Sat, 2014-03-08 at 15:15 -0800, Alexei Starovoitov wrote: + if (BPF_SRC(fp-code) == BPF_K + (int)fp-k 0) { + /* extended BPF immediates are

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-09 Thread Eric Dumazet
On Sun, 2014-03-09 at 10:38 -0700, Alexei Starovoitov wrote: On Sun, Mar 9, 2014 at 7:45 AM, Eric Dumazet eric.duma...@gmail.com wrote: On Sat, 2014-03-08 at 15:15 -0800, Alexei Starovoitov wrote: +/** + * sk_run_filter_ext - run an extended filter + * @ctx: buffer to run the filter

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-09 Thread Alexei Starovoitov
On Sun, Mar 9, 2014 at 11:11 AM, Eric Dumazet eric.duma...@gmail.com wrote: On Sun, 2014-03-09 at 10:38 -0700, Alexei Starovoitov wrote: On Sun, Mar 9, 2014 at 7:45 AM, Eric Dumazet eric.duma...@gmail.com wrote: On Sat, 2014-03-08 at 15:15 -0800, Alexei Starovoitov wrote: +/** + *

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-09 Thread Eric Dumazet
On Sun, 2014-03-09 at 11:57 -0700, Alexei Starovoitov wrote: In sk_run_filter_ext() I used u64 stack[64];, but u64 stack[60]; is safe too, but I didn't want to go into extensive explanation of 'magic' 60 number in the first patch, so I just rounded it to 64. Since now you understand, I can

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-09 Thread Alexei Starovoitov
On Sun, Mar 9, 2014 at 12:11 PM, Eric Dumazet eric.duma...@gmail.com wrote: On Sun, 2014-03-09 at 11:57 -0700, Alexei Starovoitov wrote: In sk_run_filter_ext() I used u64 stack[64];, but u64 stack[60]; is safe too, but I didn't want to go into extensive explanation of 'magic' 60 number in the

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-09 Thread Daniel Borkmann
On 03/09/2014 06:08 PM, Alexei Starovoitov wrote: On Sun, Mar 9, 2014 at 5:29 AM, Daniel Borkmann borkm...@iogearbox.net wrote: On 03/09/2014 12:15 AM, Alexei Starovoitov wrote: Extended BPF extends old BPF in the following ways: - from 2 to 10 registers Original BPF has two registers (A

Re: [PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-09 Thread Alexei Starovoitov
On Sun, Mar 9, 2014 at 3:00 PM, Daniel Borkmann borkm...@iogearbox.net wrote: On 03/09/2014 06:08 PM, Alexei Starovoitov wrote: On Sun, Mar 9, 2014 at 5:29 AM, Daniel Borkmann borkm...@iogearbox.net wrote: On 03/09/2014 12:15 AM, Alexei Starovoitov wrote: Extended BPF extends old BPF in

[PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-08 Thread Alexei Starovoitov
Extended BPF extends old BPF in the following ways: - from 2 to 10 registers Original BPF has two registers (A and X) and hidden frame pointer. Extended BPF has ten registers and read-only frame pointer. - from 32-bit registers to 64-bit registers semantics of old 32-bit ALU operations are

[PATCH v7 net-next 1/3] filter: add Extended BPF interpreter and converter

2014-03-08 Thread Alexei Starovoitov
Extended BPF extends old BPF in the following ways: - from 2 to 10 registers Original BPF has two registers (A and X) and hidden frame pointer. Extended BPF has ten registers and read-only frame pointer. - from 32-bit registers to 64-bit registers semantics of old 32-bit ALU operations are