Verworfenen Pakete in den nicht kritischen Warteschlangen sind weniger häufig oder mit geringerer Wahrscheinlichkeit mit Auswirkungen auf die Kunden verbunden.

Im Folgenden sind die nicht kritischen Warteschlangen aufgeführt, die überwacht werden können.

vc_queue_vcmp_init: Diese Warteschlange liefert Meldungen zur VCMP-Tunnelinitiierung bezüglich eines neuen Tunnels. Basierend auf den verfügbaren Kernen drosselt das Gateway eingehende Tunnelanfragen auf die maximale Rate, mit der sie bearbeitet werden können, ohne den bestehenden Datenverkehr zu unterbrechen. Dies führt dazu, dass die verworfenen Pakete in der Warteschlange auf einem Gateway mit vielen Tunneln erwartet werden.

Diese verworfenen Pakete sollten nach einem bestimmten Ereignis, wie dem Neustart des Gateways oder der Transitunterbrechung, in großen Bursts erfolgen, und es sollte während des normalen Betriebs keine Pakte verworfen werden.

vc_queue_vcmp_ctrl_0 und vc_queue_vcmp_ctrl_1: Diese Warteschlange bietet Kontrollmeldungen zur VCMP-Tunnelverwaltung, die auf den vorhandenen Tunneln empfangen werden. Dazu gehören Meldungen wie Routenaktualisierungen, Aktualisierungen des Pfadstatus, Taktsignale, Statistiken, Quality of Service-Synchronisierung und Tunnelinformationen.

Fast alle Kontrollmeldungen verfügen über integrierte Wiederholungsmechanismen, um diese verworfenen Pakete zu berücksichtigen, wie z. B. Routenaktualisierungen.

Im Folgenden finden Sie ein Python-Beispielskript zum Auffinden von verworfenen VCMP-Ctrl-Paketen.

#!/usr/bin/env python
"""
Check VCG vcmp drop count
"""
import os
import sys
import subprocess
import commands
import re
from optparse import OptionParser
# Parse commandline options:
parser = OptionParser(usage="%prog -w <warning threshold> -c <critical threshold> -o <vcmp> [ -h ]")
parser.add_option("-w", "--warning", action="store", type="string", dest="warn_threshold", help="Count Warning threshold should be in <value>")
parser.add_option("-c", "--critical",action="store", type="string", dest="crit_threshold", help="Count Critical threshold should be in <value>")
parser.add_option("-o", "--vcmp-name",action="store", type="string", dest="vcmp_name", help="VCMP Name in ctrl or tx drop <value>")
(options, args) = parser.parse_args()

def get_vcg_vcmp_drop_count(VCMPNAME):
 if os.path.isfile('/opt/vc/bin/debug.py'):
        L=[]
        f=subprocess.check_output(["/opt/vc/bin/debug.py","--handoff"])
        x=[r.split() for r in f.split('\n')]
        reg = re.compile(VCMPNAME)
        for i in x:
         if filter(reg.match, i):
           L.append((int(i[7])))
        return list(L)
 else:
    print "Critical: unable to get vcmp drop count()"
    sys.exit(2)

if __name__ == '__main__':
  if not options.vcmp_name:
      print "Critical: Missing vcmp drop name. (vc_queue_vcmp_ctrl or vc_queue_vcmp_tx)"
      sys.exit(2)
  if not options.crit_threshold:
      print "CRITICAL: Missing critical threshold value."
      sys.exit(2)
  if not options.warn_threshold:
      print "CRITICAL: Missing warning threshold value."
      sys.exit(2)

  vcmp_name = options.vcmp_name
  crit_threshold = options.crit_threshold
  warn_threshold = options.warn_threshold

  result = get_vcg_vcmp_drop_count(vcmp_name)
  result_data = sum(result)
  if os.path.exists("/tmp/ vc_queue_vcmp_data_output"):
     cmd="cat /tmp/ vc_queue_vcmp_data_output"
     status,output = commands.getstatusoutput(cmd)
     change= int(result_data) -  int(output)

  cmd="echo %d > /tmp/ vc_queue_vcmp_data_output" %result_data
  status,output = commands.getstatusoutput(cmd)
  if not list(result):
      print "Critical: Unable to get vcmp drop count."
      sys.exit(2)
  else:
      if int(change) > int(crit_threshold) :
        print "Critical. Drop count > crit_threshold: vc_queue_vcmp_ctrl_0: %s and vc_queue_vcmp_ctrl_1: %s" % (result[0],result[1])
        sys.exit(1)
      elif int(change) > int(warn_threshold) :
        print "Warning. Drop count > warn_threshold: vc_queue_vcmp_ctrl_0: %s and vc_queue_vcmp_ctrl_1: %s" % (result[0],result[1])
        sys.exit(1)
      else:
        print "OK. Drop count: %s" % result
        sys.exit(0)

vc_queue_vcmp_bottom: Diese Warteschlange ist die zweite Stufe der Verarbeitung von VCMP-Datenpaketen, die über VCMP-Tunnel empfangen werden. Die Warteschlange verarbeitet das Routing des Datenverkehrs an das entsprechende Ziel, wie NAT, VLAN/VRF, Non VMware SD-WAN Site und Edge.

Es ist unwahrscheinlich, dass in dieser Warteschlange verworfene Pakete auftreten, da die verworfenen Pakete eher in den vc_queue_vcmp_data_X-Warteschlangen zu beobachten sind.

vc_queue_ike: Die Warteschlange verarbeitet IKE-Protokollmeldungen, um Schlüssel und andere Zustände von Verschlüsselungssitzungen zu verwalten.

Es handelt sich im Allgemeinen um ein geringes Datenverkehrsaufkommen, und es ist unwahrscheinlich, dass es hier zu verworfenen Paketen kommt. Wenn es zu verworfenen Paketen kommt, wird erneut versucht, IKE-Meldungen zu verarbeiten.