pcap-based dispatch tracer
[vpp.git] / src / plugins / cdp / cdp_periodic.c
index c67af00..b0b33cf 100644 (file)
@@ -14,7 +14,7 @@
  */
 #include <cdp/cdp.h>
 #include <vppinfra/hash.h>
-#include <vnet/unix/pcap.h>
+#include <vppinfra/pcap.h>
 #include <vnet/srp/srp.h>
 #include <vnet/ppp/ppp.h>
 #include <vnet/hdlc/hdlc.h>
@@ -195,6 +195,9 @@ send_hdlc_hello (cdp_main_t * cm, cdp_neighbor_t * n, int count)
       h0 = vlib_packet_template_get_packet
        (vm, &cm->packet_templates[n->packet_template_index], &bi0);
 
+      if (!h0)
+       break;
+
       hw = vnet_get_sup_hw_interface (vnm, n->sw_if_index);
 
       t0 = (u8 *) & h0->cdp.data;
@@ -251,6 +254,9 @@ send_srp_hello (cdp_main_t * cm, cdp_neighbor_t * n, int count)
       h0 = vlib_packet_template_get_packet
        (vm, &cm->packet_templates[n->packet_template_index], &bi0);
 
+      if (!h0)
+       break;
+
       hw = vnet_get_sup_hw_interface (vnm, n->sw_if_index);
 
       t0 = (u8 *) & h0->cdp.data;
@@ -402,11 +408,11 @@ cdp_periodic_init (vlib_main_t * vm)
   {
     ethernet_llc_snap_and_cdp_header_t h;
 
-    memset (&h, 0, sizeof (h));
+    clib_memset (&h, 0, sizeof (h));
 
     /* Send to 01:00:0c:cc:cc */
     h.ethernet.dst_address[0] = 0x01;
-    /* h.ethernet.dst_address[1] = 0x00; (memset) */
+    /* h.ethernet.dst_address[1] = 0x00; (clib_memset) */
     h.ethernet.dst_address[2] = 0x0C;
     h.ethernet.dst_address[3] = 0xCC;
     h.ethernet.dst_address[4] = 0xCC;
@@ -421,8 +427,8 @@ cdp_periodic_init (vlib_main_t * vm)
     h.llc.control = 0x03;      /* UI (no extended control bytes) */
 
     /* SNAP */
-    /* h.snap.oui[0] = 0x00; (memset) */
-    /* h.snap.oui[1] = 0x00; (memset) */
+    /* h.snap.oui[0] = 0x00; (clib_memset) */
+    /* h.snap.oui[1] = 0x00; (clib_memset) */
     h.snap.oui[2] = 0x0C;      /* Cisco = 0x00000C */
     h.snap.protocol = htons (0x2000);  /* CDP = 0x2000 */
 
@@ -444,10 +450,10 @@ cdp_periodic_init (vlib_main_t * vm)
   {
     hdlc_and_cdp_header_t h;
 
-    memset (&h, 0, sizeof (h));
+    clib_memset (&h, 0, sizeof (h));
 
     h.hdlc.address = 0x0f;
-    /* h.hdlc.control = 0; (memset) */
+    /* h.hdlc.control = 0; (clib_memset) */
     h.hdlc.protocol = htons (0x2000);  /* CDP = 0x2000 */
 
     /* CDP */
@@ -466,11 +472,11 @@ cdp_periodic_init (vlib_main_t * vm)
   {
     srp_and_cdp_header_t h;
 
-    memset (&h, 0, sizeof (h));
+    clib_memset (&h, 0, sizeof (h));
 
     /* Send to 01:00:0c:cc:cc */
     h.ethernet.dst_address[0] = 0x01;
-    /* h.ethernet.dst_address[1] = 0x00; (memset) */
+    /* h.ethernet.dst_address[1] = 0x00; (clib_memset) */
     h.ethernet.dst_address[2] = 0x0C;
     h.ethernet.dst_address[3] = 0xCC;
     h.ethernet.dst_address[4] = 0xCC;