Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
pcap-based dispatch tracer
[vpp.git]
/
src
/
plugins
/
cdp
/
cdp_periodic.c
diff --git
a/src/plugins/cdp/cdp_periodic.c
b/src/plugins/cdp/cdp_periodic.c
index
c67af00
..
b0b33cf
100644
(file)
--- a/
src/plugins/cdp/cdp_periodic.c
+++ b/
src/plugins/cdp/cdp_periodic.c
@@
-14,7
+14,7
@@
*/
#include <cdp/cdp.h>
#include <vppinfra/hash.h>
*/
#include <cdp/cdp.h>
#include <vppinfra/hash.h>
-#include <v
net/unix
/pcap.h>
+#include <v
ppinfra
/pcap.h>
#include <vnet/srp/srp.h>
#include <vnet/ppp/ppp.h>
#include <vnet/hdlc/hdlc.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);
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;
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);
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;
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;
{
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;
/* 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;
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.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 */
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;
{
hdlc_and_cdp_header_t h;
- memset (&h, 0, sizeof (h));
+
clib_
memset (&h, 0, sizeof (h));
h.hdlc.address = 0x0f;
h.hdlc.address = 0x0f;
- /* h.hdlc.control = 0; (memset) */
+ /* h.hdlc.control = 0; (
clib_
memset) */
h.hdlc.protocol = htons (0x2000); /* CDP = 0x2000 */
/* CDP */
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;
{
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;
/* 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;
h.ethernet.dst_address[2] = 0x0C;
h.ethernet.dst_address[3] = 0xCC;
h.ethernet.dst_address[4] = 0xCC;