NetXMS Support Forum

Russian Support => Общие вопросы => Topic started by: sabonez on August 02, 2012, 11:00:09 AM

Title: Обнаружение топологии по LLDP
Post by: sabonez on August 02, 2012, 11:00:09 AM
Добрый день!
Влился в ряды пользователей этой замечательной системы, почти все устраивает, но хочется всегда большего
  ;)

Имеется куча коммутаторов d-link, разношерстных моделей, топология звезда. Настроил LLDP на одной из веток, от аггрегатора до свитчей доступа. Настройки единообразны, вида такого, отличаются только номерами магистральных портов:

config lldp ports 1-24 notification disable
config lldp ports 1-24 admin_status disable
config lldp ports 25-28 notification enable
config lldp ports 25-28 admin_status tx_and_rx
config lldp ports 25-28 basic_tlvs port_description system_name system_description system_capabilities enable
config lldp ports 25-28 mgt_addr ipv4 10.4.255.23 enable

Пытаюсь просканировать L2 Topology, консоль пишет такую ошибку:

Cannot get layer 2 topology for Bondarenko_23_p4: Node has no support for layer 2 topology discovery

Хотя если смотреть в Tools-Info-Topology table LLDP - соседа показывает.

Смущает только PortID для соседа - вида 00:00:00:00:00:00, ибо у длинка PortID есть STRING, и выглядит как "23" или "1/23".

Подскажите, может быть что-то нужно донастроить на свитчах, или это такой баг консоли?
Title: Re: Обнаружение топологии по LLDP
Post by: Victor Kirhenshtein on August 02, 2012, 01:08:48 PM
Попробуйте сделать Topology Poll вручную на коммутаторах - что он покажет? Если LLDP включен недавно, то возможно еще не собралась информация.
Title: Re: Обнаружение топологии по LLDP
Post by: sabonez on August 02, 2012, 02:41:20 PM
LLDP включил еще вчера.
Вручную то же самое.  :-[

[02.08.12 15:39:54] **** Poll request sent to server ****
[02.08.12 15:39:54] Poll request accepted
[02.08.12 15:39:54] Starting topology poll for node Bondarenko_23_p4
[02.08.12 15:39:54] Link layer topology retrieved (0 connections found)
[02.08.12 15:39:54] Updating peer information on interfaces
[02.08.12 15:39:54] Switch forwarding database retrieved
[02.08.12 15:39:54] Link layer topology processed
[02.08.12 15:39:54] VLAN list successfully retrieved from node
[02.08.12 15:39:54] Finished topology poll for node Bondarenko_23_p4
[02.08.12 15:39:54] **** Poll completed successfully ****

Title: Re: Обнаружение топологии по LLDP
Post by: Victor Kirhenshtein on August 02, 2012, 03:40:19 PM
А можно прислать результат SNMP WALK для .1.0.8802.1.1.2.1.4.1.1? Например такой командой:

nxsnmpwalk -v 2c -c <community> <ip_address> .1.0.8802.1.1.2.1.4.1.1
Title: Re: Обнаружение топологии по LLDP
Post by: sabonez on August 02, 2012, 04:09:54 PM
Даже нужно!

snmpwalk -v2c -c public 10.4.255.16 .1.0.8802.1.1.2.1.4.1.1

iso.0.8802.1.1.2.1.4.1.1.4.238245972.21.0 = INTEGER: 4
iso.0.8802.1.1.2.1.4.1.1.4.238246294.19.0 = INTEGER: 4
iso.0.8802.1.1.2.1.4.1.1.4.238248524.50.0 = INTEGER: 4
iso.0.8802.1.1.2.1.4.1.1.5.238245972.21.0 = Hex-STRING: 1C 7E E5 6F 2E 00
iso.0.8802.1.1.2.1.4.1.1.5.238246294.19.0 = Hex-STRING: 00 1E 58 A9 0A F7
iso.0.8802.1.1.2.1.4.1.1.5.238248524.50.0 = Hex-STRING: 00 22 B0 1B 12 00
iso.0.8802.1.1.2.1.4.1.1.6.238245972.21.0 = INTEGER: 7
iso.0.8802.1.1.2.1.4.1.1.6.238246294.19.0 = INTEGER: 7
iso.0.8802.1.1.2.1.4.1.1.6.238248524.50.0 = INTEGER: 7
iso.0.8802.1.1.2.1.4.1.1.7.238245972.21.0 = STRING: "1/25"
iso.0.8802.1.1.2.1.4.1.1.7.238246294.19.0 = STRING: "1/25"
iso.0.8802.1.1.2.1.4.1.1.7.238248524.50.0 = STRING: "18"
iso.0.8802.1.1.2.1.4.1.1.8.238245972.21.0 = STRING: "D-Link DES-1228/ME R2.00 Port 25"
iso.0.8802.1.1.2.1.4.1.1.8.238246294.19.0 = STRING: "RMON Port 25 on Unit 1"
iso.0.8802.1.1.2.1.4.1.1.8.238248524.50.0 = STRING: "D-Link DGS-3627G R2.82.B16 Port 18"
iso.0.8802.1.1.2.1.4.1.1.9.238245972.21.0 = STRING: "Bondarenko_23_p4"
iso.0.8802.1.1.2.1.4.1.1.9.238246294.19.0 = STRING: "Majskaja_8_p1"
iso.0.8802.1.1.2.1.4.1.1.9.238248524.50.0 = STRING: "Viljamsa_38"
iso.0.8802.1.1.2.1.4.1.1.10.238245972.21.0 = STRING: "Metro Ethernet Switch"
iso.0.8802.1.1.2.1.4.1.1.10.238246294.19.0 = STRING: "Fast Ethernet Switch"
iso.0.8802.1.1.2.1.4.1.1.10.238248524.50.0 = STRING: "Gigabit Ethernet Switch"
iso.0.8802.1.1.2.1.4.1.1.11.238245972.21.0 = STRING: "`"
iso.0.8802.1.1.2.1.4.1.1.11.238246294.19.0 = STRING: "`"
iso.0.8802.1.1.2.1.4.1.1.11.238248524.50.0 = STRING: "`"
iso.0.8802.1.1.2.1.4.1.1.12.238245972.21.0 = STRING: "`"
iso.0.8802.1.1.2.1.4.1.1.12.238246294.19.0 = STRING: "`"
iso.0.8802.1.1.2.1.4.1.1.12.238248524.50.0 = STRING: "`"
Title: Re: Обнаружение топологии по LLDP
Post by: Victor Kirhenshtein on August 02, 2012, 04:49:51 PM
D-Link использует portIdSubtype 7 (local) - в NetXMS'e нет поддержки такого типа. Я никогда до сих пор не встречал устройств, которые использовали бы этот тип идентификатора порта. Попробую сейчас добавить поддержку. Пришлите еще пожалуйста результат SNMP WALK по .1.0.8802.1.1.2.1.3 .
Title: Re: Обнаружение топологии по LLDP
Post by: sabonez on August 03, 2012, 08:10:21 AM
Вот что выдает по этому oid-у:

snmpwalk -v2c -c public 10.4.255.16 .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: 00 26 5A 7B BD AC
iso.0.8802.1.1.2.1.3.3.0 = STRING: "Bondarenko_19_p7"
iso.0.8802.1.1.2.1.3.4.0 = STRING: "Fast 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.2.29 = INTEGER: 7
iso.0.8802.1.1.2.1.3.7.1.2.30 = INTEGER: 7
iso.0.8802.1.1.2.1.3.7.1.2.31 = INTEGER: 7
iso.0.8802.1.1.2.1.3.7.1.2.32 = INTEGER: 7
iso.0.8802.1.1.2.1.3.7.1.2.33 = INTEGER: 7
iso.0.8802.1.1.2.1.3.7.1.2.34 = INTEGER: 7
iso.0.8802.1.1.2.1.3.7.1.2.35 = INTEGER: 7
iso.0.8802.1.1.2.1.3.7.1.2.36 = INTEGER: 7
iso.0.8802.1.1.2.1.3.7.1.2.37 = INTEGER: 7
iso.0.8802.1.1.2.1.3.7.1.2.38 = INTEGER: 7
iso.0.8802.1.1.2.1.3.7.1.2.39 = INTEGER: 7
iso.0.8802.1.1.2.1.3.7.1.2.40 = INTEGER: 7
iso.0.8802.1.1.2.1.3.7.1.2.41 = INTEGER: 7
iso.0.8802.1.1.2.1.3.7.1.2.42 = INTEGER: 7
iso.0.8802.1.1.2.1.3.7.1.2.43 = INTEGER: 7
iso.0.8802.1.1.2.1.3.7.1.2.44 = INTEGER: 7
iso.0.8802.1.1.2.1.3.7.1.2.45 = INTEGER: 7
iso.0.8802.1.1.2.1.3.7.1.2.46 = INTEGER: 7
iso.0.8802.1.1.2.1.3.7.1.2.47 = INTEGER: 7
iso.0.8802.1.1.2.1.3.7.1.2.48 = INTEGER: 7
iso.0.8802.1.1.2.1.3.7.1.2.49 = INTEGER: 7
iso.0.8802.1.1.2.1.3.7.1.2.50 = 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.3.29 = STRING: "1/29"
iso.0.8802.1.1.2.1.3.7.1.3.30 = STRING: "1/30"
iso.0.8802.1.1.2.1.3.7.1.3.31 = STRING: "1/31"
iso.0.8802.1.1.2.1.3.7.1.3.32 = STRING: "1/32"
iso.0.8802.1.1.2.1.3.7.1.3.33 = STRING: "1/33"
iso.0.8802.1.1.2.1.3.7.1.3.34 = STRING: "1/34"
iso.0.8802.1.1.2.1.3.7.1.3.35 = STRING: "1/35"
iso.0.8802.1.1.2.1.3.7.1.3.36 = STRING: "1/36"
iso.0.8802.1.1.2.1.3.7.1.3.37 = STRING: "1/37"
iso.0.8802.1.1.2.1.3.7.1.3.38 = STRING: "1/38"
iso.0.8802.1.1.2.1.3.7.1.3.39 = STRING: "1/39"
iso.0.8802.1.1.2.1.3.7.1.3.40 = STRING: "1/40"
iso.0.8802.1.1.2.1.3.7.1.3.41 = STRING: "1/41"
iso.0.8802.1.1.2.1.3.7.1.3.42 = STRING: "1/42"
iso.0.8802.1.1.2.1.3.7.1.3.43 = STRING: "1/43"
iso.0.8802.1.1.2.1.3.7.1.3.44 = STRING: "1/44"
iso.0.8802.1.1.2.1.3.7.1.3.45 = STRING: "1/45"
iso.0.8802.1.1.2.1.3.7.1.3.46 = STRING: "1/46"
iso.0.8802.1.1.2.1.3.7.1.3.47 = STRING: "1/47"
iso.0.8802.1.1.2.1.3.7.1.3.48 = STRING: "1/48"
iso.0.8802.1.1.2.1.3.7.1.3.49 = STRING: "1/49"
iso.0.8802.1.1.2.1.3.7.1.3.50 = STRING: "1/50"
iso.0.8802.1.1.2.1.3.7.1.4.1 = STRING: "RMON Port  1 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.2 = STRING: "RMON Port  2 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.3 = STRING: "RMON Port  3 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.4 = STRING: "RMON Port  4 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.5 = STRING: "RMON Port  5 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.6 = STRING: "RMON Port  6 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.7 = STRING: "RMON Port  7 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.8 = STRING: "RMON Port  8 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.9 = STRING: "RMON Port  9 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.10 = STRING: "RMON Port 10 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.11 = STRING: "RMON Port 11 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.12 = STRING: "RMON Port 12 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.13 = STRING: "RMON Port 13 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.14 = STRING: "RMON Port 14 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.15 = STRING: "RMON Port 15 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.16 = STRING: "RMON Port 16 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.17 = STRING: "RMON Port 17 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.18 = STRING: "RMON Port 18 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.19 = STRING: "RMON Port 19 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.20 = STRING: "RMON Port 20 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.21 = STRING: "RMON Port 21 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.22 = STRING: "RMON Port 22 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.23 = STRING: "RMON Port 23 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.24 = STRING: "RMON Port 24 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.25 = STRING: "RMON Port 25 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.26 = STRING: "RMON Port 26 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.27 = STRING: "RMON Port 27 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.28 = STRING: "RMON Port 28 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.29 = STRING: "RMON Port 29 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.30 = STRING: "RMON Port 30 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.31 = STRING: "RMON Port 31 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.32 = STRING: "RMON Port 32 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.33 = STRING: "RMON Port 33 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.34 = STRING: "RMON Port 34 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.35 = STRING: "RMON Port 35 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.36 = STRING: "RMON Port 36 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.37 = STRING: "RMON Port 37 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.38 = STRING: "RMON Port 38 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.39 = STRING: "RMON Port 39 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.40 = STRING: "RMON Port 40 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.41 = STRING: "RMON Port 41 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.42 = STRING: "RMON Port 42 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.43 = STRING: "RMON Port 43 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.44 = STRING: "RMON Port 44 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.45 = STRING: "RMON Port 45 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.46 = STRING: "RMON Port 46 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.47 = STRING: "RMON Port 47 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.48 = STRING: "RMON Port 48 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.49 = STRING: "RMON Port 49 on Unit 1"
iso.0.8802.1.1.2.1.3.7.1.4.50 = STRING: "RMON Port 50 on Unit 1"
iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.4.255.16 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.4.255.16 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.4.255.16 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.4.255.16 = OID: SNMPv2-SMI::enterprises.171.10.64.2.0
Title: Re: Обнаружение топологии по LLDP
Post by: sabonez on August 03, 2012, 08:10:35 AM
Причем это у DES-серии, DGS именует порты несколько иначе:

snmpwalk -v2c -c public 10.4.255.1 .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 = STRING: "00-22-B0-1B-12-00"
iso.0.8802.1.1.2.1.3.3.0 = STRING: "Viljamsa_38"
iso.0.8802.1.1.2.1.3.4.0 = STRING: "Gigabit 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.3.1 = STRING: "1"
iso.0.8802.1.1.2.1.3.7.1.3.2 = STRING: "2"
iso.0.8802.1.1.2.1.3.7.1.3.3 = STRING: "3"
iso.0.8802.1.1.2.1.3.7.1.3.4 = STRING: "4"
iso.0.8802.1.1.2.1.3.7.1.3.5 = STRING: "5"
iso.0.8802.1.1.2.1.3.7.1.3.6 = STRING: "6"
iso.0.8802.1.1.2.1.3.7.1.3.7 = STRING: "7"
iso.0.8802.1.1.2.1.3.7.1.3.8 = STRING: "8"
iso.0.8802.1.1.2.1.3.7.1.3.9 = STRING: "9"
iso.0.8802.1.1.2.1.3.7.1.3.10 = STRING: "10"
iso.0.8802.1.1.2.1.3.7.1.3.11 = STRING: "11"
iso.0.8802.1.1.2.1.3.7.1.3.12 = STRING: "12"
iso.0.8802.1.1.2.1.3.7.1.3.13 = STRING: "13"
iso.0.8802.1.1.2.1.3.7.1.3.14 = STRING: "14"
iso.0.8802.1.1.2.1.3.7.1.3.15 = STRING: "15"
iso.0.8802.1.1.2.1.3.7.1.3.16 = STRING: "16"
iso.0.8802.1.1.2.1.3.7.1.3.17 = STRING: "17"
iso.0.8802.1.1.2.1.3.7.1.3.18 = STRING: "18"
iso.0.8802.1.1.2.1.3.7.1.3.19 = STRING: "19"
iso.0.8802.1.1.2.1.3.7.1.3.20 = STRING: "20"
iso.0.8802.1.1.2.1.3.7.1.3.21 = STRING: "21"
iso.0.8802.1.1.2.1.3.7.1.3.22 = STRING: "22"
iso.0.8802.1.1.2.1.3.7.1.3.23 = STRING: "23"
iso.0.8802.1.1.2.1.3.7.1.3.24 = STRING: "24"
iso.0.8802.1.1.2.1.3.7.1.3.25 = STRING: "25"
iso.0.8802.1.1.2.1.3.7.1.3.26 = STRING: "26"
iso.0.8802.1.1.2.1.3.7.1.3.27 = STRING: "27"
iso.0.8802.1.1.2.1.3.7.1.4.1 = STRING: "D-Link DGS-3627G R2.82.B16 Port 1"
iso.0.8802.1.1.2.1.3.7.1.4.2 = STRING: "D-Link DGS-3627G R2.82.B16 Port 2"
iso.0.8802.1.1.2.1.3.7.1.4.3 = STRING: "D-Link DGS-3627G R2.82.B16 Port 3"
iso.0.8802.1.1.2.1.3.7.1.4.4 = STRING: "D-Link DGS-3627G R2.82.B16 Port 4"
iso.0.8802.1.1.2.1.3.7.1.4.5 = STRING: "D-Link DGS-3627G R2.82.B16 Port 5"
iso.0.8802.1.1.2.1.3.7.1.4.6 = STRING: "D-Link DGS-3627G R2.82.B16 Port 6"
iso.0.8802.1.1.2.1.3.7.1.4.7 = STRING: "D-Link DGS-3627G R2.82.B16 Port 7"
iso.0.8802.1.1.2.1.3.7.1.4.8 = STRING: "D-Link DGS-3627G R2.82.B16 Port 8"
iso.0.8802.1.1.2.1.3.7.1.4.9 = STRING: "D-Link DGS-3627G R2.82.B16 Port 9"
iso.0.8802.1.1.2.1.3.7.1.4.10 = STRING: "D-Link DGS-3627G R2.82.B16 Port 10"
iso.0.8802.1.1.2.1.3.7.1.4.11 = STRING: "D-Link DGS-3627G R2.82.B16 Port 11"
iso.0.8802.1.1.2.1.3.7.1.4.12 = STRING: "D-Link DGS-3627G R2.82.B16 Port 12"
iso.0.8802.1.1.2.1.3.7.1.4.13 = STRING: "D-Link DGS-3627G R2.82.B16 Port 13"
iso.0.8802.1.1.2.1.3.7.1.4.14 = STRING: "D-Link DGS-3627G R2.82.B16 Port 14"
iso.0.8802.1.1.2.1.3.7.1.4.15 = STRING: "D-Link DGS-3627G R2.82.B16 Port 15"
iso.0.8802.1.1.2.1.3.7.1.4.16 = STRING: "D-Link DGS-3627G R2.82.B16 Port 16"
iso.0.8802.1.1.2.1.3.7.1.4.17 = STRING: "D-Link DGS-3627G R2.82.B16 Port 17"
iso.0.8802.1.1.2.1.3.7.1.4.18 = STRING: "D-Link DGS-3627G R2.82.B16 Port 18"
iso.0.8802.1.1.2.1.3.7.1.4.19 = STRING: "D-Link DGS-3627G R2.82.B16 Port 19"
iso.0.8802.1.1.2.1.3.7.1.4.20 = STRING: "D-Link DGS-3627G R2.82.B16 Port 20"
iso.0.8802.1.1.2.1.3.7.1.4.21 = STRING: "D-Link DGS-3627G R2.82.B16 Port 21"
iso.0.8802.1.1.2.1.3.7.1.4.22 = STRING: "D-Link DGS-3627G R2.82.B16 Port 22"
iso.0.8802.1.1.2.1.3.7.1.4.23 = STRING: "D-Link DGS-3627G R2.82.B16 Port 23"
iso.0.8802.1.1.2.1.3.7.1.4.24 = STRING: "D-Link DGS-3627G R2.82.B16 Port 24"
iso.0.8802.1.1.2.1.3.7.1.4.25 = STRING: "D-Link DGS-3627G R2.82.B16 Port 25"
iso.0.8802.1.1.2.1.3.7.1.4.26 = STRING: "D-Link DGS-3627G R2.82.B16 Port 26"
iso.0.8802.1.1.2.1.3.7.1.4.27 = STRING: "D-Link DGS-3627G R2.82.B16 Port 27"
iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.0.1.254 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.0.10.1 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.0.10.42 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.0.10.50 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.4.0.1 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.4.16.1 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.4.32.1 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.4.36.1 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.4.40.1 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.4.44.1 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.4.48.1 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.4.52.1 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.4.56.1 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.4.60.1 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.4.64.1 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.4.68.1 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.4.72.1 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.4.76.1 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.4.80.1 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.4.84.1 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.4.88.1 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.4.92.1 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.4.96.1 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.4.100.1 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.4.104.1 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.4.128.1 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.3.1.4.10.4.255.1 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.3.1.4.89.107.196.34 = INTEGER: 4
iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.0.1.254 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.0.10.1 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.0.10.42 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.0.10.50 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.4.0.1 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.4.16.1 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.4.32.1 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.4.36.1 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.4.40.1 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.4.44.1 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.4.48.1 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.4.52.1 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.4.56.1 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.4.60.1 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.4.64.1 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.4.68.1 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.4.72.1 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.4.76.1 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.4.80.1 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.4.84.1 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.4.88.1 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.4.92.1 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.4.96.1 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.4.100.1 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.4.104.1 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.4.128.1 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.4.1.4.10.4.255.1 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.4.1.4.89.107.196.34 = INTEGER: 1
iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.0.1.254 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.0.10.1 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.0.10.42 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.0.10.50 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.4.0.1 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.4.16.1 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.4.32.1 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.4.36.1 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.4.40.1 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.4.44.1 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.4.48.1 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.4.52.1 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.4.56.1 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.4.60.1 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.4.64.1 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.4.68.1 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.4.72.1 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.4.76.1 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.4.80.1 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.4.84.1 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.4.88.1 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.4.92.1 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.4.96.1 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.4.100.1 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.4.104.1 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.4.128.1 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.5.1.4.10.4.255.1 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.5.1.4.89.107.196.34 = INTEGER: 0
iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.0.1.254 = OID: SNMPv2-SMI::enterprises.171.10.70.8
iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.0.10.1 = OID: SNMPv2-SMI::enterprises.171.10.70.8
iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.0.10.42 = OID: SNMPv2-SMI::enterprises.171.10.70.8
iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.0.10.50 = OID: SNMPv2-SMI::enterprises.171.10.70.8
iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.4.0.1 = OID: SNMPv2-SMI::enterprises.171.10.70.8
iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.4.16.1 = OID: SNMPv2-SMI::enterprises.171.10.70.8
iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.4.32.1 = OID: SNMPv2-SMI::enterprises.171.10.70.8
iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.4.36.1 = OID: SNMPv2-SMI::enterprises.171.10.70.8
iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.4.40.1 = OID: SNMPv2-SMI::enterprises.171.10.70.8
iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.4.44.1 = OID: SNMPv2-SMI::enterprises.171.10.70.8
iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.4.48.1 = OID: SNMPv2-SMI::enterprises.171.10.70.8
iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.4.52.1 = OID: SNMPv2-SMI::enterprises.171.10.70.8
iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.4.56.1 = OID: SNMPv2-SMI::enterprises.171.10.70.8
iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.4.60.1 = OID: SNMPv2-SMI::enterprises.171.10.70.8
iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.4.64.1 = OID: SNMPv2-SMI::enterprises.171.10.70.8
iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.4.68.1 = OID: SNMPv2-SMI::enterprises.171.10.70.8
iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.4.72.1 = OID: SNMPv2-SMI::enterprises.171.10.70.8
iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.4.76.1 = OID: SNMPv2-SMI::enterprises.171.10.70.8
iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.4.80.1 = OID: SNMPv2-SMI::enterprises.171.10.70.8
iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.4.84.1 = OID: SNMPv2-SMI::enterprises.171.10.70.8
iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.4.88.1 = OID: SNMPv2-SMI::enterprises.171.10.70.8
iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.4.92.1 = OID: SNMPv2-SMI::enterprises.171.10.70.8
iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.4.96.1 = OID: SNMPv2-SMI::enterprises.171.10.70.8
iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.4.100.1 = OID: SNMPv2-SMI::enterprises.171.10.70.8
iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.4.104.1 = OID: SNMPv2-SMI::enterprises.171.10.70.8
iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.4.128.1 = OID: SNMPv2-SMI::enterprises.171.10.70.8
iso.0.8802.1.1.2.1.3.8.1.6.1.4.10.4.255.1 = OID: SNMPv2-SMI::enterprises.171.10.70.8
iso.0.8802.1.1.2.1.3.8.1.6.1.4.89.107.196.34 = OID: SNMPv2-SMI::enterprises.171.10.70.8
Title: Re: Обнаружение топологии по LLDP
Post by: sabonez on August 06, 2012, 11:02:06 AM
Добрый день!

Виктор, получилось ли сделать поддержку LLDP у д-линков? Как добавите, дайте знать, буду собирать и тестировать.
Title: Re: Обнаружение топологии по LLDP
Post by: Victor Kirhenshtein on August 06, 2012, 11:57:50 PM
Вроде сделал, можно пробовать: https://www.netxms.org/download/rc/netxms-1.2.3-rc1.tar.gz (https://www.netxms.org/download/rc/netxms-1.2.3-rc1.tar.gz)
Title: Re: Обнаружение топологии по LLDP
Post by: sabonez on August 07, 2012, 09:41:20 AM
Собрал. Запустилось, но крэшится  :-[

[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-ы сборку скрутить грамотно?
Title: Re: Обнаружение топологии по LLDP
Post by: sabonez on August 07, 2012, 10:16:30 AM
Пересоздание базы не помогло, netxmsd упорно валится в сегфолт.

Title: Re: Обнаружение топологии по LLDP
Post by: Victor Kirhenshtein on August 07, 2012, 10:27:22 AM
А можно под gdb запустить и прислать backtrace?
Title: Re: Обнаружение топологии по LLDP
Post by: sabonez on August 07, 2012, 11:23:24 AM
Обязательно нужно! Вот что вышло:


[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)
Title: Re: Обнаружение топологии по LLDP
Post by: Victor Kirhenshtein on August 07, 2012, 11:29:34 AM
Попробуйте заменить lldp.cpp на приложенный и пересобрать.
Title: Re: Обнаружение топологии по LLDP
Post by: sabonez on August 07, 2012, 11:32:03 AM
Собственно, бэктрейс ;)

(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
Title: Re: Обнаружение топологии по LLDP
Post by: Victor Kirhenshtein on August 07, 2012, 11:51:48 AM
Это уже с новым lldp.cpp?
Title: Re: Обнаружение топологии по LLDP
Post by: sabonez on August 07, 2012, 11:54:26 AM
Нет, старый.

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

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

debian/rules не выложите для сборки?
Title: Re: Обнаружение топологии по LLDP
Post by: Victor Kirhenshtein on August 07, 2012, 11:58:12 AM
Я не знаю к сожалению что такое debian/rules :) Я собираю деб файлы "в лоб", вот так: https://svn.netxms.org/public/netxms/trunk/packages/linux/debian/README (https://svn.netxms.org/public/netxms/trunk/packages/linux/debian/README). Все скрипты и .control файлы здесь: https://svn.netxms.org/public/netxms/trunk/packages/linux/debian (https://svn.netxms.org/public/netxms/trunk/packages/linux/debian). Подозреваю, что должен быть более правильный способ :) Но нет времени разбиратся в этом...
Title: Re: Обнаружение топологии по LLDP
Post by: sabonez on August 07, 2012, 12:02:59 PM
Отлично. Этого вполне достаточно для сборки.
Просто я не поискал как следует ))

Огромное вам спасибо!
Title: Re: Обнаружение топологии по LLDP
Post by: sabonez on August 07, 2012, 02:08:35 PM
Первое наблюдение - дискавер по 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
Title: Re: Обнаружение топологии по LLDP
Post by: Victor Kirhenshtein on August 07, 2012, 02:40:02 PM
А что у этих свитчей под .1.3.6.1.2.1.2.2?
Title: Re: Обнаружение топологии по LLDP
Post by: sabonez on August 07, 2012, 02:52:51 PM
Много всего ;)
ifDescr-ы такие же как я писал постом выше.
Прикрепил файлик с выхлопом
Title: Re: Обнаружение топологии по LLDP
Post by: Victor Kirhenshtein on August 07, 2012, 03:13:02 PM
А как выглядят успешный и неуспешный topology poll?
Title: Re: Обнаружение топологии по LLDP
Post by: sabonez on August 07, 2012, 03:26:46 PM
Успешный:

[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)
Title: Re: Обнаружение топологии по LLDP
Post by: Victor Kirhenshtein on August 07, 2012, 04:10:57 PM
А что под .1.3.6.1.2.1.2.2 у свитчей, подключенных к тем, где не проходит полл, Bondarenko_23_p4 например?
Title: Re: Обнаружение топологии по LLDP
Post by: sabonez on August 07, 2012, 04:19:49 PM
А я же по нему и гонял, Bondarenko_23
В аттаче тут https://www.netxms.org/forum/oe-oo/oaee-tooo-o-lldp/?action=dlattach;attach=875

Хм, некоторые свитчи 1228 ME в сетке стали показывать соседей....
Я возьму таймаут, пока потестирую, а завтра, если не заработает, вернемся к вопросу.
Title: Re: Обнаружение топологии по LLDP
Post by: sabonez on August 08, 2012, 08:07:53 AM
В-общем, такие результаты. Выяснилось, что разные модели д-линков плохо понимают друг друга. ;)


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

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

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

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

Title: Re: Обнаружение топологии по LLDP
Post by: Victor Kirhenshtein on August 08, 2012, 02:30:04 PM
Да, я думаю стоит доделать. Меня интересуют OID'ы .1.3.6.1.2.1.1, .1.3.6.1.2.1.2.2, .1.0.8802.1.1.2.1.
Title: Re: Обнаружение топологии по LLDP
Post by: sabonez on August 09, 2012, 10:50:50 AM
Итак, вот что получилось. По последнему oid-у д-линки нагенерили кучу бесполезной инфы, потому дампы такие большие ;)
DGS-3627 по последнему oid-у выдал ошибку, попробую поискать его родные mib-ы,там скорее всего у них нестандартно что-то, как это водится у д-линков.
Title: Re: Обнаружение топологии по LLDP
Post by: sabonez on August 09, 2012, 11:53:58 AM
Вторая партия
Title: Re: Обнаружение топологии по LLDP
Post by: SKYnv on January 14, 2013, 12:43:32 PM
DGS-3627G

так ли необходим полный валк .1.0.8802.1.1.2.1. ? Просто очень нагружает коммутатор, а он головной.
Title: Re: Обнаружение топологии по LLDP
Post by: SKYnv on January 15, 2013, 06:31:25 AM
и ответ поддержки по серии 36хх

Мак адрес порта на DGS-3600 Series будет высчитываться в зависимости от модели и ревизии устройства.
DGS-3600 поставлялся с тремя версиями EEPROM, и в зависимости от его версии устройству под собственные нужды было доступно 64, 256 или 512 мак адресов.
В случае с 64 и 256 мак адресами коммутатор по lldp всегда будет отдавать одно значение на всех портах, в этом случае рекомендуется использовать поле Port Description.
В случае с 512 мак адресами (ваше устройство) высчитать мак адрес порта можно по следующему описанию:

System MAC : the first MAC address of the switch system in standalone mode or the first MAC address of master in stacking mode.
У вас - 84-C9-B2-26-9E-00

Last MAC Address : the last MAC address of unit. It is equal to (Unit Base MAC + EEPROM MAC Number - 1);
У вас это значение равно - 84-C9-B2-26-9E-FF

In this situation, L2 protocols will support per-port MAC feature. The available MAC addresses for per-port MAC is from (Last MAC Address - n) to Last MAC Address.
Every physical port has its unique MAC address. Here, n means the physical port number in switch

То есть для вашего коммутатора n=27.

Итого: вычитаем из Last MAC Address 27 и прибавляем номер порта. Получаем мак адрес 84-C9-B2-26-9F-E8
Title: Re: Обнаружение топологии по LLDP
Post by: Zar1n on January 30, 2013, 05:06:00 AM
Приветствую.

Чем дело закончилось ?
Title: Re: Обнаружение топологии по LLDP
Post by: RockDrilla on January 31, 2013, 02:36:06 PM
Могу помочь с полным дампом snmpwalk с DGS-3627G, т.к. есть один коммутатор, загрузка которого абсолютно пофигу (некритичный сегмент). Btw: относительно свежая прошивка на эту модель - 2.84.B42.
Title: Re: Обнаружение топологии по LLDP
Post by: SKYnv on January 31, 2013, 03:55:00 PM
Quote from: RockDrilla on January 31, 2013, 02:36:06 PM
Могу помочь с полным дампом snmpwalk с DGS-3627G, т.к. есть один коммутатор, загрузка которого абсолютно пофигу (некритичный сегмент). Btw: относительно свежая прошивка на эту модель - 2.84.B42.
Проблемм в том что поведение в плане ллд разное у всех прошивок на эту модель.
Title: Re: Обнаружение топологии по LLDP
Post by: RockDrilla on January 31, 2013, 09:17:11 PM
По крайней мере, для B42 есть возможность пострадать за Родину/Царя/Идею. Завтра сниму и почищу от чувствительной инфы.
Title: Re: Обнаружение топологии по LLDP
Post by: Zar1n on February 01, 2013, 04:32:45 AM
Учитываю разношерстность оборудования, возможно стоит сделать шаблоны для LLDP.

Скажем, для построения топологии требуется собрать ряд параметров (возможно даже некоторые требуют парсинга для приведения значений к нужным) с определенных OID.
Сделать эти OID  настраиваемыми из шаблонов. Или еще как.

Такая вот идея.
Title: Re: Обнаружение топологии по LLDP
Post by: Victor Kirhenshtein on February 01, 2013, 01:12:17 PM
Пытаюсь разобратся сейчас с DGS-3627G. Полный дамп очень бы помог, можно просто все под .1. Если не получится, то .1.3.111.2.802.1.1.13, .1.0.8802.1.1.2, .1.3.6.1.2.1.2, .1.3.6.1.2.1.17.

P.S. Если возможно, то еще то, что сам коммутатор расказывает про LLDP через свой management interface.
Title: Re: Обнаружение топологии по LLDP
Post by: Victor Kirhenshtein on February 01, 2013, 01:58:12 PM
Quote from: sabonez on August 07, 2012, 02:08:35 PM
Первое наблюдение - дискавер по LLDP отлично работает с моделями, у которых Port Description вида "RMON Port 10 on Unit 1", но не работает с теми, у которых такое - "D-Link DES-1228/ME R2.00 Port 25". Подобное описание портов имеется у серий Gigabit- и Metro- Ethernet Switch.

Вроде нашел причину - в обработке LLDP информации есть баг, который не позволяет корректно определять линки между устройствами разных моделей (при lldpRemPortIdSubtype = 7).
Title: Re: Обнаружение топологии по LLDP
Post by: Victor Kirhenshtein on February 02, 2013, 01:18:33 PM
Еще вопрос к обладателям D-Link'ов - пришлите пожалуйста результат SNMP walk на .1.3.6.1.2.1.2 для стека.
Title: Re: Обнаружение топологии по LLDP
Post by: SKYnv on February 02, 2013, 02:32:23 PM
Quote from: Victor Kirhenshtein on February 02, 2013, 01:18:33 PM
Еще вопрос к обладателям D-Link'ов - пришлите пожалуйста результат SNMP walk на .1.3.6.1.2.1.2 для стека.
для коммутаторов в стеке? если честно не используем данную технологию по причине возможной неустойчивости и некоторой сложности обслуживания, удаленного. Да и в принципе оно не нужно нигде кроме крупных (очень крупных) узлов связи, это ведь L3 коммутаторы, а там где требуется стекировать L3 не будут использовать dlink.

Хм, и на складе нет запасных для стенда, есть десяток dgs-3420-26sc но они еще в транзите и не дошли до нас.

вообще у длинка несколько нелогичное поведение порой, потому их технологии нужно использовать с оглядкой или вообще не использовать.