Hello Risto,
Thanks for your answer. However, I was trying the rules and I got unexpected
results. For example:
linkDown 10.1.1.1 on interface Gi10/1
Creating context 'linkDown'
RsvpIfStateChange
Adding event 'RsvpIfStateChange' to context 'linkDown'
Creating alias 'linkDownHasData' for context 'linkDown'
RsvpIfNbrStateDown
Adding event 'RsvpIfNbrStateDown' to context 'linkDown'
Creating alias 'linkDownHasData' for context 'linkDown'
Alias 'linkDownHasData' already exists
Deleting stale context 'linkDownHasData'
Creating event 'ReportLinkDown'
Stale context 'linkDown' deleted
Stale context 'linkDownHasData' deleted
I guest the last rule cannot apply because the alias context expire as soon as
linkDown context die. I tried set option to extend the context lifetime in the
last rule but it didn't work.
How can I extend the alias context lifetime so the event ReportLinkDown can be
match in the last rule?
Raul.
On 04/21/2012 02:21 AM, mindman101 wrote: > Hello list! > > I
configured three single rules: the first one trigger a context and the >
next two add a text to the context when there is a match. > > In the
first rule I copied the content of the context to a variable. > > I know
I should use a miniperl program to do what I need, but I don't > have any
experience in perl. The problem is: > > How can I evaluate the variable h
to know whether is empty or not? If it > is empty do nothing, if not empty,
create an event. Unfortunately, conditional execution is not currently
supported in action lists. Nevertheless, you could implement this logic through
contexts (or context aliases). Also, the original rules need modification
anyway, since 'add' creates a context with infinite lifetime if it does not
exist. type=Single ptype=RegExp pattern=linkDown (\S+) on interface (\S+)
desc=There is a link down on $1 on $2 action=create linkDown 3 (event
ReportLinkDown) type=Single ptype=RegExp pattern=^(RsvpIfStateChange).+
context=linkDown desc=$0 action=add linkDown RsvpIfStateChange; alias linkDown
linkDownHasData type=Single ptype=RegExp pattern=^(RsvpIfNbrStateDown).+
context=linkDown desc=$0 action=add linkDown RsvpIfNbrStateDown; alias linkDown
linkDownHasData type=Single ptype=RegExp pattern=ReportLinkDown
context=linkDownHasData desc=report the linkdown context that has data
action=copy linkDown %h; event %h An alias linkDownHasData is an indication
that at least one event has been added to linkDown context. The alias is
another name for linkDown which gets dropped when linkDown itself expires, so
no separate deletion is necessary. regards, risto > > I have this: >
> type=Single > ptype=RegExp > pattern=linkDown (\S+) on interface
(\S+) > desc=There is a link down on $1 on $2 > action=create linkDown 3
(copy linkDown %h; <- is %h empty ->; event %s %h) > > >
type=Single > ptype=RegExp > pattern=^(RsvpIfStateChange).+ > desc=$0
> action=add linkDown RsvpIfStateChange > > > type=Single >
ptype=RegExp > pattern=^(RsvpIfNbrStateDown).+ > desc=$0 > action=add
linkDown RsvpIfNbrStateDown > > Thanks. > > Raul. > > >
>
------------------------------------------------------------------------------
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Simple-evcorr-users mailing list
Simple-evcorr-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/simple-evcorr-users