diff options
author | Vincent Bernat <vincent@bernat.ch> | 2021-02-10 16:53:57 +0100 |
---|---|---|
committer | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2021-02-10 16:53:57 +0100 |
commit | 714238716ef36f1dfc5721055e2ec4affd42ebfa (patch) | |
tree | 50564bd78326443e2376f2095251b6b1c0871afc /conf | |
parent | 00b85905b9f5081eb2fce0ed79542085278e9f42 (diff) |
BGP: Add support for BGP hostname capability
This is an implementation of draft-walton-bgp-hostname-capability-02.
It is implemented since quite some time for FRR and in datacenter, this
gives a nice output to avoid using IP addresses.
It is disabled by default. The hostname is retrieved from uname(2) and
can be overriden with "hostname" option. The domain name is never set
nor displayed.
Minor changes by committer.
Diffstat (limited to 'conf')
-rw-r--r-- | conf/conf.c | 9 | ||||
-rw-r--r-- | conf/conf.h | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/conf/conf.c b/conf/conf.c index 6f64b541..58abcde1 100644 --- a/conf/conf.c +++ b/conf/conf.c @@ -55,6 +55,7 @@ #include "lib/timer.h" #include "conf/conf.h" #include "filter/filter.h" +#include "sysdep/unix/unix.h" static jmp_buf conf_jmpbuf; @@ -217,6 +218,14 @@ config_del_obstacle(struct config *c) static int global_commit(struct config *new, struct config *old) { + if (!new->hostname) + { + new->hostname = get_hostname(new->mem); + + if (!new->hostname) + log(L_WARN "Cannot determine hostname"); + } + if (!old) return 0; diff --git a/conf/conf.h b/conf/conf.h index 3e47c918..860d267a 100644 --- a/conf/conf.h +++ b/conf/conf.h @@ -40,6 +40,7 @@ struct config { struct timeformat tf_log; /* Time format for the logfile */ struct timeformat tf_base; /* Time format for other purposes */ u32 gr_wait; /* Graceful restart wait timeout (sec) */ + const char *hostname; /* Hostname */ int cli_debug; /* Tracing of CLI connections and commands */ int latency_debug; /* I/O loop tracks duration of each event */ |