summaryrefslogtreecommitdiffstats
path: root/nhrpd/nhrpd.h
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2017-03-25 16:27:24 +0100
committerDonald Sharp <sharpd@cumulusnetworks.com>2017-04-25 14:32:46 +0200
commit0ca036b4569d695cfe668a0d9efbe7da94016673 (patch)
tree4c3daab57dbc6dd5a522e32a95a58c0ef457c319 /nhrpd/nhrpd.h
parentMerge pull request #400 from dwalton76/default-frr-conf (diff)
downloadfrr-0ca036b4569d695cfe668a0d9efbe7da94016673.tar.xz
frr-0ca036b4569d695cfe668a0d9efbe7da94016673.zip
nhrpd: implement 'show ip nhrp nhs'
Diffstat (limited to 'nhrpd/nhrpd.h')
-rw-r--r--nhrpd/nhrpd.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/nhrpd/nhrpd.h b/nhrpd/nhrpd.h
index cd2b0d558..9a4f26d57 100644
--- a/nhrpd/nhrpd.h
+++ b/nhrpd/nhrpd.h
@@ -254,6 +254,18 @@ struct nhrp_nhs {
struct list_head reglist_head;
};
+struct nhrp_registration {
+ struct list_head reglist_entry;
+ struct thread *t_register;
+ struct nhrp_nhs *nhs;
+ struct nhrp_reqid reqid;
+ unsigned int timeout;
+ unsigned mark : 1;
+ union sockunion proto_addr;
+ struct nhrp_peer *peer;
+ struct notifier_block peer_notifier;
+};
+
#define NHRP_IFF_SHORTCUT 0x0001
#define NHRP_IFF_REDIRECT 0x0002
#define NHRP_IFF_REG_NO_UNIQUE 0x0100
@@ -311,6 +323,7 @@ int nhrp_nhs_add(struct interface *ifp, afi_t afi, union sockunion *proto_addr,
int nhrp_nhs_del(struct interface *ifp, afi_t afi, union sockunion *proto_addr, const char *nbma_fqdn);
int nhrp_nhs_free(struct nhrp_nhs *nhs);
void nhrp_nhs_terminate(void);
+void nhrp_nhs_foreach(struct interface *ifp, afi_t afi, void (*cb)(struct nhrp_nhs *, struct nhrp_registration *, void *), void *ctx);
void nhrp_route_update_nhrp(const struct prefix *p, struct interface *ifp);
void nhrp_route_announce(int add, enum nhrp_cache_type type, const struct prefix *p, struct interface *ifp, const union sockunion *nexthop, uint32_t mtu);