From: Daniel Borkmann <dborkman@redhat.com>
To: Eric Dumazet <eric.dumazet@gmail.com>
Cc: netdev@vger.kernel.org, davem@davemloft.net, jasowang@redhat.com
Subject: Re: [PATCH net-next 1/4] flow_keys: include thoff into flow_keys for later usage
Date: Tue, 19 Mar 2013 15:01:24 +0100 [thread overview]
Message-ID: <51486FB4.1050100@redhat.com> (raw)
In-Reply-To: <1363701339.2558.1.camel@edumazet-glaptop>
On 03/19/2013 02:55 PM, Eric Dumazet wrote:
> On Tue, 2013-03-19 at 14:28 +0100, Daniel Borkmann wrote:
>> In skb_flow_dissect(), we perform a dissection of a skbuff. Since we're
>> doing the work here anyway, also store thoff for a later usage, e.g. in
>> the BPF filter. We need to reorder choke_skb_cb a bit, though. Also, by
>> having thoff 16 Bit, we do not need to pack flow_keys.
>>
>> Suggested-by: Eric Dumazet <edumazet@google.com>
>> Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
>> ---
>> include/net/flow_keys.h | 1 +
>> net/core/flow_dissector.c | 5 ++++-
>> net/sched/sch_choke.c | 4 ++--
>> 3 files changed, 7 insertions(+), 3 deletions(-)
>>
>> diff --git a/include/net/flow_keys.h b/include/net/flow_keys.h
>> index 80461c1..bb8271d 100644
>> --- a/include/net/flow_keys.h
>> +++ b/include/net/flow_keys.h
>> @@ -9,6 +9,7 @@ struct flow_keys {
>> __be32 ports;
>> __be16 port16[2];
>> };
>> + u16 thoff;
>> u8 ip_proto;
>> };
>>
>> diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c
>> index f8d9e03..eb9dde1 100644
>> --- a/net/core/flow_dissector.c
>> +++ b/net/core/flow_dissector.c
>> @@ -23,7 +23,8 @@ static void iph_to_flow_copy_addrs(struct flow_keys *flow, const struct iphdr *i
>>
>> bool skb_flow_dissect(const struct sk_buff *skb, struct flow_keys *flow)
>> {
>> - int poff, nhoff = skb_network_offset(skb);
>> + int poff;
>> + u16 nhoff = skb_network_offset(skb);
>> u8 ip_proto;
>> __be16 proto = skb->protocol;
>>
>> @@ -151,6 +152,8 @@ ipv6:
>> flow->ports = *ports;
>> }
>>
>> + flow->thoff = nhoff;
>> +
>> return true;
>> }
>> EXPORT_SYMBOL(skb_flow_dissect);
>> diff --git a/net/sched/sch_choke.c b/net/sched/sch_choke.c
>> index cc37dd5..9854c2b 100644
>> --- a/net/sched/sch_choke.c
>> +++ b/net/sched/sch_choke.c
>> @@ -141,9 +141,9 @@ static void choke_drop_by_idx(struct Qdisc *sch, unsigned int idx)
>> }
>>
>> struct choke_skb_cb {
>> - u16 classid;
>> - u8 keys_valid;
>> struct flow_keys keys;
>> + u8 keys_valid;
>> + u16 classid;
>> };
>>
>> static inline struct choke_skb_cb *choke_skb_cb(const struct sk_buff *skb)
>
> Hmm, we dont need to change choke_skb_cb, as the sizeof(keys) didnt
> change
>
> (its aligned on 4 bytes)
>
> The first version of the patch needed this because we were using an u32
> field for thoff
You're right. I will send a version 2 of this set in a while.
next prev parent reply other threads:[~2013-03-19 14:01 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-19 13:28 [PATCH net-next 0/4] net: filter: BPF updates Daniel Borkmann
2013-03-19 13:28 ` [PATCH net-next 1/4] flow_keys: include thoff into flow_keys for later usage Daniel Borkmann
2013-03-19 13:55 ` Eric Dumazet
2013-03-19 14:01 ` Daniel Borkmann [this message]
2013-03-19 13:28 ` [PATCH net-next 2/4] net: flow_dissector: add __skb_get_poff to get a start offset to payload Daniel Borkmann
2013-03-19 13:28 ` [PATCH net-next 3/4] filter: add ANC_PAY_OFFSET instruction for loading payload start offset Daniel Borkmann
2013-03-19 13:28 ` [PATCH net-next 4/4] filter: add minimal BPF JIT emitted image disassembler Daniel Borkmann
2013-03-20 2:58 ` Ben Hutchings
2013-03-20 8:50 ` Daniel Borkmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51486FB4.1050100@redhat.com \
--to=dborkman@redhat.com \
--cc=davem@davemloft.net \
--cc=eric.dumazet@gmail.com \
--cc=jasowang@redhat.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.