summaryrefslogtreecommitdiff
path: root/conf
diff options
context:
space:
mode:
authorVincent Bernat <vincent@bernat.ch>2021-02-10 16:53:57 +0100
committerOndrej Zajicek (work) <santiago@crfreenet.org>2021-02-10 16:53:57 +0100
commit714238716ef36f1dfc5721055e2ec4affd42ebfa (patch)
tree50564bd78326443e2376f2095251b6b1c0871afc /conf
parent00b85905b9f5081eb2fce0ed79542085278e9f42 (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.c9
-rw-r--r--conf/conf.h1
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 */