1From 07a83c583b9d508c7040dc6254a6a7113b2ce55f Mon Sep 17 00:00:00 2001
2From: Aaron Conole <aconole@redhat.com>
3Date: Mon, 3 Aug 2020 15:05:42 -0400
4Subject: [PATCH 2/9] lldp_head: rename and make extern
5
6Try to resolve this silly mod issue
7
8Signed-off-by: Aaron Conole <aconole@redhat.com>
9---
10 config.c           |  4 ++--
11 event_iface.c      |  4 ++--
12 include/lldp_mod.h |  2 +-
13 lldp/agent.c       |  2 +-
14 lldp/rx.c          |  4 ++--
15 lldp/tx.c          |  4 ++--
16 lldp_dcbx.c        |  8 ++++----
17 lldp_mand_cmds.c   |  8 ++++----
18 lldpad.c           | 12 +++++++-----
19 lldptool.c         | 14 ++++++++------
20 lldptool_cmds.c    |  2 +-
21 qbg/ecp22.c        |  8 ++++----
22 qbg/vdp.c          |  4 ++--
23 qbg/vdp22.c        |  6 +++---
24 qbg/vdp22_cmds.c   |  2 +-
25 vdptool.c          | 16 +++++++++-------
26 16 files changed, 53 insertions(+), 47 deletions(-)
27
28diff --git a/config.c b/config.c
29index be458fd..bc3fbae 100644
30--- a/config.c
31+++ b/config.c
32@@ -185,7 +185,7 @@ void scan_port(UNUSED void *eloop_data, UNUSED void *user_ctx)
33 		LIST_FOREACH(agent, &port->agent_head, entry) {
34 			LLDPAD_DBG("%s: calling ifdown for agent %p.\n",
35 				   __func__, agent);
36-			LIST_FOREACH(np, &lldp_head, lldp) {
37+			LIST_FOREACH(np, &lldp_mod_head, lldp) {
38 				ops = np->ops;
39 				if (ops->lldp_mod_ifdown)
40 					ops->lldp_mod_ifdown(ifname, agent);
41@@ -394,7 +394,7 @@ void init_ports(void)
42 		LIST_FOREACH(agent, &port->agent_head, entry) {
43 			LLDPAD_DBG("%s: calling ifup for agent %p.\n",
44 				   __func__, agent);
45-			LIST_FOREACH(np, &lldp_head, lldp) {
46+			LIST_FOREACH(np, &lldp_mod_head, lldp) {
47 				if (np->ops->lldp_mod_ifup)
48 					np->ops->lldp_mod_ifup(p->if_name, agent);
49 			}
50diff --git a/event_iface.c b/event_iface.c
51index 43a95c7..1be2963 100644
52--- a/event_iface.c
53+++ b/event_iface.c
54@@ -216,7 +216,7 @@ int oper_add_device(char *device_name)
55 	LIST_FOREACH(agent, &port->agent_head, entry) {
56 		LLDPAD_DBG("%s: calling ifup for agent %p.\n",
57 			   __func__, agent);
58-		LIST_FOREACH(np, &lldp_head, lldp) {
59+		LIST_FOREACH(np, &lldp_mod_head, lldp) {
60 			if (np->ops->lldp_mod_ifup)
61 				np->ops->lldp_mod_ifup(device_name, agent);
62 		}
63@@ -283,7 +283,7 @@ static void event_if_decode_nlmsg(int route_type, void *data, int len)
64 			LIST_FOREACH(agent, &port->agent_head, entry) {
65 				LLDPAD_DBG("%s: calling ifdown for agent %p.\n",
66 					   __func__, agent);
67-				LIST_FOREACH(np, &lldp_head, lldp) {
68+				LIST_FOREACH(np, &lldp_mod_head, lldp) {
69 					ops = np->ops;
70 					if (ops->lldp_mod_ifdown)
71 						ops->lldp_mod_ifdown(device_name,
72diff --git a/include/lldp_mod.h b/include/lldp_mod.h
73index 49a50e4..9733595 100644
74--- a/include/lldp_mod.h
75+++ b/include/lldp_mod.h
76@@ -96,7 +96,7 @@ struct lldp_module {
77 };
78
79 LIST_HEAD(lldp_head, lldp_module);
80-struct lldp_head lldp_head;
81+extern struct lldp_head lldp_mod_head;
82
83 static inline struct lldp_module *find_module_by_id(struct lldp_head *head, int id)
84 {
85diff --git a/lldp/agent.c b/lldp/agent.c
86index 333929a..aa4a8d1 100644
87--- a/lldp/agent.c
88+++ b/lldp/agent.c
89@@ -163,7 +163,7 @@ static void timer(UNUSED void *eloop_data, UNUSED void *user_ctx)
90 			run_rx_sm(port, agent);
91 			update_rx_timers(agent);
92
93-			LIST_FOREACH(n, &lldp_head, lldp) {
94+			LIST_FOREACH(n, &lldp_mod_head, lldp) {
95 				if (n->ops && n->ops->timer)
96 					n->ops->timer(port, agent);
97 			}
98diff --git a/lldp/rx.c b/lldp/rx.c
99index 12d07bc..43aeeba 100644
100--- a/lldp/rx.c
101+++ b/lldp/rx.c
102@@ -359,7 +359,7 @@ void rxProcessFrame(struct port *port, struct lldp_agent *agent)
103 		}
104
105 		/* rx per lldp module */
106-		LIST_FOREACH(np, &lldp_head, lldp) {
107+		LIST_FOREACH(np, &lldp_mod_head, lldp) {
108 			if (!np->ops || !np->ops->lldp_mod_rchange)
109 				continue;
110
111@@ -402,7 +402,7 @@ u8 mibDeleteObjects(struct port *port, struct lldp_agent *agent)
112 {
113 	struct lldp_module *np;
114
115-	LIST_FOREACH(np, &lldp_head, lldp) {
116+	LIST_FOREACH(np, &lldp_mod_head, lldp) {
117 		if (!np->ops || !np->ops->lldp_mod_mibdelete)
118 			continue;
119 		np->ops->lldp_mod_mibdelete(port, agent);
120diff --git a/lldp/tx.c b/lldp/tx.c
121index c3a5c62..0746e34 100644
122--- a/lldp/tx.c
123+++ b/lldp/tx.c
124@@ -71,7 +71,7 @@ bool mibConstrInfoLLDPDU(struct port *port, struct lldp_agent *agent)
125 	fb_offset += sizeof(struct l2_ethhdr);
126
127 	/* Generic TLV Pack */
128-	LIST_FOREACH(np, &lldp_head, lldp) {
129+	LIST_FOREACH(np, &lldp_mod_head, lldp) {
130 		if (!np->ops || !np->ops->lldp_mod_gettlv)
131 			continue;
132
133@@ -206,7 +206,7 @@ bool mibConstrShutdownLLDPDU(struct port *port, struct lldp_agent *agent)
134 	memcpy(agent->tx.frameout, (void *)&eth, sizeof(struct l2_ethhdr));
135 	fb_offset += sizeof(struct l2_ethhdr);
136
137-	np = find_module_by_id(&lldp_head, LLDP_MOD_MAND);
138+	np = find_module_by_id(&lldp_mod_head, LLDP_MOD_MAND);
139 	if (!np)
140 		goto error;
141 	if (!np->ops || !np->ops->lldp_mod_gettlv)
142diff --git a/lldp_dcbx.c b/lldp_dcbx.c
143index 7e53c0f..809086f 100644
144--- a/lldp_dcbx.c
145+++ b/lldp_dcbx.c
146@@ -129,7 +129,7 @@ struct dcbx_tlvs *dcbx_data(const char *ifname)
147 	struct dcbd_user_data *dud;
148 	struct dcbx_tlvs *tlv = NULL;
149
150-	dud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_DCBX);
151+	dud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_DCBX);
152 	if (dud) {
153 		LIST_FOREACH(tlv, &dud->head, entry) {
154 			if (!strncmp(tlv->ifname, ifname, IFNAMSIZ))
155@@ -148,7 +148,7 @@ int dcbx_tlvs_rxed(const char *ifname, struct lldp_agent *agent)
156 	if (agent->type != NEAREST_BRIDGE)
157 		return 0;
158
159-	dud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_DCBX);
160+	dud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_DCBX);
161 	if (dud) {
162 		LIST_FOREACH(tlv, &dud->head, entry) {
163 			if (!strncmp(tlv->ifname, ifname, IFNAMSIZ))
164@@ -172,7 +172,7 @@ int dcbx_check_active(const char *ifname)
165 	struct dcbd_user_data *dud;
166 	struct dcbx_tlvs *tlv = NULL;
167
168-	dud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_DCBX);
169+	dud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_DCBX);
170 	if (dud) {
171 		LIST_FOREACH(tlv, &dud->head, entry) {
172 			if (!strncmp(tlv->ifname, ifname, IFNAMSIZ))
173@@ -507,7 +507,7 @@ void dcbx_ifup(char *ifname, struct lldp_agent *agent)
174 	ifindex = get_ifidx(ifname);
175 	port = port_find_by_ifindex(ifindex);
176
177-	dud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_DCBX);
178+	dud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_DCBX);
179 	tlvs = dcbx_data(ifname);
180
181 	if (!port)
182diff --git a/lldp_mand_cmds.c b/lldp_mand_cmds.c
183index 8a88177..1c43bf4 100644
184--- a/lldp_mand_cmds.c
185+++ b/lldp_mand_cmds.c
186@@ -466,7 +466,7 @@ int handle_get_args(struct cmd *cmd, UNUSED char *arg, char *argvalue,
187 	nbuf = obuf;
188 	nbuf_len = obuf_len;
189
190-	LIST_FOREACH(np, &lldp_head, lldp) {
191+	LIST_FOREACH(np, &lldp_mod_head, lldp) {
192 		if (!np->ops->get_arg_handler)
193 			continue;
194 		if (!(ah = np->ops->get_arg_handler()))
195@@ -496,7 +496,7 @@ int handle_get_arg(struct cmd *cmd, char *arg, char *argvalue,
196 	struct arg_handlers *ah;
197 	int rval, status = cmd_not_applicable;
198
199-	LIST_FOREACH(np, &lldp_head, lldp) {
200+	LIST_FOREACH(np, &lldp_mod_head, lldp) {
201 		if (!np->ops->get_arg_handler)
202 			continue;
203 		if (!(ah = np->ops->get_arg_handler()))
204@@ -593,7 +593,7 @@ int handle_test_arg(struct cmd *cmd, char *arg, char *argvalue,
205 	struct arg_handlers *ah;
206 	int rval, status = cmd_not_applicable;
207
208-	LIST_FOREACH(np, &lldp_head, lldp) {
209+	LIST_FOREACH(np, &lldp_mod_head, lldp) {
210 		if (!np->ops->get_arg_handler)
211 			continue;
212 		if (!(ah = np->ops->get_arg_handler()))
213@@ -626,7 +626,7 @@ int handle_set_arg(struct cmd *cmd, char *arg, char *argvalue,
214 	struct arg_handlers *ah;
215 	int rval, status = cmd_not_applicable;
216
217-	LIST_FOREACH(np, &lldp_head, lldp) {
218+	LIST_FOREACH(np, &lldp_mod_head, lldp) {
219 		if (!np->ops->get_arg_handler)
220 			continue;
221 		if (!(ah = np->ops->get_arg_handler()))
222diff --git a/lldpad.c b/lldpad.c
223index 01fb588..65e92c7 100644
224--- a/lldpad.c
225+++ b/lldpad.c
226@@ -80,6 +80,8 @@ struct lldp_module *(*register_tlv_table[])(void) = {
227 	NULL,
228 };
229
230+struct lldp_head lldp_mod_head;
231+
232 char *cfg_file_name = NULL;
233 bool daemonize = 0;
234 int loglvl = LOG_WARNING;
235@@ -98,7 +100,7 @@ static void init_modules(void)
236 	struct lldp_module *premod = NULL;
237 	int i = 0;
238
239-	LIST_INIT(&lldp_head);
240+	LIST_INIT(&lldp_mod_head);
241 	for (i = 0; register_tlv_table[i]; i++) {
242 		module = register_tlv_table[i]();
243 		if (!module)
244@@ -106,7 +108,7 @@ static void init_modules(void)
245 		if (premod)
246 			LIST_INSERT_AFTER(premod, module, lldp);
247 		else
248-			LIST_INSERT_HEAD(&lldp_head, module, lldp);
249+			LIST_INSERT_HEAD(&lldp_mod_head, module, lldp);
250 		premod = module;
251 	}
252 }
253@@ -115,9 +117,9 @@ void deinit_modules(void)
254 {
255 	struct lldp_module *module;
256
257-	while (lldp_head.lh_first != NULL) {
258-		module = lldp_head.lh_first;
259-		LIST_REMOVE(lldp_head.lh_first, lldp);
260+	while (lldp_mod_head.lh_first != NULL) {
261+		module = lldp_mod_head.lh_first;
262+		LIST_REMOVE(lldp_mod_head.lh_first, lldp);
263 		module->ops->lldp_mod_unregister(module);
264 	}
265 }
266diff --git a/lldptool.c b/lldptool.c
267index 2b14f61..664a248 100644
268--- a/lldptool.c
269+++ b/lldptool.c
270@@ -64,6 +64,8 @@
271 #include "lldp_util.h"
272 #include "lldpad_status.h"
273
274+struct lldp_head lldp_mod_head;
275+
276 static int show_raw;
277
278 static const char *cli_version =
279@@ -199,7 +201,7 @@ static void init_modules(void)
280 		if (premod)
281 			LIST_INSERT_AFTER(premod, module, lldp);
282 		else
283-			LIST_INSERT_HEAD(&lldp_head, module, lldp);
284+			LIST_INSERT_HEAD(&lldp_mod_head, module, lldp);
285 		premod = module;
286 	}
287 }
288@@ -208,9 +210,9 @@ void deinit_modules(void)
289 {
290 	struct lldp_module *module;
291
292-	while (lldp_head.lh_first != NULL) {
293-		module = lldp_head.lh_first;
294-		LIST_REMOVE(lldp_head.lh_first, lldp);
295+	while (lldp_mod_head.lh_first != NULL) {
296+		module = lldp_mod_head.lh_first;
297+		LIST_REMOVE(lldp_mod_head.lh_first, lldp);
298 		module->ops->lldp_mod_unregister(module);
299 	}
300 }
301@@ -346,7 +348,7 @@ cli_cmd_help(UNUSED struct clif *clif, UNUSED int argc, UNUSED char *argv[],
302 	printf("%s\n%s\n%s", commands_usage, commands_options, commands_help);
303
304 	printf("\nTLV identifiers:\n");
305-	LIST_FOREACH(np, &lldp_head, lldp)
306+	LIST_FOREACH(np, &lldp_mod_head, lldp)
307 		if (np->ops->print_help)
308 			np->ops->print_help();
309 	return 0;
310@@ -406,7 +408,7 @@ u32 lookup_tlvid(char *tlvid_str)
311 	struct lldp_module *np;
312 	u32 tlvid = INVALID_TLVID;
313
314-	LIST_FOREACH(np, &lldp_head, lldp) {
315+	LIST_FOREACH(np, &lldp_mod_head, lldp) {
316 		if (np->ops->lookup_tlv_name) {
317 			tlvid = np->ops->lookup_tlv_name(tlvid_str);
318 			if (tlvid != INVALID_TLVID)
319diff --git a/lldptool_cmds.c b/lldptool_cmds.c
320index daef8c8..70b7b0d 100644
321--- a/lldptool_cmds.c
322+++ b/lldptool_cmds.c
323@@ -464,7 +464,7 @@ static void print_tlvs(struct cmd *cmd, char *ibuf)
324 			offset += 8;
325
326 		printed = 0;
327-		LIST_FOREACH(np, &lldp_head, lldp) {
328+		LIST_FOREACH(np, &lldp_mod_head, lldp) {
329 			if (np->ops->print_tlv(tlvid, tlv_len, ibuf+offset)) {
330 					printed = 1;
331 					break;
332diff --git a/qbg/ecp22.c b/qbg/ecp22.c
333index 6561d14..825392b 100644
334--- a/qbg/ecp22.c
335+++ b/qbg/ecp22.c
336@@ -774,7 +774,7 @@ void ecp22_start(char *ifname)
337 	struct ecp22 *ecp;
338
339 	LLDPAD_DBG("%s:%s start ecp\n", __func__, ifname);
340-	eud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_ECP22);
341+	eud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_ECP22);
342 	if (!eud) {
343 		LLDPAD_DBG("%s:%s no ECP module\n", __func__, ifname);
344 		return;
345@@ -837,7 +837,7 @@ void ecp22_stop(char *ifname)
346 	struct ecp22 *ecp;
347
348 	LLDPAD_DBG("%s:%s stop ecp\n", __func__, ifname);
349-	eud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_ECP22);
350+	eud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_ECP22);
351 	ecp = find_ecpdata(ifname, eud);
352 	if (ecp)
353 		ecp22_remove(ecp);
354@@ -852,7 +852,7 @@ static int ecp22_data_from_evb(char *ifname, struct evb22_to_ecp22 *ptr)
355 	struct ecp22_user_data *eud;
356 	struct ecp22 *ecp;
357
358-	eud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_ECP22);
359+	eud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_ECP22);
360 	ecp = find_ecpdata(ifname, eud);
361 	if (ecp) {
362 		ecp->max_rte = ptr->max_rte;
363@@ -930,7 +930,7 @@ static int ecp22_req2send(char *ifname, unsigned short subtype,
364
365 	LLDPAD_DBG("%s:%s subtype:%d\n", __func__, ifname, subtype);
366
367-	eud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_ECP22);
368+	eud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_ECP22);
369 	ecp = find_ecpdata(ifname, eud);
370 	if (!ecp) {
371 		rc = -ENODEV;
372diff --git a/qbg/vdp.c b/qbg/vdp.c
373index d131560..c26bbd6 100644
374--- a/qbg/vdp.c
375+++ b/qbg/vdp.c
376@@ -188,7 +188,7 @@ struct vdp_data *vdp_data(char *ifname)
377 	struct vdp_user_data *ud;
378 	struct vdp_data *vd = NULL;
379
380-	ud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_VDP02);
381+	ud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_VDP02);
382 	if (ud) {
383 		LIST_FOREACH(vd, &ud->head, entry) {
384 			if (!strncmp(ifname, vd->ifname, IFNAMSIZ))
385@@ -1624,7 +1624,7 @@ void vdp_ifup(char *ifname, struct lldp_agent *agent)
386
387 	LIST_INIT(&vd->profile_head);
388
389-	ud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_VDP02);
390+	ud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_VDP02);
391 	LIST_INSERT_HEAD(&ud->head, vd, entry);
392
393 out_start_again:
394diff --git a/qbg/vdp22.c b/qbg/vdp22.c
395index cf02310..81ea3a8 100644
396--- a/qbg/vdp22.c
397+++ b/qbg/vdp22.c
398@@ -694,7 +694,7 @@ static struct vdp22 *vdp22_findif(const char *ifname,
399 	struct vdp22 *vdp = 0;
400
401 	if (!ud) {
402-		ud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_VDP22);
403+		ud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_VDP22);
404 		if (!ud)
405 			LLDPAD_DBG("%s:%s no VDP22 module\n", __func__,
406 				   ifname);
407@@ -794,7 +794,7 @@ void vdp22_stop(char *ifname)
408 	struct vsi22 *vsi;
409
410 	LLDPAD_DBG("%s:%s stop vdp\n", __func__, ifname);
411-	vud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_VDP22);
412+	vud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_VDP22);
413 	if (!vud) {
414 		LLDPAD_ERR("%s:%s no VDP22 module\n", __func__, ifname);
415 		return;
416@@ -874,7 +874,7 @@ void vdp22_start(const char *ifname, int role)
417 	struct vsi22 *vsi;
418
419 	LLDPAD_DBG("%s:%s start vdp\n", __func__, ifname);
420-	vud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_VDP22);
421+	vud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_VDP22);
422 	if (!vud) {
423 		LLDPAD_ERR("%s:%s no VDP22 module\n", __func__, ifname);
424 		return;
425diff --git a/qbg/vdp22_cmds.c b/qbg/vdp22_cmds.c
426index 2e1bbbd..a8025ee 100644
427--- a/qbg/vdp22_cmds.c
428+++ b/qbg/vdp22_cmds.c
429@@ -57,7 +57,7 @@ static struct lldp_module *get_my_module(int thisid)
430 {
431 	struct lldp_module *np = NULL;
432
433-	LIST_FOREACH(np, &lldp_head, lldp)
434+	LIST_FOREACH(np, &lldp_mod_head, lldp)
435 		if (thisid == np->id)
436 			break;
437 	return np;
438diff --git a/vdptool.c b/vdptool.c
439index 8f36277..f1d946c 100644
440--- a/vdptool.c
441+++ b/vdptool.c
442@@ -61,6 +61,8 @@
443 #define OUI_ENCODE_HNDLR(name) name##_oui_encode_hndlr
444 #define OUI_PRNT_DECODE_HNDLR(name) name##_oui_print_decode_hndlr
445
446+struct lldp_head lldp_mod_head;
447+
448 #define EXTERN_OUI_FN(name) \
449 	extern bool name##_oui_encode_hndlr(char *, char *, size_t); \
450 	extern void name##_oui_print_decode_hndlr(char *)
451@@ -796,13 +798,13 @@ static void init_modules(void)
452 	struct lldp_module *premod = NULL;
453 	int i = 0;
454
455-	LIST_INIT(&lldp_head);
456+	LIST_INIT(&lldp_mod_head);
457 	for (i = 0; register_tlv_table[i]; i++) {
458 		module = register_tlv_table[i]();
459 		if (premod)
460 			LIST_INSERT_AFTER(premod, module, lldp);
461 		else
462-			LIST_INSERT_HEAD(&lldp_head, module, lldp);
463+			LIST_INSERT_HEAD(&lldp_mod_head, module, lldp);
464 		premod = module;
465 	}
466 }
467@@ -811,9 +813,9 @@ void deinit_modules(void)
468 {
469 	struct lldp_module *module;
470
471-	while (lldp_head.lh_first != NULL) {
472-		module = lldp_head.lh_first;
473-		LIST_REMOVE(lldp_head.lh_first, lldp);
474+	while (lldp_mod_head.lh_first != NULL) {
475+		module = lldp_mod_head.lh_first;
476+		LIST_REMOVE(lldp_mod_head.lh_first, lldp);
477 		module->ops->lldp_mod_unregister(module);
478 	}
479 }
480@@ -953,7 +955,7 @@ cli_cmd_help(UNUSED struct clif *clif, UNUSED int argc, UNUSED char *argv[],
481 	printf("%s\n%s\n%s", commands_usage, commands_options, commands_help);
482
483 	printf("\nTLV identifiers:\n");
484-	LIST_FOREACH(np, &lldp_head, lldp)
485+	LIST_FOREACH(np, &lldp_mod_head, lldp)
486 		if (np->ops->print_help)
487 			np->ops->print_help();
488 	return 0;
489@@ -1006,7 +1008,7 @@ u32 lookup_tlvid(char *tlvid_str)
490 	struct lldp_module *np;
491 	u32 tlvid = INVALID_TLVID;
492
493-	LIST_FOREACH(np, &lldp_head, lldp) {
494+	LIST_FOREACH(np, &lldp_mod_head, lldp) {
495 		if (np->ops->lookup_tlv_name) {
496 			tlvid = np->ops->lookup_tlv_name(tlvid_str);
497 			if (tlvid != INVALID_TLVID)
498--
4992.28.0
500
501