X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fcdp%2Fcdp_periodic.c;h=b0b33cf9d41a2abec97137dcbba7f86a5fa59166;hb=51793f54fd91ada610db6a9e78436075f2e33bdd;hp=c67af00c7a5a2773d032e7b1490953f24679ee27;hpb=aaacfbc5b15b0653489ad2e80db48151a4375ece;p=vpp.git diff --git a/src/plugins/cdp/cdp_periodic.c b/src/plugins/cdp/cdp_periodic.c index c67af00c7a5..b0b33cf9d41 100644 --- a/src/plugins/cdp/cdp_periodic.c +++ b/src/plugins/cdp/cdp_periodic.c @@ -14,7 +14,7 @@ */ #include #include -#include +#include #include #include #include @@ -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;