Re: [RFC] net/sched/em_canid: Ematch rule to match CAN frames according to their CAN IDs

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Oliver,

Oliver Hartkopp <socketcan@xxxxxxxxxxxx> writes:
> Hello Rostislav, hello Eric,
>
> On 12.06.2012 16:50, Rostislav Lisovy wrote:
>
>> On Tue, 2012-06-12 at 16:33 +0200, Eric Dumazet wrote: 
>>> On Tue, 2012-06-12 at 16:03 +0200, Eric Dumazet wrote:
>>>> On Tue, 2012-06-12 at 15:48 +0200, Rostislav Lisovy wrote:
>>>>> em_canid is an ematch capable of classifying CAN frames according to
>>>>> their CAN IDs.
>>>>>
>>>>> This RFC/Patch contains a reworked classifier initially posted in
>>>>> http://www.spinics.net/lists/netdev/msg200114.html
>>>>> The functionality is the same however there is almost 50% reduction
>>>>> in the source code length.
>>>>>
>>>>> There is a slight difference between this ematch and other available
>>>>> ematches. Other ematches implement only a simple match operation and
>>>>> are meant to be combined with logic conjunctions (e.g. AND, OR).
>>>>> Our ematch makes it possible to use up to 32 rules in single
>>>>> 'configuration statement' (with OR semantics). This allows us to take
>>>>> the advantage of the bit field data-structure in the implementation of
>>>>> the match function.
>>>>>
>>>>> Example: canid(sff 0x123 eff 0x124 sff 0x230:0x7f0)
>>>>> This ematch would match CAN SFF frames with the following IDs:
>>>>> 0x123, 0x230--0x23f or EFF frame with ID 0x124.
>
> i tried to figure out the difference between the implementation as classifier
> (link above) and this implementation as an ematch.
>
> Do we have any disadvantages using the ematch? 

The performance of ematch might be slightly lower than of standalone
classifier. Rosta will compare the performance soon. 

> E.g. is it still possible to add additional ematches like checking for
> patterns inside can_frame.data[] (which is located in skb->data) with
> ematch_u32 or e.g. ematch_text ??

AFAIK, this should be possible and it will be a big advantage over
implementation as a standalone classifier.

Regards,
-Michal
--
To unsubscribe from this list: send the line "unsubscribe lartc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux