netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ethan Sommer <sommere@ethanet.com>
To: Philippe Biondi <biondi@cartel-securite.fr>
Cc: Jamal Hadi <hadi@shell.cyberus.ca>,
	Martin Josefsson <gandalf@wlug.westbo.se>,
	"David S. Miller" <davem@redhat.com>,
	linux-net@vger.kernel.org, netdev@oss.sgi.com
Subject: Re: [Fwd: [ANNOUNCE] Layer-7 Filter for Linux QoS]
Date: Wed, 21 May 2003 18:26:12 -0500	[thread overview]
Message-ID: <3ECC0B14.7020105@ethanet.com> (raw)
In-Reply-To: <Pine.LNX.4.40.0305220107460.29409-100000@phil.home.phil>

Philippe Biondi wrote:

>On Wed, 21 May 2003, Ethan Sommer wrote:
>
>  
>
>>Philippe Biondi wrote:
>>
>>    
>>
>>>regexp support was planned but not done yet. (if someone know where I can
>>>download more free time !).
>>>
>>>The implementation should not be that hard, once you have the compiler to
>>>transform the string describing the regexp to an automaton.
>>>
>>>Note that to respect the framework, you have to deal with multiple
>>>patterns (should not be that hard). If you have pat1 and pat2, searching
>>>for (pat1|pat2) is not sufficient because for each match, you have to
>>>point which pattern matched.
>>>
>>>
>>>      
>>>
>>We actually planned on doing that initially. You should note that if you
>>want to generate one automaton for multiple patterns, that is not a
>>regular language (and thus can not be represented by a FA or DFA.)  You
>>will have to try matching against the first pattern, then the next and
>>so on.
>>    
>>
>
>If P and Q are regexps, P|Q is a regexp, so you do can.
>So detection is clearly not a problem. But to fit in the libqsearch model,
>you have to know which of the parterns matched. This is theorically
>possible, but need a bit of work in comparison with using an
>off-the-shelf regexp compiler on (Pat1|Pat2|..|Patn).
>  
>
I take it back, it is regular (kinda) but you can't to it with a 
deterministic finite atomaton. If there is a cycle in pattern1, off of 
which pattern2 has a branch, then you would need to count how many times 
you have gone around the cycle to know where to jump to in pattern2 if 
it fails to match pattern1 (which you can't do, pumping lemma and all 
that.) If you use a non-determistic FA, you should be able to just go 
through each pattern until both crash or one matches and declare that 
the winner.

If your lib did that, it would work quite well for the layer-7 filter.

Ethan



  reply	other threads:[~2003-05-21 23:26 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-05-19  3:01 [Fwd: [ANNOUNCE] Layer-7 Filter for Linux QoS] David S. Miller
2003-05-20  0:38 ` Jamal Hadi
2003-05-20  5:07   ` Ethan Sommer
2003-05-20 12:14     ` Jamal Hadi
2003-05-20 14:39       ` Ethan Sommer
2003-05-20 15:00         ` Jamal Hadi
2003-05-20 15:15           ` Martin Josefsson
2003-05-21 12:39             ` Jamal Hadi
2003-05-21 13:20               ` Philippe Biondi
2003-05-21 15:46                 ` Ethan Sommer
2003-05-21 23:11                   ` Philippe Biondi
2003-05-21 23:26                     ` Ethan Sommer [this message]
2003-05-22  8:26                       ` Philippe Biondi
2003-05-22 14:40                         ` Ethan Sommer
2003-05-24  7:22                           ` Werner Almesberger
2003-05-24  4:11                       ` Werner Almesberger
2003-05-24  4:23                         ` Werner Almesberger
2003-05-21 15:42               ` Ethan Sommer
2003-05-20 19:50           ` Ethan Sommer

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=3ECC0B14.7020105@ethanet.com \
    --to=sommere@ethanet.com \
    --cc=biondi@cartel-securite.fr \
    --cc=davem@redhat.com \
    --cc=gandalf@wlug.westbo.se \
    --cc=hadi@shell.cyberus.ca \
    --cc=linux-net@vger.kernel.org \
    --cc=netdev@oss.sgi.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).