[go: up one dir, main page]

Problem: Crashes when "?" occurs in SNMP table output

Created by: jonnystorm

  • Code assumes "?" will never appear as destination or nexthop in routes.
  • Missing destination/nexthop appears when route churn is present.

Crash Output

** (Protocol.UndefinedError) protocol NetAddr.Representation not implemented for {:error, :einval}. This protocol is implemented for: NetAddr.Generic, NetAddr.IPv4, NetAddr.IPv6, NetAddr.MAC_48
    (netaddr_ex) deps/netaddr_ex/lib/netaddr.ex:842: NetAddr.Representation.impl_for!/1
    (netaddr_ex) deps/netaddr_ex/lib/netaddr.ex:844: NetAddr.Representation.address/2
    (giraphe) lib/giraphe/discover/l3.ex:22: anonymous fn/2 in Giraphe.Discover.L3.any_similar_address?/2
    (elixir) lib/enum.ex:2786: Enum.any_list/2
    (giraphe) lib/giraphe/discover/l3.ex:127: anonymous fn/3 in Giraphe.Discover.L3._discover/2
    (elixir) lib/enum.ex:2857: Enum.filter_list/2
    (giraphe) lib/giraphe/discover/l3.ex:126: Giraphe.Discover.L3._discover/2
    (giraphe) lib/giraphe/discover/l3.ex:167: Giraphe.Discover.L3.discover/1

SNMP Output

[%{age: "14", dest: "10.100.11.0", ifindex: "0",
   index: "[10.100.11.0][255.255.255.252][0][10.100.1.2]", info: "?",
   mask: "255.255.255.252", metric1: "?", metric2: "?", metric3: "?",
   metric4: "?", metric5: "?", nexthop: "10.100.1.2", nexthopas: "?",
   proto: "14", status: "?", tos: "0", type: "4"},
 %{age: "?", dest: "?", ifindex: "?",
   index: "[10.100.11.0][255.255.255.252][0][10.1.1.2]",
   info: "SNMPv2-SMI::zeroDotZero", mask: "?", metric1: "0", metric2: "?",
   metric3: "?", metric4: "?", metric5: "?", nexthop: "?", nexthopas: "0",
   proto: "?", status: "?", tos: "?", type: "?"}]