View | Details | Raw Unified | Return to bug 218678
Collapse All | Expand All

(-)net/gobgp/Makefile (+85 lines)
Line 0 Link Here
1
# $FreeBSD$
2
3
PORTNAME=	gobgp
4
PORTVERSION=	1.28
5
DISTVERSIONPREFIX=	v
6
CATEGORIES=	net
7
DIST_SUBDIR=	gobgp
8
9
MAINTAINER=	nork@ninth-nine.com
10
COMMENT=	BGP implementation in Go
11
12
LICENSE=	APACHE20
13
LICENSE_FILE=	${WRKSRC}/LICENSE
14
15
USES=		go
16
GO_PKGNAME=	github.com/${GH_ACCOUNT}/${PORTNAME}
17
GO_TARGET=	${GO_PKGNAME}/gobgp \
18
		${GO_PKGNAME}/gobgpd
19
USE_GITHUB=	yes
20
GH_ACCOUNT=	osrg:DEFAULT
21
GH_TUPLE=	BurntSushi:toml:b26d9c3:toml/../src/github.com/BurntSushi/toml \
22
		armon:go-radix:1fca145:radix/../src/github.com/armon/go-radix \
23
		davecgh:go-spew:346938d:spew/../src/github.com/davecgh/go-spew \
24
		dgryski:go-farm:ac7624e:farm/../src/github.com/dgryski/go-farm \
25
		eapache:channels:47238d5:channels/../src/github.com/eapache/channels \
26
		eapache:queue:ded5959:queue/../src/github.com/eapache/queue \
27
		fsnotify:fsnotify:629574c:fsnotify/../src/github.com/fsnotify/fsnotify \
28
		golang:protobuf:748d386:protobuf/../src/github.com/golang/protobuf \
29
		hashicorp:hcl:392dba7:hcl/../src/github.com/hashicorp/hcl \
30
		inconshreveable:mousetrap:76626ae:mousetrap/../src/github.com/inconshreveable/mousetrap \
31
		influxdata:influxdb:5887e92:influxdb/../src/github.com/influxdata/influxdb \
32
		jessevdk:go-flags:96dc062:flags/../src/github.com/jessevdk/go-flags \
33
		kr:pretty:cfb55aa:pretty/../src/github.com/kr/pretty \
34
		kr:text:7cafcd8:krtext/../src/github.com/kr/text \
35
		magiconair:properties:be5ece7:properties/../src/github.com/magiconair/properties \
36
		mitchellh:mapstructure:d0303fe:mapstructure/../src/github.com/mitchellh/mapstructure \
37
		pelletier:go-buffruneio:c37440a:buffruneio/../src/github.com/pelletier/go-buffruneio \
38
		pelletier:go-toml:5ccdfb1:toml/../src/github.com/pelletier/go-toml \
39
		pmezard:go-difflib:792786c:difflib/../src/github.com/pmezard/go-difflib \
40
		satori:go.uuid:36e9d2e:uuid/../src/github.com/satori/go.uuid \
41
		sirupsen:logrus:a3f95b5:logrus/../src/github.com/sirupsen/logrus \
42
		spf13:afero:9be6508:afero/../src/github.com/spf13/afero \
43
		spf13:cast:acbeb36:cast/../src/github.com/spf13/cast \
44
		spf13:cobra:b26b538:cobra/../src/github.com/spf13/cobra \
45
		spf13:jWalterWeatherman:0efa520:jwalterweatherman/../src/github.com/spf13/jwalterweatherman \
46
		spf13:pflag:e57e3ee:pflag/../src/github.com/spf13/pflag \
47
		spf13:viper:25b30aa:viper/../src/github.com/spf13/viper \
48
		stretchr:testify:69483b4:testify/../src/github.com/stretchr/testify \
49
		vishvananda:netlink:a956595:netlink/../src/github.com/vishvananda/netlink \
50
		vishvananda:netns:86bef33:netns/../src/github.com/vishvananda/netns \
51
		golang:net:f5079bd:gonet/../src/golang.org/x/net \
52
		golang:sys:e312636:gosys/../src/golang.org/x/sys \
53
		golang:text:3bd178b:gotext/../src/golang.org/x/text \
54
		google:go-genproto:09f6ed2:genproto/../src/google.golang.org/genproto \
55
		grpc:grpc-go:b8669c3:grpc/../src/google.golang.org/grpc \
56
		go-tomb:tomb:d5d1b58:tombv2/../src/gopkg.in/tomb.v2 \
57
		go-yaml:yaml:25c4ec8:yamlv2/../src/gopkg.in/yaml.v2 \
58
		golang:crypto:5119cf5:gocrypto/../src/golang.org/x/crypto
59
60
PLIST_FILES=	bin/gobgp libexec/gobgpd
61
62
OPTIONS_DEFINE=	BASH ZSH
63
OPTIONS_DEFAULT=BASH ZSH
64
65
BASH_PLIST_FILES=	etc/bash_completion.d/gobgp-completion.bash \
66
			etc/bash_completion.d/gobgp-dynamic-completion.bash \
67
			etc/bash_completion.d/gobgp-static-completion.bash
68
ZSH_PLIST_FILES=	share/zsh/site-functions/_gobgp
69
70
USE_RC_SUBR=	gobgpd
71
SUB_FILES=	gobgpd
72
73
do-install:
74
	${INSTALL_PROGRAM} ${GO_WRKDIR_BIN}/gobgp  ${STAGEDIR}${PREFIX}/bin
75
	${INSTALL_PROGRAM} ${GO_WRKDIR_BIN}/gobgpd ${STAGEDIR}${PREFIX}/libexec
76
77
post-install-BASH-on:
78
	${MKDIR} ${STAGEDIR}${PREFIX}/etc/bash_completion.d
79
	${INSTALL_DATA} ${GO_WRKSRC}/tools/completion/gobgp*-completion.bash ${STAGEDIR}${PREFIX}/etc/bash_completion.d/
80
81
post-install-ZSH-on:
82
	${MKDIR} ${STAGEDIR}${PREFIX}/share/zsh/site-functions
83
	${INSTALL_DATA} ${GO_WRKSRC}/tools/completion/zsh/_gobgp ${STAGEDIR}${PREFIX}/share/zsh/site-functions/
84
85
.include <bsd.port.mk>
(-)net/gobgp/distinfo (+77 lines)
Line 0 Link Here
1
TIMESTAMP = 1518279013
2
SHA256 (gobgp/osrg-gobgp-v1.28_GH0.tar.gz) = 49c5b8a61a32c50be9d5a79a5cbc37ae5c01b615812cf356e1fc70d769e0e3e7
3
SIZE (gobgp/osrg-gobgp-v1.28_GH0.tar.gz) = 717184
4
SHA256 (gobgp/pelletier-go-toml-5ccdfb1_GH0.tar.gz) = 3d5ba78c7f30cc14421a86940ab647a11f4afc83351d6be1e122b7e61632c0a3
5
SIZE (gobgp/pelletier-go-toml-5ccdfb1_GH0.tar.gz) = 47013
6
SHA256 (gobgp/armon-go-radix-1fca145_GH0.tar.gz) = 78dd05b37ac60393e08fad0180ceab6355ce45b13840f2f14f0e0d3da48272d2
7
SIZE (gobgp/armon-go-radix-1fca145_GH0.tar.gz) = 5940
8
SHA256 (gobgp/davecgh-go-spew-346938d_GH0.tar.gz) = 92e706ece5da01f2c61cf632e168d8c24d44866523b25f0e8eb9d1596c5d5f79
9
SIZE (gobgp/davecgh-go-spew-346938d_GH0.tar.gz) = 42343
10
SHA256 (gobgp/dgryski-go-farm-ac7624e_GH0.tar.gz) = 5536292cd910b2c3c7ed80535394c74e47fdb69d11569a9287519283bb8ca01d
11
SIZE (gobgp/dgryski-go-farm-ac7624e_GH0.tar.gz) = 20512
12
SHA256 (gobgp/eapache-channels-47238d5_GH0.tar.gz) = f187e475d4e03e4b454845ea311daeeacc9b42558d5e9b6ea4132cb4c3ac237d
13
SIZE (gobgp/eapache-channels-47238d5_GH0.tar.gz) = 11706
14
SHA256 (gobgp/eapache-queue-ded5959_GH0.tar.gz) = a3aa9c17d3c0a563d1b52bc0c50ec825cfeb94606defc27076b97418c3771ded
15
SIZE (gobgp/eapache-queue-ded5959_GH0.tar.gz) = 3261
16
SHA256 (gobgp/fsnotify-fsnotify-629574c_GH0.tar.gz) = c8da466b460ded4f23bef2b75fc7646d6ccfac3643b0cd2eaeb57de21889576b
17
SIZE (gobgp/fsnotify-fsnotify-629574c_GH0.tar.gz) = 29554
18
SHA256 (gobgp/golang-protobuf-748d386_GH0.tar.gz) = 769b6a06736ba2ea79d80291982847f8435dd508d24c4fa2aea82e4bab8b7389
19
SIZE (gobgp/golang-protobuf-748d386_GH0.tar.gz) = 253421
20
SHA256 (gobgp/hashicorp-hcl-392dba7_GH0.tar.gz) = a9ec781e8590fe45a11f84833cb3a6ad56d7da069ee95750f53f8e133bc679e8
21
SIZE (gobgp/hashicorp-hcl-392dba7_GH0.tar.gz) = 69728
22
SHA256 (gobgp/inconshreveable-mousetrap-76626ae_GH0.tar.gz) = d56204c0067e12a8939e1db62e907095f4fba37d98cb1e0ec574f1dce89effc4
23
SIZE (gobgp/inconshreveable-mousetrap-76626ae_GH0.tar.gz) = 2288
24
SHA256 (gobgp/influxdata-influxdb-5887e92_GH0.tar.gz) = 59eeb0efde69c461668f4392d547235295f890ceb4afa3c4bd71357a811b071d
25
SIZE (gobgp/influxdata-influxdb-5887e92_GH0.tar.gz) = 1068563
26
SHA256 (gobgp/jessevdk-go-flags-96dc062_GH0.tar.gz) = 861b8f2b4f47da687e14e6d3e5e1b74feabc6467197f6fe2326d54f39d315d18
27
SIZE (gobgp/jessevdk-go-flags-96dc062_GH0.tar.gz) = 55449
28
SHA256 (gobgp/kr-pretty-cfb55aa_GH0.tar.gz) = 5c8e2093298c7540a2707a34d283ce37f1b288497786d4f5725647a63ab2ac5c
29
SIZE (gobgp/kr-pretty-cfb55aa_GH0.tar.gz) = 8499
30
SHA256 (gobgp/kr-text-7cafcd8_GH0.tar.gz) = 218bd56a3927283e4c9232b4ee15e0fcc989ace72a2a0be14863ce3795ad3c90
31
SIZE (gobgp/kr-text-7cafcd8_GH0.tar.gz) = 8584
32
SHA256 (gobgp/magiconair-properties-be5ece7_GH0.tar.gz) = ec40448e2e63301527519ba2ffea379645a8e884490116fb1b9784b1af85aea7
33
SIZE (gobgp/magiconair-properties-be5ece7_GH0.tar.gz) = 27511
34
SHA256 (gobgp/mitchellh-mapstructure-d0303fe_GH0.tar.gz) = 30e7697b7e321d8f14bff5f19b789cd38fd277518aae251c370ea53ddb53d1f7
35
SIZE (gobgp/mitchellh-mapstructure-d0303fe_GH0.tar.gz) = 15560
36
SHA256 (gobgp/pelletier-go-buffruneio-c37440a_GH0.tar.gz) = d2bdcd763e33d9bdda4058b10dc2b4fc25aeb1b752b7e1bb9b4713dc06e24af4
37
SIZE (gobgp/pelletier-go-buffruneio-c37440a_GH0.tar.gz) = 3027
38
SHA256 (gobgp/pmezard-go-difflib-792786c_GH0.tar.gz) = 7c2a6d7ea0700411ba7d13865230c03bd6734d3ff6c213357bda121f5bb707fb
39
SIZE (gobgp/pmezard-go-difflib-792786c_GH0.tar.gz) = 11401
40
SHA256 (gobgp/satori-go.uuid-36e9d2e_GH0.tar.gz) = aa54b317ac4122e7a4db33f84bac64fa9079637f4fd0517206c06d1aa1341b2d
41
SIZE (gobgp/satori-go.uuid-36e9d2e_GH0.tar.gz) = 8738
42
SHA256 (gobgp/sirupsen-logrus-a3f95b5_GH0.tar.gz) = bbcff7baa2014b1095e000a61eb805658ac43c8f01da294575f1a8437561a8de
43
SIZE (gobgp/sirupsen-logrus-a3f95b5_GH0.tar.gz) = 28454
44
SHA256 (gobgp/spf13-afero-9be6508_GH0.tar.gz) = 6814d3c2e2c55540cbc190def53324924cf44b06ac4ec39b4cb09c3416a5dcb5
45
SIZE (gobgp/spf13-afero-9be6508_GH0.tar.gz) = 40630
46
SHA256 (gobgp/spf13-cast-acbeb36_GH0.tar.gz) = 403d9ba0ea7655ad375cf31e9ff1fece4425b3795fc47eb86e824ab6ac6ef620
47
SIZE (gobgp/spf13-cast-acbeb36_GH0.tar.gz) = 9588
48
SHA256 (gobgp/spf13-cobra-b26b538_GH0.tar.gz) = 650cd92ad567a10f348c2d7b1ac5a22747d257d393efef5742498bab10490ee4
49
SIZE (gobgp/spf13-cobra-b26b538_GH0.tar.gz) = 100085
50
SHA256 (gobgp/spf13-jWalterWeatherman-0efa520_GH0.tar.gz) = 30724b69b0975bd29ee722fb46bb2ad332f0648194c40d6edddccd660db5ed9b
51
SIZE (gobgp/spf13-jWalterWeatherman-0efa520_GH0.tar.gz) = 6343
52
SHA256 (gobgp/spf13-pflag-e57e3ee_GH0.tar.gz) = 16556b4873f12211cffec75aa4d3a6332efa26e64ff0476fdbd99f672ca37d51
53
SIZE (gobgp/spf13-pflag-e57e3ee_GH0.tar.gz) = 38998
54
SHA256 (gobgp/spf13-viper-25b30aa_GH0.tar.gz) = 1c122475eae91ebeeb20e799f8eaec0e4ae3f3dce18cfbe244dc9292dbf2373a
55
SIZE (gobgp/spf13-viper-25b30aa_GH0.tar.gz) = 30808
56
SHA256 (gobgp/stretchr-testify-69483b4_GH0.tar.gz) = 4f0aa4ed2d03c2c844fb8913a720e03473b8bf439cd906302a53af0aae6c14e8
57
SIZE (gobgp/stretchr-testify-69483b4_GH0.tar.gz) = 83325
58
SHA256 (gobgp/vishvananda-netlink-a956595_GH0.tar.gz) = 338d5d91d2371bad62e4cba9f7a010b81e3d2d3e445ab32c4ac3cddb6c7f975c
59
SIZE (gobgp/vishvananda-netlink-a956595_GH0.tar.gz) = 103163
60
SHA256 (gobgp/vishvananda-netns-86bef33_GH0.tar.gz) = 7115bddebbc915d27f02f8a8106c8339c115df243c7cb30da2a1847eaa7a33a3
61
SIZE (gobgp/vishvananda-netns-86bef33_GH0.tar.gz) = 7742
62
SHA256 (gobgp/golang-net-f5079bd_GH0.tar.gz) = f2344b7016ad61ee82642d62ac78aeb83e1d31d92939cdc3f0958ea4301101c1
63
SIZE (gobgp/golang-net-f5079bd_GH0.tar.gz) = 912361
64
SHA256 (gobgp/golang-sys-e312636_GH0.tar.gz) = b9622b35e06ba971c911663981824f5f63ab9ffa5c3ee466f3578b9d5cbc3357
65
SIZE (gobgp/golang-sys-e312636_GH0.tar.gz) = 732863
66
SHA256 (gobgp/golang-text-3bd178b_GH0.tar.gz) = 01790b4215077e7d4c15e685c9460df93f4e835211928351dd9eb7eea783b830
67
SIZE (gobgp/golang-text-3bd178b_GH0.tar.gz) = 4594818
68
SHA256 (gobgp/google-go-genproto-09f6ed2_GH0.tar.gz) = 08f7fc1132b33dd6a365d7bc8e931dd4648f51d6fcb219aa0bc2df3420364b99
69
SIZE (gobgp/google-go-genproto-09f6ed2_GH0.tar.gz) = 952658
70
SHA256 (gobgp/grpc-grpc-go-b8669c3_GH0.tar.gz) = a8be62ec0740019fbe07b2f8ed828c7e40ad21140e5d973ce78effccf64430ca
71
SIZE (gobgp/grpc-grpc-go-b8669c3_GH0.tar.gz) = 302786
72
SHA256 (gobgp/go-tomb-tomb-d5d1b58_GH0.tar.gz) = 15f81593032433527203ace3277c819f2b4b90fd337ea2193de0c7a515b87f08
73
SIZE (gobgp/go-tomb-tomb-d5d1b58_GH0.tar.gz) = 5513
74
SHA256 (gobgp/go-yaml-yaml-25c4ec8_GH0.tar.gz) = dc5116c179734068aab4a7047655051756b75b0b4d92106bd9c9016dd3683e52
75
SIZE (gobgp/go-yaml-yaml-25c4ec8_GH0.tar.gz) = 61310
76
SHA256 (gobgp/golang-crypto-5119cf5_GH0.tar.gz) = 07e82eeb40a4cea7688283874446946dc43f6ab50f9876a9bff9b687cc261a51
77
SIZE (gobgp/golang-crypto-5119cf5_GH0.tar.gz) = 1450883
(-)net/gobgp/files/gobgpd.in (+106 lines)
Line 0 Link Here
1
#!/bin/sh
2
# $FreeBSD$
3
4
# PROVIDE: gobgpd
5
# REQUIRE: netif routing
6
# BEFORE:  LOGIN
7
# KEYWORD: shutdown
8
#
9
# Define these gobgpd* variables in one of these files:
10
#	/etc/rc.conf
11
#	/etc/rc.conf.local
12
#	/etc/rc.conf.d/gobgpd
13
#
14
# DO NOT CHANGE THESE DEFAULT VALUES HERE
15
#
16
# Add the following lines to /etc/rc.conf to enable gobgpd:
17
#
18
# gobgpd_enable="YES"
19
# gobgpd_config="<default unset>"
20
# gobgpd_config_type="<default unset>"
21
# gobgpd_flags="<set as needed>"
22
# gobgpd_log_level="<set as needed like 'debug'>"
23
# gobgpd_stdlog_enable="<default 'NO'>"
24
# gobgpd_syslog_host="<set as needed like 'yes'(same as ':') or 'udp:otherhost:514'>"
25
# gobgpd_syslog_facility="<set as needed like 'daemon'>"
26
# gobgpd_foreground_enable="<default 'NO'>"
27
#
28
29
. /etc/rc.subr
30
31
name="gobgpd"
32
rcvar="gobgpd_enable"
33
34
load_rc_config $name
35
36
: ${gobgpd_enable:=NO}
37
: ${gobgpd_stdlog_enable:=NO}
38
: ${gobgpd_foreground_enable:=NO}
39
40
pidfile="/var/run/${name}.pid"
41
procname="%%PREFIX%%/libexec/gobgpd"
42
command_args="${gobgpd_flags}${gobgpd_ctype:+ -t ${gobgpd_config_type}}${gobgpd_config:+ -f ${gobgpd_config}}${gobgpd_log_level:+ --log-level=${gobgpd_log_level}}"
43
44
start_cmd="gobgpd_start"
45
start_precmd="gobgpd_prestart"
46
reload_cmd="gobgpd_reload"
47
sig_stop="KILL"
48
49
gobgpd_prestart () {
50
	case "${gobgpd_flags}" in
51
	-f*|*-f*|--config-file*|*--config-file*)
52
		err 1 "gobgpd_flags includes the --config-file option, use gobgpd_config instead."
53
		;;
54
	-t*|*-t*|--config-type*|*--config-type*)
55
		err 1 "gobgpd_flags includes the --config-type option, use gobgpd_config_type instead."
56
		;;
57
	-s*|*-s*|--syslog*)
58
		err 1 "gobgpd_flags includes the --syslog option, use gobgpd_syslog_host instead."
59
		;;
60
	--syslog-facility*|*--syslog-facility*)
61
		err 1 "gobgpd_flags includes the --syslog-facility option, use gobgpd_syslog_host instead."
62
		;;
63
	--disable-stdlog*|*--disable-stdlog*)
64
		err 1 "gobgpd_flags includes the --disable-stdlog option, use gobgpd_stdlog_enable instead."
65
		;;
66
	--log-level*|*--log-level*)
67
		err 1 "gobgpd_flags includes the --log-level option, use gobgp_log_level instead."
68
		;;
69
	-d*|*-d*|--dry-run*|*--dry-run*)
70
		err 1 "gobgpd_flags doesn't require --dry-run option."
71
		;;
72
	-h*|*-h*|--help*|*--help*)
73
		err 1 "gobgpd_flags doesn't require --help option."
74
		;;
75
	esac
76
77
	case "x${gobgpd_config_type}" in
78
	x|xtoml|xyaml|xjson)
79
		;;
80
	*)
81
		err 1 "gobgpd_config_type requires one of 'toml', 'yaml' or 'json'."
82
	esac
83
84
	if [ -f ${gobgpd_config} ]; then
85
		${procname} --dry-run ${command_args} > /dev/null
86
		if [ $? -ne 0 ]; then
87
			err 1 $(${procname} --dry-run --log-plain ${command_args})
88
		fi
89
	fi
90
}
91
92
gobgpd_start () {
93
	if checkyesno gobgpd_foreground_enable; then
94
		${procname} ${command_args} $(checkyesno gobgpd_stdlog_enable || echo --disable-stdlog) ${gobgpd_syslog_host:+ --syslog=${gobgpd_syslog_host}}${gobgpd_syslog_facility:+ --syslog-facility=${gobgpd_syslog_facility}}
95
	else
96
		echo "Starting ${name}."
97
		/usr/sbin/daemon -c -p ${pidfile} ${procname} ${command_args} $(checkyesno gobgpd_stdlog_enable || echo --disable-stdlog) ${gobgpd_syslog_host:+ --syslog=${gobgpd_syslog_host}}${gobgpd_syslog_facility:+ --syslog-facility=${gobgpd_syslog_facility}}
98
	fi
99
}
100
101
gobgpd_reload () {
102
	echo "Graceful Restarting ${name}."
103
	${procname} --graceful-restart ${command_args}
104
}
105
106
run_rc_command "$1"
(-)net/gobgp/files/patch-server_sockopt__bsd.go (+17 lines)
Line 0 Link Here
1
--- server/sockopt_bsd.go.orig	2018-02-09 18:45:37 UTC
2
+++ server/sockopt_bsd.go
3
@@ -23,13 +23,12 @@ import (
4
 )
5
 
6
 const (
7
-	TCP_MD5SIG       = 0x10 // TCP MD5 Signature (RFC2385)
8
 	IPV6_MINHOPCOUNT = 73   // Generalized TTL Security Mechanism (RFC5082)
9
 )
10
 
11
 func setsockoptTcpMD5Sig(fd int, address string, key string) error {
12
 	// always enable and assumes that the configuration is done by setkey()
13
-	return os.NewSyscallError("setsockopt", syscall.SetsockoptInt(fd, syscall.IPPROTO_TCP, TCP_MD5SIG, 1))
14
+	return os.NewSyscallError("setsockopt", syscall.SetsockoptInt(fd, syscall.IPPROTO_TCP, syscall.TCP_MD5SIG, 1))
15
 }
16
 
17
 func setTcpMD5SigSockopt(l *net.TCPListener, address string, key string) error {
(-)net/gobgp/files/patch-server_sockopt__openbsd.go (+16 lines)
Line 0 Link Here
1
--- server/sockopt_openbsd.go.orig	2018-02-09 18:45:43 UTC
2
+++ server/sockopt_openbsd.go
3
@@ -348,12 +348,11 @@ func saDelete(address string) error {
4
 }
5
 
6
 const (
7
-	TCP_MD5SIG       = 0x4 // TCP MD5 Signature (RFC2385)
8
 	IPV6_MINHOPCOUNT = 73  // Generalized TTL Security Mechanism (RFC5082)
9
 )
10
 
11
 func setsockoptTcpMD5Sig(fd int, address string, key string) error {
12
-	if err := syscall.SetsockoptInt(fd, syscall.IPPROTO_TCP, TCP_MD5SIG, 1); err != nil {
13
+	if err := syscall.SetsockoptInt(fd, syscall.IPPROTO_TCP, syscall.TCP_MD5SIG, 1); err != nil {
14
 		return os.NewSyscallError("setsockopt", err)
15
 	}
16
 	if len(key) > 0 {
(-)net/gobgp/pkg-descr (+7 lines)
Line 0 Link Here
1
GoBGP: BGP implementation in Go
2
3
GoBGP is an open source BGP implementation designed from scratch
4
for modern environment and implemented in a modern programming
5
language, the Go Programming Language.
6
7
WWW: https://github.com/osrg/gobgp

Return to bug 218678