Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Flatly)
  • No Skin
Collapse
Brand Logo

NetXMS Forum

  1. Home
  2. Support (Russian)
  3. Обнаружение топологии по LLDP

Обнаружение топологии по LLDP

Scheduled Pinned Locked Moved Support (Russian)
42 Posts 5 Posters 659.5k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S
    S
    sabonez
    wrote on last edited by
    #9

    Добрый день!

    Виктор, получилось ли сделать поддержку LLDP у д-линков? Как добавите, дайте знать, буду собирать и тестировать.

    1 Reply Last reply
    0
    • V
      V
      Victor Kirhenshtein
      wrote on last edited by
      #10

      Вроде сделал, можно пробовать: https://www.netxms.org/download/rc/netxms-1.2.3-rc1.tar.gz

      1 Reply Last reply
      0
      • S
        S
        sabonez
        wrote on last edited by
        #11

        Собрал. Запустилось, но крэшится  :-[

        [07-Aug-2012 10:36:14] Switch forwarding database retrieved for node Majskaja_8_                                                                              p1 [1555]
        [07-Aug-2012 10:36:14] LLDP: collecting topology information for node Majskaja_8                                                                              _p1 [1555]
        Ошибка сегментирования

        Попробую базу пересоздать с нуля, у меня там порядка 700 свитчей 😉 Заведу пока небольшую подсеть.

        Кстати, не поделитесь debian/rules-ом, чтобы в deb-ы сборку скрутить грамотно?

        1 Reply Last reply
        0
        • S
          S
          sabonez
          wrote on last edited by
          #12

          Пересоздание базы не помогло, netxmsd упорно валится в сегфолт.

          1 Reply Last reply
          0
          • V
            V
            Victor Kirhenshtein
            wrote on last edited by
            #13

            А можно под gdb запустить и прислать backtrace?

            1 Reply Last reply
            0
            • S
              S
              sabonez
              wrote on last edited by
              #14

              Обязательно нужно! Вот что вышло:

              [07-Aug-2012 12:21:09] LLDP: collecting topology information for node Bondarenko_23_p4 [143]

              Program received signal SIGSEGV, Segmentation fault.
              [Switching to Thread 0xb08aab70 (LWP 10172)]
              0xb7eb41a6 in LookupInterfaceDescription (snmpVersion=1, var=0x809d5a0, transport=0x81101c0, arg=0x8121198) at lldp.cpp:93
              93                      if (SnmpEnumerate(snmp->getSnmpVersion(), snmp, _T(".1.0.8802.1.1.2.1.3.7.1.3"), PortIdLookupHandler, pc, FALSE) != SNMP_ERR_SUCCESS)

              1 Reply Last reply
              0
              • V
                V
                Victor Kirhenshtein
                wrote on last edited by
                #15

                Попробуйте заменить lldp.cpp на приложенный и пересобрать.


                lldp.cpp

                1 Reply Last reply
                0
                • S
                  S
                  sabonez
                  wrote on last edited by
                  #16

                  Собственно, бэктрейс 😉

                  (gdb) backtrace
                  #0  0xb7eb41a6 in LookupInterfaceDescription (snmpVersion=1, var=0x8097e48, transport=0x80a0d28, arg=0x8110600) at lldp.cpp:93
                  #1  FindRemoteInterface (snmpVersion=1, var=0x8097e48, transport=0x80a0d28, arg=0x8110600) at lldp.cpp:156
                  #2  LLDPTopoHandler (snmpVersion=1, var=0x8097e48, transport=0x80a0d28, arg=0x8110600) at lldp.cpp:208
                  #3  0xb7f4689b in SnmpEnumerate (dwVersion=1, pTransport=0x80a0d28, szRootOid=0xb7f22d63 ".1.0.8802.1.1.2.1.4.1.1.5",
                      pHandler=0xb7eb3b60 <LLDPTopoHandler>, pUserArg=0x8110600, bVerbose=0) at snmp.cpp:227
                  #4  0xb7ec735d in Node::CallSnmpEnumerate (this=0x80a04f0, pszRootOid=0xb7f22d63 ".1.0.8802.1.1.2.1.4.1.1.5", pHandler=0xb7eb3b60 <LLDPTopoHandler>,
                      pArg=0x8110600) at node.cpp:3766
                  #5  0xb7eb3b0c in AddLLDPNeighbors (node=0x80a04f0, nbs=0x8110600) at lldp.cpp:261
                  #6  0xb7eb39fc in BuildLinkLayerNeighborList (node=0x80a04f0) at lln.cpp:96
                  #7  0xb7ece0a5 in Node::topologyPoll (this=0x80a04f0, pSession=0x0, dwRqId=0, nPoller=57) at node.cpp:4258
                  #8  0xb7ee09c6 in TopologyPoller (arg=0x39) at poll.cpp:560
                  #9  0xb7c4d955 in start_thread () from /lib/i686/cmov/libpthread.so.0
                  #10 0xb7a945ee in clone () from /lib/i686/cmov/libc.so.6

                  1 Reply Last reply
                  0
                  • V
                    V
                    Victor Kirhenshtein
                    wrote on last edited by
                    #17

                    Это уже с новым lldp.cpp?

                    1 Reply Last reply
                    0
                    • S
                      S
                      sabonez
                      wrote on last edited by
                      #18

                      Нет, старый.

                      Сейчас заработало! Огромное спасибо!  😄

                      Погоняю на боевой базе, на разных моделях д-линков. О результатах отпишусь.

                      debian/rules не выложите для сборки?

                      1 Reply Last reply
                      0
                      • V
                        V
                        Victor Kirhenshtein
                        wrote on last edited by
                        #19

                        Я не знаю к сожалению что такое debian/rules 🙂 Я собираю деб файлы "в лоб", вот так: https://svn.netxms.org/public/netxms/trunk/packages/linux/debian/README. Все скрипты и .control файлы здесь: https://svn.netxms.org/public/netxms/trunk/packages/linux/debian. Подозреваю, что должен быть более правильный способ 🙂 Но нет времени разбиратся в этом...

                        1 Reply Last reply
                        0
                        • S
                          S
                          sabonez
                          wrote on last edited by
                          #20

                          Отлично. Этого вполне достаточно для сборки.
                          Просто я не поискал как следует ))

                          Огромное вам спасибо!

                          1 Reply Last reply
                          0
                          • S
                            S
                            sabonez
                            wrote on last edited by
                            #21

                            Первое наблюдение - дискавер по LLDP отлично работает с моделями, у которых Port Description вида "RMON Port 10 on Unit 1", но не работает с теми, у которых такое - "D-Link DES-1228/ME R2.00 Port 25". Подобное описание портов имеется у серий Gigabit- и Metro- Ethernet Switch.

                            Похоже писатели прошивок для d-link имеют своеобразное представление о стандартизации 😉

                            Вот snmpwalk с Metro-свитча DES-1228ME:

                            snmpwalk -v2c -c public 10.4.255.23 .1.0.8802.1.1.2.1.3

                            iso.0.8802.1.1.2.1.3.1.0 = INTEGER: 4
                            iso.0.8802.1.1.2.1.3.2.0 = Hex-STRING: 1C 7E E5 6F 2E 00
                            iso.0.8802.1.1.2.1.3.3.0 = STRING: "Bondarenko_23_p4"
                            iso.0.8802.1.1.2.1.3.4.0 = STRING: "Metro Ethernet Switch"
                            iso.0.8802.1.1.2.1.3.5.0 = STRING: "`"
                            iso.0.8802.1.1.2.1.3.6.0 = STRING: "`"
                            iso.0.8802.1.1.2.1.3.7.1.2.1 = INTEGER: 7
                            iso.0.8802.1.1.2.1.3.7.1.2.2 = INTEGER: 7
                            iso.0.8802.1.1.2.1.3.7.1.2.3 = INTEGER: 7
                            iso.0.8802.1.1.2.1.3.7.1.2.4 = INTEGER: 7
                            iso.0.8802.1.1.2.1.3.7.1.2.5 = INTEGER: 7
                            iso.0.8802.1.1.2.1.3.7.1.2.6 = INTEGER: 7
                            iso.0.8802.1.1.2.1.3.7.1.2.7 = INTEGER: 7
                            iso.0.8802.1.1.2.1.3.7.1.2.8 = INTEGER: 7
                            iso.0.8802.1.1.2.1.3.7.1.2.9 = INTEGER: 7
                            iso.0.8802.1.1.2.1.3.7.1.2.10 = INTEGER: 7
                            iso.0.8802.1.1.2.1.3.7.1.2.11 = INTEGER: 7
                            iso.0.8802.1.1.2.1.3.7.1.2.12 = INTEGER: 7
                            iso.0.8802.1.1.2.1.3.7.1.2.13 = INTEGER: 7
                            iso.0.8802.1.1.2.1.3.7.1.2.14 = INTEGER: 7
                            iso.0.8802.1.1.2.1.3.7.1.2.15 = INTEGER: 7
                            iso.0.8802.1.1.2.1.3.7.1.2.16 = INTEGER: 7
                            iso.0.8802.1.1.2.1.3.7.1.2.17 = INTEGER: 7
                            iso.0.8802.1.1.2.1.3.7.1.2.18 = INTEGER: 7
                            iso.0.8802.1.1.2.1.3.7.1.2.19 = INTEGER: 7
                            iso.0.8802.1.1.2.1.3.7.1.2.20 = INTEGER: 7
                            iso.0.8802.1.1.2.1.3.7.1.2.21 = INTEGER: 7
                            iso.0.8802.1.1.2.1.3.7.1.2.22 = INTEGER: 7
                            iso.0.8802.1.1.2.1.3.7.1.2.23 = INTEGER: 7
                            iso.0.8802.1.1.2.1.3.7.1.2.24 = INTEGER: 7
                            iso.0.8802.1.1.2.1.3.7.1.2.25 = INTEGER: 7
                            iso.0.8802.1.1.2.1.3.7.1.2.26 = INTEGER: 7
                            iso.0.8802.1.1.2.1.3.7.1.2.27 = INTEGER: 7
                            iso.0.8802.1.1.2.1.3.7.1.2.28 = INTEGER: 7
                            iso.0.8802.1.1.2.1.3.7.1.3.1 = STRING: "1/1"
                            iso.0.8802.1.1.2.1.3.7.1.3.2 = STRING: "1/2"
                            iso.0.8802.1.1.2.1.3.7.1.3.3 = STRING: "1/3"
                            iso.0.8802.1.1.2.1.3.7.1.3.4 = STRING: "1/4"
                            iso.0.8802.1.1.2.1.3.7.1.3.5 = STRING: "1/5"
                            iso.0.8802.1.1.2.1.3.7.1.3.6 = STRING: "1/6"
                            iso.0.8802.1.1.2.1.3.7.1.3.7 = STRING: "1/7"
                            iso.0.8802.1.1.2.1.3.7.1.3.8 = STRING: "1/8"
                            iso.0.8802.1.1.2.1.3.7.1.3.9 = STRING: "1/9"
                            iso.0.8802.1.1.2.1.3.7.1.3.10 = STRING: "1/10"
                            iso.0.8802.1.1.2.1.3.7.1.3.11 = STRING: "1/11"
                            iso.0.8802.1.1.2.1.3.7.1.3.12 = STRING: "1/12"
                            iso.0.8802.1.1.2.1.3.7.1.3.13 = STRING: "1/13"
                            iso.0.8802.1.1.2.1.3.7.1.3.14 = STRING: "1/14"
                            iso.0.8802.1.1.2.1.3.7.1.3.15 = STRING: "1/15"
                            iso.0.8802.1.1.2.1.3.7.1.3.16 = STRING: "1/16"
                            iso.0.8802.1.1.2.1.3.7.1.3.17 = STRING: "1/17"
                            iso.0.8802.1.1.2.1.3.7.1.3.18 = STRING: "1/18"
                            iso.0.8802.1.1.2.1.3.7.1.3.19 = STRING: "1/19"
                            iso.0.8802.1.1.2.1.3.7.1.3.20 = STRING: "1/20"
                            iso.0.8802.1.1.2.1.3.7.1.3.21 = STRING: "1/21"
                            iso.0.8802.1.1.2.1.3.7.1.3.22 = STRING: "1/22"
                            iso.0.8802.1.1.2.1.3.7.1.3.23 = STRING: "1/23"
                            iso.0.8802.1.1.2.1.3.7.1.3.24 = STRING: "1/24"
                            iso.0.8802.1.1.2.1.3.7.1.3.25 = STRING: "1/25"
                            iso.0.8802.1.1.2.1.3.7.1.3.26 = STRING: "1/26"
                            iso.0.8802.1.1.2.1.3.7.1.3.27 = STRING: "1/27"
                            iso.0.8802.1.1.2.1.3.7.1.3.28 = STRING: "1/28"
                            iso.0.8802.1.1.2.1.3.7.1.4.1 = STRING: "D-Link DES-1228/ME R2.00 Port 1"
                            iso.0.8802.1.1.2.1.3.7.1.4.2 = STRING: "D-Link DES-1228/ME R2.00 Port 2"
                            iso.0.8802.1.1.2.1.3.7.1.4.3 = STRING: "D-Link DES-1228/ME R2.00 Port 3"
                            iso.0.8802.1.1.2.1.3.7.1.4.4 = STRING: "D-Link DES-1228/ME R2.00 Port 4"
                            iso.0.8802.1.1.2.1.3.7.1.4.5 = STRING: "D-Link DES-1228/ME R2.00 Port 5"
                            iso.0.8802.1.1.2.1.3.7.1.4.6 = STRING: "D-Link DES-1228/ME R2.00 Port 6"
                            iso.0.8802.1.1.2.1.3.7.1.4.7 = STRING: "D-Link DES-1228/ME R2.00 Port 7"
                            iso.0.8802.1.1.2.1.3.7.1.4.8 = STRING: "D-Link DES-1228/ME R2.00 Port 8"
                            iso.0.8802.1.1.2.1.3.7.1.4.9 = STRING: "D-Link DES-1228/ME R2.00 Port 9"
                            iso.0.8802.1.1.2.1.3.7.1.4.10 = STRING: "D-Link DES-1228/ME R2.00 Port 10"
                            iso.0.8802.1.1.2.1.3.7.1.4.11 = STRING: "D-Link DES-1228/ME R2.00 Port 11"
                            iso.0.8802.1.1.2.1.3.7.1.4.12 = STRING: "D-Link DES-1228/ME R2.00 Port 12"
                            iso.0.8802.1.1.2.1.3.7.1.4.13 = STRING: "D-Link DES-1228/ME R2.00 Port 13"
                            iso.0.8802.1.1.2.1.3.7.1.4.14 = STRING: "D-Link DES-1228/ME R2.00 Port 14"
                            iso.0.8802.1.1.2.1.3.7.1.4.15 = STRING: "D-Link DES-1228/ME R2.00 Port 15"
                            iso.0.8802.1.1.2.1.3.7.1.4.16 = STRING: "D-Link DES-1228/ME R2.00 Port 16"
                            iso.0.8802.1.1.2.1.3.7.1.4.17 = STRING: "D-Link DES-1228/ME R2.00 Port 17"
                            iso.0.8802.1.1.2.1.3.7.1.4.18 = STRING: "D-Link DES-1228/ME R2.00 Port 18"
                            iso.0.8802.1.1.2.1.3.7.1.4.19 = STRING: "D-Link DES-1228/ME R2.00 Port 19"
                            iso.0.8802.1.1.2.1.3.7.1.4.20 = STRING: "D-Link DES-1228/ME R2.00 Port 20"
                            iso.0.8802.1.1.2.1.3.7.1.4.21 = STRING: "D-Link DES-1228/ME R2.00 Port 21"
                            iso.0.8802.1.1.2.1.3.7.1.4.22 = STRING: "D-Link DES-1228/ME R2.00 Port 22"
                            iso.0.8802.1.1.2.1.3.7.1.4.23 = STRING: "D-Link DES-1228/ME R2.00 Port 23"
                            iso.0.8802.1.1.2.1.3.7.1.4.24 = STRING: "D-Link DES-1228/ME R2.00 Port 24"
                            iso.0.8802.1.1.2.1.3.7.1.4.25 = STRING: "D-Link DES-1228/ME R2.00 Port 25"
                            iso.0.8802.1.1.2.1.3.7.1.4.26 = STRING: "D-Link DES-1228/ME R2.00 Port 26"
                            iso.0.8802.1.1.2.1.3.7.1.4.27 = STRING: "D-Link DES-1228/ME R2.00 Port 27"
                            iso.0.8802.1.1.2.1.3.7.1.4.28 = STRING: "D-Link DES-1228/ME R2.00 Port 28"
                            iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.4.255.23 = INTEGER: 4
                            iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.4.255.23 = INTEGER: 1
                            iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.4.255.23 = INTEGER: 0
                            iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.4.255.23 = OID: SNMPv2-SMI::enterprises.171.11.116.2

                            1 Reply Last reply
                            0
                            • V
                              V
                              Victor Kirhenshtein
                              wrote on last edited by
                              #22

                              А что у этих свитчей под .1.3.6.1.2.1.2.2?

                              1 Reply Last reply
                              0
                              • S
                                S
                                sabonez
                                wrote on last edited by
                                #23

                                Много всего 😉
                                ifDescr-ы такие же как я писал постом выше.
                                Прикрепил файлик с выхлопом


                                metro_walk.txt

                                1 Reply Last reply
                                0
                                • V
                                  V
                                  Victor Kirhenshtein
                                  wrote on last edited by
                                  #24

                                  А как выглядят успешный и неуспешный topology poll?

                                  1 Reply Last reply
                                  0
                                  • S
                                    S
                                    sabonez
                                    wrote on last edited by
                                    #25

                                    Успешный:

                                    [07.08.12 16:25:09] **** Poll request sent to server ****
                                    [07.08.12 16:25:09] Poll request accepted
                                    [07.08.12 16:25:09] Starting topology poll for node Bondarenko_19_p7
                                    [07.08.12 16:25:10] Switch forwarding database retrieved
                                    [07.08.12 16:25:11] Link layer topology retrieved (1 connections found)
                                    [07.08.12 16:25:11] Updating peer information on interfaces
                                    [07.08.12 16:25:11] Link layer topology processed
                                    [07.08.12 16:25:11]    Local interface 1/19 linked to remote interface Majskaja_8_p1:1/25
                                    [07.08.12 16:25:11] VLAN list successfully retrieved from node
                                    [07.08.12 16:25:11] Finished topology poll for node Bondarenko_19_p7
                                    [07.08.12 16:25:11] **** Poll completed successfully ****

                                    Неуспешный:
                                    [07.08.12 16:25:13] **** Poll request sent to server ****
                                    [07.08.12 16:25:13] Poll request accepted
                                    [07.08.12 16:25:14] Starting topology poll for node Bondarenko_23_p4
                                    [07.08.12 16:25:14] Switch forwarding database retrieved
                                    [07.08.12 16:25:14] Link layer topology retrieved (0 connections found)
                                    [07.08.12 16:25:14] Updating peer information on interfaces
                                    [07.08.12 16:25:14] Finished topology poll for node Bondarenko_23_p4
                                    [07.08.12 16:25:14] **** Poll completed successfully ****

                                    [07.08.12 16:25:14] VLAN list successfully retrieved from node
                                    [07.08.12 16:25:14] Link layer topology processed

                                    Хотя, эти 2 свитча друг-друга "видят" по LLDP через Tools-Info-Topology table(LLDP)

                                    1 Reply Last reply
                                    0
                                    • V
                                      V
                                      Victor Kirhenshtein
                                      wrote on last edited by
                                      #26

                                      А что под .1.3.6.1.2.1.2.2 у свитчей, подключенных к тем, где не проходит полл, Bondarenko_23_p4 например?

                                      1 Reply Last reply
                                      0
                                      • S
                                        S
                                        sabonez
                                        wrote on last edited by
                                        #27

                                        А я же по нему и гонял, Bondarenko_23
                                        В аттаче тут https://www.netxms.org/forum/oe-oo/oaee-tooo-o-lldp/?action=dlattach;attach=875

                                        Хм, некоторые свитчи 1228 ME в сетке стали показывать соседей....
                                        Я возьму таймаут, пока потестирую, а завтра, если не заработает, вернемся к вопросу.

                                        1 Reply Last reply
                                        0
                                        • S
                                          S
                                          sabonez
                                          wrote on last edited by
                                          #28

                                          В-общем, такие результаты. Выяснилось, что разные модели д-линков плохо понимают друг друга. 😉

                                          DES-1228ME, DES-3028 - прекрасно видят друг друга, но не видят свитчи других моделей, например 3526 и 3550.
                                          Соответственно, 35ХХ - не видят других моделей.

                                          DEG-3200-28  - друг на друга не тестировал, ибо мало их в сети, но другие модели тоже не видят.

                                          Дескрипшены и ИД портов - на разных моделях выглядят по-разному 🙂

                                          Виктор, если осталось желание допилить д-линки, могу скинуть выхлопы snmpwalk по всем моделям что есть у меня в сети, скажите какие нужны OID-ы.

                                          1 Reply Last reply
                                          0

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          Powered by NodeBB Contributors
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups