Subject: non-integer alarmModelVarbindValue handling

From: "Dave Shield" <[email-masked]>
Date: Fri, 10 Aug 2001 08:24:01 +0100 (BST)

At the DisMan working group on Monday, one comment made about the
alarmModelVariable{Index,Value} handling was that it only handled
checking Integer32 values for equality.  Granted this is by far the
most common case, but ideally it should be possible to configure
the alarm handling in as flexible way as possible.

I tentatively suggested that it might be possible to use the
Expression MIB to address such a requirement.  I'm by no means
an expert on this, but I've done a bit of digging, and I think
that it might be possible - something as follows.

Taking the example 6.1 (3-state linkUp/linkDown), and adding
an extra requirement that this should only apply to Ethernet
interfaces (i.e. ifName is of the form "eth...") - consider
the following:

Expression MIB:
  expExpression."alarm"."linkDown" =
	"stringBegins($1, eth) && $2==2"
  expExpressionValueType."alarm"."linkDown" = unsigned32
  expObjectID."alarm"."linkdown".1 = ifName
  expObjectID."alarm"."linkdown".2 = ifOperStatus

That sets up an object (expValueInteger32Val."alarm"."linkDown")
that has a value 1 when an ethernet interface is (operaationally)
down, and 0 otherwise.
  If this was then included in the Notification (say as the
fourth varbinding), then the alarmModelTable could make use
of it in much the same way as example 6.1 uses ifAdminStatus
at the moment.

The only thing I'm not sure about is whether-and-how including
this varbind in the notification varbind list could be handled.
One possibility might be to define an alarmModelVariableTable
(by analogy with the alarmActiveVariableTable) - perhaps
using the Notification-Type definition to provide the default
values, but allowing the administrator to add additional
varbinds.  This would allow flexibility - not just for this
particular functional requirement - but also for any other
uses that might come to light in the future.

There may be other, better solutions to this - but that's
the one that springs to mind at the moment.

Comments?

Dave