|
From: Vincent B. <be...@lu...> - 2008-06-26 16:51:50
Attachments:
socket-in-var-run.patch
|
The manual page does not seem to list the correct options. "-o" is
missing, "-c" should be "-l". Moreover, some options are not
implemented, like "-f" and "-s" (which means that lldpd cannot be
daemonized). The getopt string is wrong:
char *theOpts = "i:d:f:s:h:l:o";
It should be:
char *theOpts = "i:d:fshl:o";
At least, I was unable to make lldpneighbour work. I get just a few
blank lines with a w at the start of one of them. Maybe this is related
to the fact that I periodically get this:
Running RX state machine for lan
Copying TLV1 for MSAP Processing...
Copying TLV2 for MSAP Processing...
[ERROR] Couldn't allocate memory!!
However, lldpd seems to work as a simple agent (I use it with Nortel
Baystack 5510).
Thanks.
--
No fortunes found
|
|
From: Terry S. <ter...@gm...> - 2008-07-04 06:32:37
|
Hi Vincent, Thanks for the comments. Yes, we're still maintaining OpenLLDP as time permits. We did have someone contribute bits to get debian packages going, but I haven't had time to figure out how to integrate them (I'm not a debian user myself, so some research is needed for me to understand the pieces). We'd be glad to take any patches, and if you'd like me to send you the pieces I have I'd be happy to do that. We're actually going to change the license over to GPLv2/BSD, so I'll get the license files updated to reflect the actual version. Thanks for the patch. I'll get it committed. The command line options do need some work. The ultimate goal is to have it be a daemon, but we've spent most of our time attempting to get basic functionality working and as such haven't had time to clean up everything yet, but I'll take your suggestions. Thanks. :) It seems as though we have a few bugs regarding processing of certain frames. Can you run lldpd with the "-d A" flags and send me the output of your Nortel frame? That will help me reproduce the "can't allocate memory" error. That error is definitely causing you a problem, and would have prevented lldpneighbors from working, but there was also a socket read bug in lldpneighbors that was causing it to misbehave as well... I've committed a fix for that. I'm hoping that I can get a release pushed out this weekend (we had a long weekend here in the US). Thanks again for the feedback and let me know what I can do to help you with the debian pieces. - Terry On Thu, Jun 26, 2008 at 10:47 AM, Vincent Bernat <be...@lu...> wrote: > Hi! > > I have just discovered OpenLLDP. I have however a few questions about > its current state. > > I would like to package it for Debian but no release have been done > since more than one year. Therefore, I have started packaging CVS which > has little activity. Will OpenLLDP still be maintained in the future? > > The license is a bit unclear. You should ship a copy of the GPL (as > required by the GPL, even if, as authors, you are not tied to the > license). Maybe you should precise which GPL version you license the > software (GPLv2 or later maybe). Moreover, you don't say what is the > proprietary license. If the license is determined with the client, you > can just license the whole as GPL: as authors, you can relicense your > software as you want, when you want. > > I see that the socket is created in /tmp. I have attached a patch to > create it in /var/run instead to avoid any symlink attack. > > > The manual page does not seem to list the correct options. "-o" is > missing, "-c" should be "-l". Moreover, some options are not > implemented, like "-f" and "-s" (which means that lldpd cannot be > daemonized). The getopt string is wrong: > char *theOpts = "i:d:f:s:h:l:o"; > It should be: > char *theOpts = "i:d:fshl:o"; > > At least, I was unable to make lldpneighbour work. I get just a few > blank lines with a w at the start of one of them. Maybe this is related > to the fact that I periodically get this: > > Running RX state machine for lan > Copying TLV1 for MSAP Processing... > Copying TLV2 for MSAP Processing... > [ERROR] Couldn't allocate memory!! > > However, lldpd seems to work as a simple agent (I use it with Nortel > Baystack 5510). > > Thanks. > -- > No fortunes found > > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://sourceforge.net/services/buy/index.php > _______________________________________________ > Openlldp-users mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/openlldp-users > > |
|
From: Vincent B. <be...@lu...> - 2008-07-04 06:54:18
|
On Fri, 4 Jul 2008 00:32:37 -0600, "Terry Simons" <ter...@gm...> wrote: > It seems as though we have a few bugs regarding processing of certain > frames. Can you run lldpd with the "-d A" flags and send me the output of > your Nortel frame? That will help me reproduce the "can't allocate > memory" > error. Here it is : [INT] br0 is readable! [INT] Got an LLDP frame 251 bytes long on br0! Running RX state machine for br0 [STATE] [br0] RX_WAIT_FOR_FRAME -> RX_FRAME [INT] (br0) Processing Frame: 000 | 01 80 c2 00 00 0e 00 1f 46 d2 fc 01 88 cc 02 07 | ........F....... 010 | 04 00 1f 46 d2 fc 00 04 07 03 00 1f 46 d2 fc 04 | ...F........F... 020 | 06 02 00 78 08 06 50 6f 72 74 20 34 0a 07 73 77 | ...x..Port 4..sw 030 | 69 74 63 68 31 0c 4c 45 74 68 65 72 6e 65 74 20 | itch1.LEthernet 040 | 52 6f 75 74 69 6e 67 20 53 77 69 74 63 68 20 35 | Routing Switch 5 050 | 35 31 30 2d 32 34 54 20 20 20 20 20 20 48 57 3a | 510-24T HW: 060 | 33 33 20 20 20 20 20 20 20 46 57 3a 35 2e 30 2e | 33 FW:5.0. 070 | 30 2e 34 20 20 20 53 57 3a 76 35 2e 31 2e 30 2e | 0.4 SW:v5.1.0. 080 | 30 31 34 0e 04 00 14 00 14 10 15 05 01 ac 14 03 | 014............. 090 | 02 01 00 00 00 00 09 2b 06 01 04 01 2d 03 34 01 | .......+....-.4. 0a0 | fe 06 00 80 c2 01 00 01 fe 07 00 80 c2 02 06 00 | ................ 0b0 | 01 fe 0e 00 80 c2 03 00 01 07 56 4c 41 4e 20 23 | ..........VLAN # 0c0 | 31 fe 0d 00 80 c2 04 08 00 26 42 42 03 00 00 00 | 1........&BB.... 0d0 | fe 08 00 80 c2 04 03 88 8e 01 fe 07 00 80 c2 04 | ................ 0e0 | 02 88 cc fe 09 00 12 0f 01 03 6c 21 00 1e fe 09 | ..........l!.... 0f0 | 00 12 0f 03 00 00 00 00 00 00 00 | ........... [INT] LLPDU Dst: 01 80 c2 00 00 0e [EXCESSIVE] Expect Dst: 01 80 c2 00 00 0e [INT] LLPDU Src: 00 1f 46 d2 fc 01 [INT] LLPDU Ethertype: 88cc [EXCESSIVE] Expect Ethertype: 88cc [TLV] Processing TLV #: 1 [EXCESSIVE] TLV type: 1 (Chassis ID) Length: 7 [EXCESSIVE] TLV would read to: 23, Frame ends at: 251 [EXCESSIVE] Found a validator for TLV type 1. 000 | 04 00 1f 46 d2 fc 00 | ...F... [EXCESSIVE] Adding exploded TLV to MSAP TLV list. [EXCESSIVE] Done Copying TLV1 for MSAP Processing... [TLV] Processing TLV #: 2 [EXCESSIVE] TLV type: 2 (Port ID) Length: 7 [EXCESSIVE] TLV would read to: 32, Frame ends at: 251 [EXCESSIVE] Found a validator for TLV type 2. 000 | 03 00 1f 46 d2 fc 04 | ...F... [EXCESSIVE] Adding exploded TLV to MSAP TLV list. [TLV] Setting temp->next to 1CCF8A0 [EXCESSIVE] Done Copying TLV2 for MSAP Processing... [MSAP] MSAP TLV1 Length: 7 [MSAP] MSAP TLV2 Length: 7 [MSAP] MSAP is 12 bytes: 00 1f 46 d2 fc 00 00 1f 46 d2 fc 04 000 | 00 1f 46 d2 fc 00 00 1f 46 d2 fc 04 | ..F.....F... [TLV] Processing TLV #: 3 [EXCESSIVE] TLV type: 3 (Time To Live) Length: 2 [EXCESSIVE] TLV would read to: 36, Frame ends at: 251 [EXCESSIVE] rxTTL is: 120 [EXCESSIVE] Found a validator for TLV type 3. 000 | 00 78 | .x [EXCESSIVE] Adding exploded TLV to MSAP TLV list. [TLV] Setting temp->next to 1CCF800 [EXCESSIVE] Done [TLV] Processing TLV #: 4 [EXCESSIVE] TLV type: 4 (Port Description) Length: 6 [EXCESSIVE] TLV would read to: 44, Frame ends at: 251 [EXCESSIVE] Found a validator for TLV type 4. 000 | 50 6f 72 74 20 34 | Port 4 [EXCESSIVE] Adding exploded TLV to MSAP TLV list. [TLV] Setting temp->next to 1CCF940 [EXCESSIVE] Done [TLV] Processing TLV #: 5 [EXCESSIVE] TLV type: 5 (System Name) Length: 7 [EXCESSIVE] TLV would read to: 53, Frame ends at: 251 [EXCESSIVE] Found a validator for TLV type 5. 000 | 73 77 69 74 63 68 31 | switch1 [EXCESSIVE] Adding exploded TLV to MSAP TLV list. [TLV] Setting temp->next to 1CCF9A0 [EXCESSIVE] Done [TLV] Processing TLV #: 6 [EXCESSIVE] TLV type: 6 (System Description) Length: 76 [EXCESSIVE] TLV would read to: 131, Frame ends at: 251 [EXCESSIVE] Found a validator for TLV type 6. 000 | 45 74 68 65 72 6e 65 74 20 52 6f 75 74 69 6e 67 | Ethernet Routing 010 | 20 53 77 69 74 63 68 20 35 35 31 30 2d 32 34 54 | Switch 5510-24T 020 | 20 20 20 20 20 20 48 57 3a 33 33 20 20 20 20 20 | HW:33 030 | 20 20 46 57 3a 35 2e 30 2e 30 2e 34 20 20 20 53 | FW:5.0.0.4 S 040 | 57 3a 76 35 2e 31 2e 30 2e 30 31 34 | W:v5.1.0.014 [EXCESSIVE] Adding exploded TLV to MSAP TLV list. [TLV] Setting temp->next to 1CCFA80 [EXCESSIVE] Done [TLV] Processing TLV #: 7 [EXCESSIVE] TLV type: 7 (System Capabiltiies) Length: 4 [EXCESSIVE] TLV would read to: 137, Frame ends at: 251 [EXCESSIVE] Found a validator for TLV type 7. 000 | 00 14 00 14 | .... [EXCESSIVE] Adding exploded TLV to MSAP TLV list. [TLV] Setting temp->next to 1CCFAA0 [EXCESSIVE] Done [TLV] Processing TLV #: 8 [EXCESSIVE] TLV type: 8 (Management Address) Length: 21 [EXCESSIVE] TLV would read to: 160, Frame ends at: 251 [EXCESSIVE] Found a validator for TLV type 8. 000 | 05 01 ac 14 03 02 01 00 00 00 00 09 2b 06 01 04 | ............+... 010 | 01 2d 03 34 01 | .-.4. [EXCESSIVE] Adding exploded TLV to MSAP TLV list. [TLV] Setting temp->next to 1CCFB00 [EXCESSIVE] Done [TLV] Processing TLV #: 9 [EXCESSIVE] TLV type: 127 (Organizationally Specific) Length: 6 [EXCESSIVE] TLV would read to: 168, Frame ends at: 251 [EXCESSIVE] Found a validator for TLV type 127. 000 | 00 80 c2 01 00 01 | ...... [EXCESSIVE] Adding exploded TLV to MSAP TLV list. [TLV] Setting temp->next to 1CCFB60 [EXCESSIVE] Done [TLV] Processing TLV #: 10 [EXCESSIVE] TLV type: 127 (Organizationally Specific) Length: 7 [EXCESSIVE] TLV would read to: 177, Frame ends at: 251 [EXCESSIVE] Found a validator for TLV type 127. 000 | 00 80 c2 02 06 00 01 | ....... [EXCESSIVE] Adding exploded TLV to MSAP TLV list. [TLV] Setting temp->next to 1CCFBC0 [EXCESSIVE] Done [TLV] Processing TLV #: 11 [EXCESSIVE] TLV type: 127 (Organizationally Specific) Length: 14 [EXCESSIVE] TLV would read to: 193, Frame ends at: 251 [EXCESSIVE] Found a validator for TLV type 127. 000 | 00 80 c2 03 00 01 07 56 4c 41 4e 20 23 31 | .......VLAN #1 [EXCESSIVE] Adding exploded TLV to MSAP TLV list. [TLV] Setting temp->next to 1CCFC20 [EXCESSIVE] Done [TLV] Processing TLV #: 12 [EXCESSIVE] TLV type: 127 (Organizationally Specific) Length: 13 [EXCESSIVE] TLV would read to: 208, Frame ends at: 251 [EXCESSIVE] Found a validator for TLV type 127. 000 | 00 80 c2 04 08 00 26 42 42 03 00 00 00 | ......&BB.... [EXCESSIVE] Adding exploded TLV to MSAP TLV list. [TLV] Setting temp->next to 1CCFC80 [EXCESSIVE] Done [TLV] Processing TLV #: 13 [EXCESSIVE] TLV type: 127 (Organizationally Specific) Length: 8 [EXCESSIVE] TLV would read to: 218, Frame ends at: 251 [EXCESSIVE] Found a validator for TLV type 127. 000 | 00 80 c2 04 03 88 8e 01 | ........ [EXCESSIVE] Adding exploded TLV to MSAP TLV list. [TLV] Setting temp->next to 1CCFCE0 [EXCESSIVE] Done [TLV] Processing TLV #: 14 [EXCESSIVE] TLV type: 127 (Organizationally Specific) Length: 7 [EXCESSIVE] TLV would read to: 227, Frame ends at: 251 [EXCESSIVE] Found a validator for TLV type 127. 000 | 00 80 c2 04 02 88 cc | ....... [EXCESSIVE] Adding exploded TLV to MSAP TLV list. [TLV] Setting temp->next to 1CCFD40 [EXCESSIVE] Done [TLV] Processing TLV #: 15 [EXCESSIVE] TLV type: 127 (Organizationally Specific) Length: 9 [EXCESSIVE] TLV would read to: 238, Frame ends at: 251 [EXCESSIVE] Found a validator for TLV type 127. 000 | 00 12 0f 01 03 6c 21 00 1e | .....l!.. [EXCESSIVE] Adding exploded TLV to MSAP TLV list. [TLV] Setting temp->next to 1CCFDA0 [EXCESSIVE] Done [TLV] Processing TLV #: 16 [EXCESSIVE] TLV type: 127 (Organizationally Specific) Length: 9 [EXCESSIVE] TLV would read to: 249, Frame ends at: 251 [EXCESSIVE] Found a validator for TLV type 127. 000 | 00 12 0f 03 00 00 00 00 00 | ......... [EXCESSIVE] Adding exploded TLV to MSAP TLV list. [TLV] Setting temp->next to 1CCFE00 [EXCESSIVE] Done [TLV] Processing TLV #: 17 [EXCESSIVE] TLV type: 0 (End Of LLDPDU) Length: 0 [EXCESSIVE] TLV would read to: 251, Frame ends at: 251 [EXCESSIVE] Found a validator for TLV type 0. [ERROR] Couldn't allocate memory!! [TLV] Error copying TLV for MSAP cache! [EXCESSIVE] Adding exploded TLV to MSAP TLV list. [TLV] Setting temp->next to 1CCFE40 [EXCESSIVE] Done [TLV] We have a(n) 12 byte MSAP! [MSAP] Setting rxInfoTTL to: 120 [MSAP] MSAP Length: C [MSAP] MSAP Cache Hit on br0 [MSAP] MSAP cache: 1CCFE60 [MSAP] MSAP ID: 00 1f 46 d2 fc 00 00 1f 46 d2 fc 04 [MSAP] MSAP Length: C [MSAP] MSAP Next: 0 [TLV] Destroy TLV List [TLV] Entering Destroy loop [TLV] current = 1CCF2F0 [TLV] current->next = 1CCF210 [TLV] Freeing TLV Info String. [TLV] Freeing TLV. [TLV] Freeing TLV List Node. [TLV] current = 1CCF210 [TLV] current->next = 1CCF2B0 [TLV] Freeing TLV Info String. [TLV] Freeing TLV. [TLV] Freeing TLV List Node. [TLV] current = 1CCF2B0 [TLV] current->next = 1CCF190 [TLV] Freeing TLV Info String. [TLV] Freeing TLV. [TLV] Freeing TLV List Node. [TLV] current = 1CCF190 [TLV] current->next = 1CCF110 [TLV] Freeing TLV Info String. [TLV] Freeing TLV. [TLV] Freeing TLV List Node. [TLV] current = 1CCF110 [TLV] current->next = 1CCF130 [TLV] Freeing TLV Info String. [TLV] Freeing TLV. [TLV] Freeing TLV List Node. [TLV] current = 1CCF130 [TLV] current->next = 1CCF090 [TLV] Freeing TLV Info String. [TLV] Freeing TLV. [TLV] Freeing TLV List Node. [TLV] current = 1CCF090 [TLV] current->next = 1CCF370 [TLV] Freeing TLV Info String. [TLV] Freeing TLV. [TLV] Freeing TLV List Node. [TLV] current = 1CCF370 [TLV] current->next = 1CCF400 [TLV] Freeing TLV Info String. [TLV] Freeing TLV. [TLV] Freeing TLV List Node. [TLV] current = 1CCF400 [TLV] current->next = 1CCF4C0 [TLV] Freeing TLV Info String. [TLV] Freeing TLV. [TLV] Freeing TLV List Node. [TLV] current = 1CCF4C0 [TLV] current->next = 1CCF520 [TLV] Freeing TLV Info String. [TLV] Freeing TLV. [TLV] Freeing TLV List Node. [TLV] current = 1CCF520 [TLV] current->next = 1CCF580 [TLV] Freeing TLV Info String. [TLV] Freeing TLV. [TLV] Freeing TLV List Node. [TLV] current = 1CCF580 [TLV] current->next = 1CCF5E0 [TLV] Freeing TLV Info String. [TLV] Freeing TLV. [TLV] Freeing TLV List Node. [TLV] current = 1CCF5E0 [TLV] current->next = 1CCF640 [TLV] Freeing TLV Info String. [TLV] Freeing TLV. [TLV] Freeing TLV List Node. [TLV] current = 1CCF640 [TLV] current->next = 1CCF6A0 [TLV] Freeing TLV Info String. [TLV] Freeing TLV. [TLV] Freeing TLV List Node. [TLV] current = 1CCF6A0 [TLV] current->next = 1CCF700 [TLV] Freeing TLV Info String. [TLV] Freeing TLV. [TLV] Freeing TLV List Node. [TLV] current = 1CCF700 [TLV] current->next = 1CCF740 [TLV] Freeing TLV Info String. [TLV] Freeing TLV. [TLV] Freeing TLV List Node. [TLV] current = 1CCF740 [TLV] current->next = 0 [TLV] Freeing TLV Info String. [TLV] Freeing TLV. [TLV] Freeing TLV List Node. Decrementing RX Timers Displaying RX Timers [STATE] [TIMER] (br0 with MSAP: 00 1f 46 d2 fc 00 00 1f 46 d2 fc 04 ) rxInfoTTL: 91 [STATE] [TIMER] (br0) tooManyNeighborsTimer: 0 > That error is definitely causing you a problem, and would have prevented > lldpneighbors from working, but there was also a socket read bug in > lldpneighbors that was causing it to misbehave as well... I've committed a > fix for that. Your fix seems to be sufficient to get neighbors : Interface 'br0' has 1 LLDP Neighbors: Neighbor 1: Chassis ID: MAC Address - 00 1f 46 d2 fc 00 Port ID: MAC Address - 00 1f 46 d2 fc 04 Time To Live: 120 seconds Port Description: Port 4 System Name: switch1 System Description: Ethernet Routing Switch 5510-24T HW:33 FW:5.0.0.4 SW:v5.1.0.014 System Capabiltiies: Bridge/Switch (enabled) Router (enabled) Management Address: IPv4 - 172.20.3.2 (Unknown - 0) (OID: Proprietary MIB) Organizationally Specific: 00 80 c2 01 00 Organizationally Specific: 00 80 c2 02 06 00 Organizationally Specific: 00 80 c2 03 00 01 07 56 4c 41 4e 20 23 Organizationally Specific: 00 80 c2 04 08 00 26 42 42 03 00 00 Organizationally Specific: 00 80 c2 04 03 88 8e Organizationally Specific: 00 80 c2 04 02 88 Organizationally Specific: 00 12 0f 01 03 6c 21 00 Organizationally Specific: 00 12 0f 03 00 00 00 00 End Of LLDPDU: I will try to submit you a patch to make lldpd a daemon. |
|
From: Vincent B. <be...@lu...> - 2008-07-04 18:15:02
Attachments:
openlldp-daemon.patch
|
OoO En ce doux début de matinée du vendredi 04 juillet 2008, vers 08:54, je disais: > I will try to submit you a patch to make lldpd a daemon. Here it is. I also implement the -o option. |
|
From: Terry S. <ter...@gm...> - 2008-07-04 19:06:08
|
I've committed your /var/run socket patch as well as this daemonizing patch. Do you want me to send you the debian files that I was given so you can use those to base a package off of? I'd like to incorporate that sort of work into the project, if possible, to make everyone's life easier as well as allow end-users to re-roll their packages if needed. Now that I've squashed the last couple of weird issues I was seeing, I'm going to run through some Net/Free/OpenBSD testing with OS X and Linux as well. If things look good I'll update the license documentation and get ready to roll out a release. - Terry On Fri, Jul 4, 2008 at 12:15 PM, Vincent Bernat <be...@lu...> wrote: > OoO En ce doux début de matinée du vendredi 04 juillet 2008, vers 08:54, > je disais: > > > I will try to submit you a patch to make lldpd a daemon. > > Here it is. I also implement the -o option. > > > -- > MY MOM IS NOT DATING JERRY SEINFELD > MY MOM IS NOT DATING JERRY SEINFELD > MY MOM IS NOT DATING JERRY SEINFELD > -+- Bart Simpson on chalkboard in episode AABF06 > > |
|
From: Vincent B. <be...@lu...> - 2008-07-04 19:18:39
Attachments:
openlldp-debian.tar.gz
|
OoO En ce début de soirée du vendredi 04 juillet 2008, vers 21:06, "Terry Simons" <ter...@gm...> disait : > I've committed your /var/run socket patch as well as this daemonizing patch. > Do you want me to send you the debian files that I was given so you can use > those to base a package off of? I'd like to incorporate that sort of work into > the project, if possible, to make everyone's life easier as well as allow > end-users to re-roll their packages if needed. I have already packaged openlldp. I attach you a tar.gz of the debian directory that I intend to use (obviously, the patch are not needed any more). This is not a final work since it is missing some things (manual page for lldpneighbors, missing an init script). I will try to write the manual page this week-end, as well as an init script so that you can include them in the next release. You can send me what you have, I may digg some ideas. If you plan to put the debian/ directory into CVS, please, don't ship it with releases: this makes difficult for us to modify the packaging (for example, removing files is difficult). |
|
From: Vincent B. <be...@lu...> - 2008-07-06 08:07:56
|
OoO En ce début de soirée du vendredi 04 juillet 2008, vers 21:18, je disais: > I will try to write the manual page this week-end, as well as an init > script so that you can include them in the next release. Here is a manual page for lldpneighbors: |
|
From: Vincent B. <be...@lu...> - 2008-07-27 16:37:46
|
OoO En cette matinée pluvieuse du dimanche 06 juillet 2008, vers 10:07, je disais: >> I will try to write the manual page this week-end, as well as an init >> script so that you can include them in the next release. > Here is a manual page for lldpneighbors: [...] Hi Terry! Any news on this matter? -- BOFH excuse #333: A plumber is needed, the network drain is clogged |