diff options
| author | David Lamparter <equinox@diac24.net> | 2017-05-17 22:06:39 +0200 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-05-17 22:06:39 +0200 | 
| commit | bac7b7b935162915bbefb7d01ce55eb364635c0b (patch) | |
| tree | b2ce709376fa69429fa336f8239f25b0a89e7b14 /eigrpd/eigrp_siaquery.c | |
| parent | e89f016d3e882010c70689432ad9e7f7c32df224 (diff) | |
| parent | 910a5c0e21145755b0d849b11b81df8e78d0e871 (diff) | |
Merge pull request #537 from donaldsharp/vrf_stuff
Vrf stuff
Diffstat (limited to 'eigrpd/eigrp_siaquery.c')
| -rw-r--r-- | eigrpd/eigrp_siaquery.c | 13 | 
1 files changed, 8 insertions, 5 deletions
diff --git a/eigrpd/eigrp_siaquery.c b/eigrpd/eigrp_siaquery.c index 3fc1aa54d3..d521a57baf 100644 --- a/eigrpd/eigrp_siaquery.c +++ b/eigrpd/eigrp_siaquery.c @@ -80,16 +80,17 @@ eigrp_siaquery_receive (struct eigrp *eigrp, struct ip *iph, struct eigrp_header        type = stream_getw(s);        if (type == EIGRP_TLV_IPv4_INT)          { +	  struct prefix_ipv4 dest_addr; +            stream_set_getp(s, s->getp - sizeof(u_int16_t));            tlv = eigrp_read_ipv4_tlv(s); -          struct prefix_ipv4 *dest_addr; -          dest_addr = prefix_ipv4_new(); -          dest_addr->prefix = tlv->destination; -          dest_addr->prefixlen = tlv->prefix_length; +          dest_addr.family = AFI_IP; +          dest_addr.prefix = tlv->destination; +          dest_addr.prefixlen = tlv->prefix_length;            struct eigrp_prefix_entry *dest = -            eigrp_topology_table_lookup_ipv4(eigrp->topology_table, dest_addr); +            eigrp_topology_table_lookup_ipv4(eigrp->topology_table, &dest_addr);            /* If the destination exists (it should, but one never know)*/            if (dest != NULL) @@ -161,4 +162,6 @@ eigrp_send_siaquery (struct eigrp_neighbor *nbr, struct eigrp_prefix_entry *pe)            eigrp_send_packet_reliably(nbr);          }      } +  else +    eigrp_packet_free(ep);  }  | 
