osrg / goplane Goto Github PK
View Code? Open in Web Editor NEWan agent for configuring linux network stack via GoBGP
Home Page: http://osrg.github.io/gobgp/
an agent for configuring linux network stack via GoBGP
Home Page: http://osrg.github.io/gobgp/
Hi all! I get the following error when running demo.py
.
$ ./demo.py prepare
start install packages of test environment.
[localhost] local: apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
[localhost] local: sh -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
[localhost] local: apt-get update
[localhost] local: apt-get install -y --force-yes lxc-docker-1.3.2 bridge-utils
[localhost] local: ln -sf /usr/bin/docker.io /usr/local/bin/docker
[localhost] local: gpasswd -a `whoami` docker
[localhost] local: wget https://raw.github.com/jpetazzo/pipework/master/pipework -O /usr/local/bin/pipework
[localhost] local: chmod 755 /usr/local/bin/pipework
[localhost] local: docker pull osrg/gobgp
[localhost] local: cp Dockerfile ../../../
[localhost] local: cd ../../../ && docker build --no-cache -t goplane . && rm Dockerfile
Sending build context to Docker daemon 9.376 MB
Sending build context to Docker daemon
Step 0 : FROM osrg/gobgp
---> 7fb7fef47e6f
Step 1 : MAINTAINER ISHIDA Wataru <[email protected]>
---> Running in 7ccaf4d3159e
---> 964091afb0e3
Removing intermediate container 7ccaf4d3159e
Step 2 : COPY goplane /go/src/github.com/osrg/goplane/
---> a5b8b13ec4bc
Removing intermediate container 97db16ad3f70
Step 3 : RUN go install -a github.com/osrg/gobgp/gobgp
---> Running in d07150fd2ea8
2015/09/22 03:50:29 unexpected EOF
Fatal error: local() encountered an error (return code 1) while executing 'cd ../../../ && docker build --no-cache -t goplane . && rm Dockerfile'
The workaround for me is to simply comment out the Python method call to update_goplane():
and by hand run the following to finish the install without it timing out.
cd ../../../ && docker build --no-cache -t goplane . && rm Dockerfile
I looked to add a foo.Wait()
but I am not familiar with from fabric.api import local
which is used for:
def update_goplane():
local("cp Dockerfile ../../../")
local("cd ../../../ && docker build --no-cache -t goplane . && rm Dockerfile")
Figured its worth mentioning if someone could give it a go to see if its something in my environment or an issue.
Thanks for the great work! Adding another issue that bombs goplaned once I got it installed.
Hello,
Im trying to use GoPlane in a Fedora 25 using golang from fedora repos. GoBGP and GoBGPd was installed fine, but GoPlane didnt, as following:
[root@gobgp goplane]# go get github.com/osrg/goplane
# github.com/osrg/goplane/iptables
iptables/flowspec.go:176: cannot use arg (type *gobgpapi.Table) as type *gobgpapi.MonitorRibRequest in argument to client.MonitorRib
# github.com/osrg/goplane/netlink
netlink/dataplane.go:189: cannot use arg (type *gobgpapi.Table) as type *gobgpapi.MonitorRibRequest in argument to d.client.MonitorRib
netlink/virtualnetwork.go:469: cannot use arg (type *gobgpapi.Table) as type *gobgpapi.MonitorRibRequest in argument to n.client.MonitorRib
[root@gobgp goplane]# cd $GOPATH/src/github.com/osrg/goplane; glide install
[INFO] Downloading dependencies. Please wait...
[INFO] --> Found desired version locally github.com/armon/go-radix 4239b77079c7b5d1243b7b4736304ce8ddb6f0f2!
[INFO] --> Found desired version locally github.com/coreos/go-iptables 18855ec8acc0dd8dc2977fa5a446b0432b499707!
[INFO] --> Found desired version locally github.com/eapache/channels 47238d5aae8c0fefd518ef2bee46290909cf8263!
[INFO] --> Found desired version locally github.com/eapache/queue 44cc805cf13205b55f69e14bcb69867d1ae92f98!
[INFO] --> Found desired version locally github.com/fsnotify/fsnotify a904159b9206978bb6d53fcc7a769e5cd726c737!
[INFO] --> Found desired version locally github.com/golang/protobuf 4bd1920723d7b7c925de087aa32e2187708897f7!
[INFO] --> Found desired version locally github.com/hashicorp/hcl 372e8ddaa16fd67e371e9323807d056b799360af!
[INFO] --> Found desired version locally github.com/influxdata/influxdb 8c25f0104eba8c0060e44a489f9d549e7d6a7a4d!
[INFO] --> Found desired version locally github.com/jessevdk/go-flags f2785f5820ec967043de79c8be97edfc464ca745!
[INFO] --> Found desired version locally github.com/magiconair/properties b3b15ef068fd0b17ddf408a23669f20811d194d2!
[INFO] --> Found desired version locally github.com/mitchellh/mapstructure db1efb556f84b25a0a13a04aad883943538ad2e0!
[INFO] --> Found desired version locally github.com/pelletier/go-buffruneio df1e16fde7fc330a0ca68167c23bf7ed6ac31d6d!
[INFO] --> Found desired version locally github.com/pelletier/go-toml d1fa2118c12c44e4f5004da216d1efad10cb4924!
[INFO] --> Found desired version locally github.com/satori/go.uuid b061729afc07e77a8aa4fad0a2fd840958f1942a!
[INFO] --> Found desired version locally github.com/Sirupsen/logrus c078b1e43f58d563c74cebe63c85789e76ddb627!
[INFO] --> Found desired version locally github.com/spf13/afero 72b31426848c6ef12a7a8e216708cb0d1530f074!
[INFO] --> Found desired version locally github.com/spf13/cast d1139bab1c07d5ad390a65e7305876b3c1a8370b!
[INFO] --> Found desired version locally github.com/spf13/jwalterweatherman fa7ca7e836cf3a8bb4ebf799f472c12d7e903d66!
[INFO] --> Found desired version locally github.com/spf13/pflag 08b1a584251b5b62f458943640fc8ebd4d50aaa5!
[INFO] --> Found desired version locally github.com/spf13/viper 5ed0fc31f7f453625df314d8e66b9791e8d13003!
[INFO] --> Found desired version locally github.com/vishvananda/netlink 87909c6dada5cba3aa659144a40b1e575d79d625!
[INFO] --> Found desired version locally github.com/vishvananda/netns 2c9454e4fc6e2edc1a1c84e64ed3d6e662fb6991!
[INFO] --> Fetching updates for github.com/osrg/gobgp.
[INFO] --> Fetching google.golang.org/grpc.
[INFO] --> Fetching gopkg.in/tomb.v2.
[INFO] --> Fetching golang.org/x/sys.
[INFO] --> Fetching gopkg.in/yaml.v2.
[INFO] --> Fetching golang.org/x/net.
[INFO] --> Fetching golang.org/x/text.
[WARN] Unable to checkout gopkg.in/yaml.v2
[ERROR] Update failed for gopkg.in/yaml.v2: Cannot detect VCS
[WARN] Unable to checkout gopkg.in/tomb.v2
[ERROR] Update failed for gopkg.in/tomb.v2: Cannot detect VCS
[WARN] Unable to checkout golang.org/x/text
[ERROR] Update failed for golang.org/x/text: Cannot detect VCS
[WARN] Unable to checkout golang.org/x/net
[ERROR] Update failed for golang.org/x/net: Cannot detect VCS
[WARN] Unable to checkout google.golang.org/grpc
[ERROR] Update failed for google.golang.org/grpc: Cannot detect VCS
[WARN] Unable to checkout golang.org/x/sys
[ERROR] Update failed for golang.org/x/sys: Cannot detect VCS
[ERROR] Failed to install: Cannot detect VCS
Cannot detect VCS
Cannot detect VCS
Cannot detect VCS
Cannot detect VCS
Cannot detect VCS
What can I do to install? After this, how can I use GoPlane with GoBGP to control Linux routes (Instead using zebra to do this)?
Thanks!
uname -a
Linux c 3.16.0-77-generic #99~14.04.1-Ubuntu SMP Tue Jun 28 19:17:10 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
I had to change goplaned to goplane inside goplane/test/iptables/demo.py, otherwise prepare
fails.
Similar in goplane/test/iptables/Dockerfile I changed goplane/goplaned to goplane.
sudo ./demo.py prepare
and sudo ./demo.py
are completed without errors, but in the logs I see "address already in use" errors
cat /tmp/goplane/g1/goplane.log
time="2018-02-01T14:02:37Z" level=error msg="Invalid dataplane type(). dataplane engine can't be started"
time="2018-02-01T14:02:37Z" level=warning msg="listen failed" Error="listen tcp :50051: bind: address already in use" Key=":50051" Topic=grpc
time="2018-02-01T14:02:37Z" level=info msg="cleared iptables chain: FORWARD, table: filter"
cat /tmp/goplane/g1/gobgpd.log
time="2018-02-01T14:02:37Z" level=info msg="gobgpd started"
time="2018-02-01T14:02:37Z" level=warning msg="listen failed" Error="listen tcp :50051: bind: address already in use" Key=":50051" Topic=grpc
time="2018-02-01T14:02:37Z" level=info msg="listen tcp 127.0.0.1:6060: bind: address already in use"
time="2018-02-01T14:02:37Z" level=info msg="Finished reading the config file" Topic=Config
time="2018-02-01T14:02:37Z" level=fatal msg="failed to set global config: listen tcp4 0.0.0.0:179: bind: address already in use"
time="2018-02-01T14:02:54Z" level=debug msg="state changed" Key=192.168.10.3 Topic=Peer new=BGP_FSM_OPENSENT old=BGP_FSM_ACTIVE reason=new-connection
time="2018-02-01T14:02:54Z" level=debug msg="state changed" Key=192.168.10.3 Topic=Peer new=BGP_FSM_OPENCONFIRM old=BGP_FSM_OPENSENT reason=open-msg-received
time="2018-02-01T14:02:54Z" level=info msg="Peer Up" Key=192.168.10.3 State=BGP_FSM_OPENCONFIRM Topic=Peer
time="2018-02-01T14:02:54Z" level=debug msg="state changed" Key=192.168.10.3 Topic=Peer new=BGP_FSM_ESTABLISHED old=BGP_FSM_OPENCONFIRM reason=open-msg-negotiated
time="2018-02-01T14:03:24Z" level=debug msg=sent Key=192.168.10.3 State=BGP_FSM_ESTABLISHED Topic=Peer data="&{{[] 19 4} 0x10e34f8}"
time="2018-02-01T14:03:54Z" level=debug msg=sent Key=192.168.10.3 State=BGP_FSM_ESTABLISHED Topic=Peer data="&{{[] 19 4} 0x10e34f8}"
time="2018-02-01T14:04:24Z" level=debug msg=sent Key=192.168.10.3 State=BGP_FSM_ESTABLISHED Topic=Peer data="&{{[] 19 4} 0x10e34f8}"
time="2018-02-01T14:04:54Z" level=debug msg=sent Key=192.168.10.3 State=BGP_FSM_ESTABLISHED Topic=Peer data="&{{[] 19 4} 0x10e34f8}"
time="2018-02-01T14:05:24Z" level=debug msg=sent Key=192.168.10.3 State=BGP_FSM_ESTABLISHED Topic=Peer data="&{{[] 19 4} 0x10e34f8}"
time="2018-02-01T14:05:54Z" level=debug msg=sent Key=192.168.10.3 State=BGP_FSM_ESTABLISHED Topic=Peer data="&{{[] 19 4} 0x10e34f8}"
time="2018-02-01T14:06:24Z" level=debug msg=sent Key=192.168.10.3 State=BGP_FSM_ESTABLISHED Topic=Peer data="&{{[] 19 4} 0x10e34f8}"
time="2018-02-01T14:06:54Z" level=debug msg=sent Key=192.168.10.3 State=BGP_FSM_ESTABLISHED Topic=Peer data="&{{[] 19 4} 0x10e34f8}"
time="2018-02-01T14:07:24Z" level=debug msg=sent Key=192.168.10.3 State=BGP_FSM_ESTABLISHED Topic=Peer data="&{{[] 19 4} 0x10e34f8}"
time="2018-02-01T14:07:54Z" level=debug msg=sent Key=192.168.10.3 State=BGP_FSM_ESTABLISHED Topic=Peer data="&{{[] 19 4} 0x10e34f8}"
time="2018-02-01T14:08:24Z" level=debug msg=sent Key=192.168.10.3 State=BGP_FSM_ESTABLISHED Topic=Peer data="&{{[] 19 4} 0x10e34f8}"
time="2018-02-01T14:08:54Z" level=debug msg=sent Key=192.168.10.3 State=BGP_FSM_ESTABLISHED Topic=Peer data="&{{[] 19 4} 0x10e34f8}"
time="2018-02-01T14:09:24Z" level=debug msg=sent Key=192.168.10.3 State=BGP_FSM_ESTABLISHED Topic=Peer data="&{{[] 19 4} 0x10e34f8}"
time="2018-02-01T14:09:54Z" level=debug msg=sent Key=192.168.10.3 State=BGP_FSM_ESTABLISHED Topic=Peer data="&{{[] 19 4} 0x10e34f8}"
time="2018-02-01T14:10:24Z" level=debug msg=sent Key=192.168.10.3 State=BGP_FSM_ESTABLISHED Topic=Peer data="&{{[] 19 4} 0x10e34f8}"
time="2018-02-01T14:10:54Z" level=debug msg=sent Key=192.168.10.3 State=BGP_FSM_ESTABLISHED Topic=Peer data="&{{[] 19 4} 0x10e34f8}"
time="2018-02-01T14:11:24Z" level=debug msg=sent Key=192.168.10.3 State=BGP_FSM_ESTABLISHED Topic=Peer data="&{{[] 19 4} 0x10e34f8}"
time="2018-02-01T14:11:54Z" level=debug msg=sent Key=192.168.10.3 State=BGP_FSM_ESTABLISHED Topic=Peer data="&{{[] 19 4} 0x10e34f8}"
Hi guys,
I am just wondering if this project is still under maintained ? And how should I use this with gobgpd together so that I would be relying on FRR or Quagga to interact with kernel FIB ? I did not find specific documentation regarding integration goplane and gobgpd
Thanks in advance
Hi, guys!
Nice job with iptables management over flow spec! I've finished similar project https://github.com/pavel-odintsov/FlowAcl it could be interesting for you.
Hi, expert.
I try to play goplane evpn/vxlan demo - 'evpn_vxlan_test.py' on my virtual machine, but it doesn't work well.
The OS I use is Ubuntu 16.04 (xenial)
I attach an error message when I run even_vxlan_test.py
below.
Do you know any solution for fixing this problem?
root@ubuntu-xenial:~/.golang/src/github.com/osrg/goplane# PYTHONPATH=$GOPLANE/test python $GOPLANE/test/netlink/evpn_vxlan_test.py
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/json?all=1&limit=-1&trunc_cmd=0&size=0 HTTP/1.1" 200 3
DEBUG:requests.packages.urllib3.connectionpool:"POST /v1.24/containers/create?name=g1 HTTP/1.1" 201 90
DEBUG:requests.packages.urllib3.connectionpool:"POST /v1.24/containers/g1/start HTTP/1.1" 204 0
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/g1/json HTTP/1.1" 200 None
DEBUG:nsenter:Entering net namespace 21223
DEBUG:nsenter:Leaving net namespace 21223
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/json?all=1&limit=-1&trunc_cmd=0&size=0 HTTP/1.1" 200 535
DEBUG:requests.packages.urllib3.connectionpool:"POST /v1.24/containers/create?name=g2 HTTP/1.1" 201 90
DEBUG:requests.packages.urllib3.connectionpool:"POST /v1.24/containers/g2/start HTTP/1.1" 204 0
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/g2/json HTTP/1.1" 200 None
DEBUG:nsenter:Entering net namespace 21256
DEBUG:nsenter:Leaving net namespace 21256
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/json?all=1&limit=-1&trunc_cmd=0&size=0 HTTP/1.1" 200 1068
DEBUG:requests.packages.urllib3.connectionpool:"POST /v1.24/containers/create?name=g3 HTTP/1.1" 201 90
DEBUG:requests.packages.urllib3.connectionpool:"POST /v1.24/containers/g3/start HTTP/1.1" 204 0
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/g3/json HTTP/1.1" 200 None
DEBUG:nsenter:Entering net namespace 21291
DEBUG:nsenter:Leaving net namespace 21291
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/json?all=1&limit=-1&trunc_cmd=0&size=0 HTTP/1.1" 200 1591
DEBUG:requests.packages.urllib3.connectionpool:"POST /v1.24/containers/create?name=h1 HTTP/1.1" 201 90
DEBUG:requests.packages.urllib3.connectionpool:"POST /v1.24/containers/h1/start HTTP/1.1" 204 0
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/h1/json HTTP/1.1" 200 None
DEBUG:nsenter:Entering net namespace 21327
DEBUG:nsenter:Leaving net namespace 21327
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/json?all=1&limit=-1&trunc_cmd=0&size=0 HTTP/1.1" 200 1989
DEBUG:requests.packages.urllib3.connectionpool:"POST /v1.24/containers/create?name=h2 HTTP/1.1" 201 90
DEBUG:requests.packages.urllib3.connectionpool:"POST /v1.24/containers/h2/start HTTP/1.1" 204 0
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/h2/json HTTP/1.1" 200 None
DEBUG:nsenter:Entering net namespace 21363
DEBUG:nsenter:Leaving net namespace 21363
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/json?all=1&limit=-1&trunc_cmd=0&size=0 HTTP/1.1" 200 None
DEBUG:requests.packages.urllib3.connectionpool:"POST /v1.24/containers/create?name=h3 HTTP/1.1" 201 90
DEBUG:requests.packages.urllib3.connectionpool:"POST /v1.24/containers/h3/start HTTP/1.1" 204 0
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/h3/json HTTP/1.1" 200 None
DEBUG:nsenter:Entering net namespace 21403
DEBUG:nsenter:Leaving net namespace 21403
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/json?all=1&limit=-1&trunc_cmd=0&size=0 HTTP/1.1" 200 None
DEBUG:requests.packages.urllib3.connectionpool:"POST /v1.24/containers/create?name=j1 HTTP/1.1" 201 90
DEBUG:requests.packages.urllib3.connectionpool:"POST /v1.24/containers/j1/start HTTP/1.1" 204 0
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/j1/json HTTP/1.1" 200 None
DEBUG:nsenter:Entering net namespace 21443
DEBUG:nsenter:Leaving net namespace 21443
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/json?all=1&limit=-1&trunc_cmd=0&size=0 HTTP/1.1" 200 None
DEBUG:requests.packages.urllib3.connectionpool:"POST /v1.24/containers/create?name=j2 HTTP/1.1" 201 90
DEBUG:requests.packages.urllib3.connectionpool:"POST /v1.24/containers/j2/start HTTP/1.1" 204 0
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/j2/json HTTP/1.1" 200 None
DEBUG:nsenter:Entering net namespace 21493
DEBUG:nsenter:Leaving net namespace 21493
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/json?all=1&limit=-1&trunc_cmd=0&size=0 HTTP/1.1" 200 None
DEBUG:requests.packages.urllib3.connectionpool:"POST /v1.24/containers/create?name=j3 HTTP/1.1" 201 90
DEBUG:requests.packages.urllib3.connectionpool:"POST /v1.24/containers/j3/start HTTP/1.1" 204 0
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/j3/json HTTP/1.1" 200 None
DEBUG:nsenter:Entering net namespace 21532
DEBUG:nsenter:Leaving net namespace 21532
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/g1/json HTTP/1.1" 200 None
DEBUG:nsenter:Entering net namespace 21223
DEBUG:nsenter:Leaving net namespace 21223
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/g2/json HTTP/1.1" 200 None
DEBUG:nsenter:Entering net namespace 21256
DEBUG:nsenter:Leaving net namespace 21256
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/g3/json HTTP/1.1" 200 None
DEBUG:nsenter:Entering net namespace 21291
DEBUG:nsenter:Leaving net namespace 21291
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/g1/json HTTP/1.1" 200 None
DEBUG:nsenter:Entering net namespace 21223
DEBUG:nsenter:Leaving net namespace 21223
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/h1/json HTTP/1.1" 200 None
DEBUG:nsenter:Entering net namespace 21327
DEBUG:nsenter:Leaving net namespace 21327
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/g2/json HTTP/1.1" 200 None
DEBUG:nsenter:Entering net namespace 21256
DEBUG:nsenter:Leaving net namespace 21256
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/h2/json HTTP/1.1" 200 None
DEBUG:nsenter:Entering net namespace 21363
DEBUG:nsenter:Leaving net namespace 21363
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/g3/json HTTP/1.1" 200 None
DEBUG:nsenter:Entering net namespace 21291
DEBUG:nsenter:Leaving net namespace 21291
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/h3/json HTTP/1.1" 200 None
DEBUG:nsenter:Entering net namespace 21403
DEBUG:nsenter:Leaving net namespace 21403
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/g1/json HTTP/1.1" 200 None
DEBUG:nsenter:Entering net namespace 21223
DEBUG:nsenter:Leaving net namespace 21223
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/j1/json HTTP/1.1" 200 None
DEBUG:nsenter:Entering net namespace 21443
DEBUG:nsenter:Leaving net namespace 21443
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/g2/json HTTP/1.1" 200 None
DEBUG:nsenter:Entering net namespace 21256
DEBUG:nsenter:Leaving net namespace 21256
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/j2/json HTTP/1.1" 200 None
DEBUG:nsenter:Entering net namespace 21493
DEBUG:nsenter:Leaving net namespace 21493
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/g3/json HTTP/1.1" 200 None
DEBUG:nsenter:Entering net namespace 21291
DEBUG:nsenter:Leaving net namespace 21291
DEBUG:requests.packages.urllib3.connectionpool:"GET /v1.24/containers/j3/json HTTP/1.1" 200 None
DEBUG:nsenter:Entering net namespace 21532
DEBUG:nsenter:Leaving net namespace 21532
EEDEBUG:root:Network Next Hop AS_PATH Age Attrs
*> [type:macadv][rd:0:0][esi:single-homed][etag:10][mac:aa:aa:aa:aa:aa:01][ip:<nil>][labels:[10]]0.0.0.0 00:04:27 [{Origin: i} {Extcomms: [VXLAN]}]
*> [type:macadv][rd:0:0][esi:single-homed][etag:10][mac:c6:35:fe:a1:40:85][ip:<nil>][labels:[10]]0.0.0.0 00:04:27 [{Origin: i} {Extcomms: [VXLAN]}]
*> [type:macadv][rd:0:0][esi:single-homed][etag:20][mac:aa:aa:aa:aa:aa:01][ip:<nil>][labels:[20]]0.0.0.0 00:04:26 [{Origin: i} {Extcomms: [VXLAN]}]
*> [type:macadv][rd:0:0][esi:single-homed][etag:20][mac:f2:d2:d5:a3:36:b1][ip:<nil>][labels:[20]]0.0.0.0 00:04:27 [{Origin: i} {Extcomms: [VXLAN]}]
*> [type:multicast][rd:65000:10][etag:10][ip:192.168.0.1]0.0.0.0 00:04:27 [{Origin: i} {Pmsi: type: ingress-repl, label: 0, tunnel-id: 192.168.0.1} {Extcomms: [65000:10]}]
*> [type:multicast][rd:65000:20][etag:20][ip:192.168.0.1]0.0.0.0 00:04:27 [{Origin: i} {Pmsi: type: ingress-repl, label: 0, tunnel-id: 192.168.0.1} {Extcomms: [65000:20]}]
.
======================================================================
ERROR: test_01_neighbor_established (evpn_vxlan_test.Test)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/root/.golang/src/github.com/osrg/goplane/test/netlink/evpn_vxlan_test.py", line 97, in test_01_neighbor_established
raise Exception('timeout')
Exception: timeout
-------------------- >> begin captured stdout << ---------------------
[localhost] local: docker exec g1 gobgp neighbor -j
[localhost] local: docker exec g1 gobgp neighbor -j
[localhost] local: docker exec g1 gobgp neighbor -j
[localhost] local: docker exec g1 gobgp neighbor -j
[localhost] local: docker exec g1 gobgp neighbor -j
[localhost] local: docker exec g1 gobgp neighbor -j
[localhost] local: docker exec g1 gobgp neighbor -j
[localhost] local: docker exec g1 gobgp neighbor -j
[localhost] local: docker exec g1 gobgp neighbor -j
[localhost] local: docker exec g1 gobgp neighbor -j
[localhost] local: docker exec g1 gobgp neighbor -j
[localhost] local: docker exec g1 gobgp neighbor -j
[localhost] local: docker exec g1 gobgp neighbor -j
[localhost] local: docker exec g1 gobgp neighbor -j
[localhost] local: docker exec g1 gobgp neighbor -j
[localhost] local: docker exec g1 gobgp neighbor -j
[localhost] local: docker exec g1 gobgp neighbor -j
[localhost] local: docker exec g1 gobgp neighbor -j
[localhost] local: docker exec g1 gobgp neighbor -j
[localhost] local: docker exec g1 gobgp neighbor -j
--------------------- >> end captured stdout << ----------------------
-------------------- >> begin captured logging << --------------------
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/json?all=1&limit=-1&trunc_cmd=0&size=0 HTTP/1.1" 200 3
requests.packages.urllib3.connectionpool: DEBUG: "POST /v1.24/containers/create?name=g1 HTTP/1.1" 201 90
requests.packages.urllib3.connectionpool: DEBUG: "POST /v1.24/containers/g1/start HTTP/1.1" 204 0
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/g1/json HTTP/1.1" 200 None
nsenter: DEBUG: Entering net namespace 21223
nsenter: DEBUG: Leaving net namespace 21223
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/json?all=1&limit=-1&trunc_cmd=0&size=0 HTTP/1.1" 200 535
requests.packages.urllib3.connectionpool: DEBUG: "POST /v1.24/containers/create?name=g2 HTTP/1.1" 201 90
requests.packages.urllib3.connectionpool: DEBUG: "POST /v1.24/containers/g2/start HTTP/1.1" 204 0
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/g2/json HTTP/1.1" 200 None
nsenter: DEBUG: Entering net namespace 21256
nsenter: DEBUG: Leaving net namespace 21256
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/json?all=1&limit=-1&trunc_cmd=0&size=0 HTTP/1.1" 200 1068
requests.packages.urllib3.connectionpool: DEBUG: "POST /v1.24/containers/create?name=g3 HTTP/1.1" 201 90
requests.packages.urllib3.connectionpool: DEBUG: "POST /v1.24/containers/g3/start HTTP/1.1" 204 0
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/g3/json HTTP/1.1" 200 None
nsenter: DEBUG: Entering net namespace 21291
nsenter: DEBUG: Leaving net namespace 21291
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/json?all=1&limit=-1&trunc_cmd=0&size=0 HTTP/1.1" 200 1591
requests.packages.urllib3.connectionpool: DEBUG: "POST /v1.24/containers/create?name=h1 HTTP/1.1" 201 90
requests.packages.urllib3.connectionpool: DEBUG: "POST /v1.24/containers/h1/start HTTP/1.1" 204 0
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/h1/json HTTP/1.1" 200 None
nsenter: DEBUG: Entering net namespace 21327
nsenter: DEBUG: Leaving net namespace 21327
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/json?all=1&limit=-1&trunc_cmd=0&size=0 HTTP/1.1" 200 1989
requests.packages.urllib3.connectionpool: DEBUG: "POST /v1.24/containers/create?name=h2 HTTP/1.1" 201 90
requests.packages.urllib3.connectionpool: DEBUG: "POST /v1.24/containers/h2/start HTTP/1.1" 204 0
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/h2/json HTTP/1.1" 200 None
nsenter: DEBUG: Entering net namespace 21363
nsenter: DEBUG: Leaving net namespace 21363
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/json?all=1&limit=-1&trunc_cmd=0&size=0 HTTP/1.1" 200 None
requests.packages.urllib3.connectionpool: DEBUG: "POST /v1.24/containers/create?name=h3 HTTP/1.1" 201 90
requests.packages.urllib3.connectionpool: DEBUG: "POST /v1.24/containers/h3/start HTTP/1.1" 204 0
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/h3/json HTTP/1.1" 200 None
nsenter: DEBUG: Entering net namespace 21403
nsenter: DEBUG: Leaving net namespace 21403
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/json?all=1&limit=-1&trunc_cmd=0&size=0 HTTP/1.1" 200 None
requests.packages.urllib3.connectionpool: DEBUG: "POST /v1.24/containers/create?name=j1 HTTP/1.1" 201 90
requests.packages.urllib3.connectionpool: DEBUG: "POST /v1.24/containers/j1/start HTTP/1.1" 204 0
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/j1/json HTTP/1.1" 200 None
nsenter: DEBUG: Entering net namespace 21443
nsenter: DEBUG: Leaving net namespace 21443
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/json?all=1&limit=-1&trunc_cmd=0&size=0 HTTP/1.1" 200 None
requests.packages.urllib3.connectionpool: DEBUG: "POST /v1.24/containers/create?name=j2 HTTP/1.1" 201 90
requests.packages.urllib3.connectionpool: DEBUG: "POST /v1.24/containers/j2/start HTTP/1.1" 204 0
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/j2/json HTTP/1.1" 200 None
nsenter: DEBUG: Entering net namespace 21493
nsenter: DEBUG: Leaving net namespace 21493
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/json?all=1&limit=-1&trunc_cmd=0&size=0 HTTP/1.1" 200 None
requests.packages.urllib3.connectionpool: DEBUG: "POST /v1.24/containers/create?name=j3 HTTP/1.1" 201 90
requests.packages.urllib3.connectionpool: DEBUG: "POST /v1.24/containers/j3/start HTTP/1.1" 204 0
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/j3/json HTTP/1.1" 200 None
nsenter: DEBUG: Entering net namespace 21532
nsenter: DEBUG: Leaving net namespace 21532
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/g1/json HTTP/1.1" 200 None
nsenter: DEBUG: Entering net namespace 21223
nsenter: DEBUG: Leaving net namespace 21223
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/g2/json HTTP/1.1" 200 None
nsenter: DEBUG: Entering net namespace 21256
nsenter: DEBUG: Leaving net namespace 21256
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/g3/json HTTP/1.1" 200 None
nsenter: DEBUG: Entering net namespace 21291
nsenter: DEBUG: Leaving net namespace 21291
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/g1/json HTTP/1.1" 200 None
nsenter: DEBUG: Entering net namespace 21223
nsenter: DEBUG: Leaving net namespace 21223
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/h1/json HTTP/1.1" 200 None
nsenter: DEBUG: Entering net namespace 21327
nsenter: DEBUG: Leaving net namespace 21327
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/g2/json HTTP/1.1" 200 None
nsenter: DEBUG: Entering net namespace 21256
nsenter: DEBUG: Leaving net namespace 21256
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/h2/json HTTP/1.1" 200 None
nsenter: DEBUG: Entering net namespace 21363
nsenter: DEBUG: Leaving net namespace 21363
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/g3/json HTTP/1.1" 200 None
nsenter: DEBUG: Entering net namespace 21291
nsenter: DEBUG: Leaving net namespace 21291
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/h3/json HTTP/1.1" 200 None
nsenter: DEBUG: Entering net namespace 21403
nsenter: DEBUG: Leaving net namespace 21403
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/g1/json HTTP/1.1" 200 None
nsenter: DEBUG: Entering net namespace 21223
nsenter: DEBUG: Leaving net namespace 21223
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/j1/json HTTP/1.1" 200 None
nsenter: DEBUG: Entering net namespace 21443
nsenter: DEBUG: Leaving net namespace 21443
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/g2/json HTTP/1.1" 200 None
nsenter: DEBUG: Entering net namespace 21256
nsenter: DEBUG: Leaving net namespace 21256
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/j2/json HTTP/1.1" 200 None
nsenter: DEBUG: Entering net namespace 21493
nsenter: DEBUG: Leaving net namespace 21493
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/g3/json HTTP/1.1" 200 None
nsenter: DEBUG: Entering net namespace 21291
nsenter: DEBUG: Leaving net namespace 21291
requests.packages.urllib3.connectionpool: DEBUG: "GET /v1.24/containers/j3/json HTTP/1.1" 200 None
nsenter: DEBUG: Entering net namespace 21532
nsenter: DEBUG: Leaving net namespace 21532
--------------------- >> end captured logging << ---------------------
======================================================================
ERROR: test_02_ping_check (evpn_vxlan_test.Test)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/root/.golang/src/github.com/osrg/goplane/test/netlink/evpn_vxlan_test.py", line 106, in test_02_ping_check
raise Exception('timeout')
Exception: timeout
-------------------- >> begin captured stdout << ---------------------
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
[localhost] local: docker exec h1 bash -c 'ping -c 1 10.10.10.3 2>&1 > /dev/null && echo true || echo false'
--------------------- >> end captured stdout << ----------------------
----------------------------------------------------------------------
Ran 3 tests in 273.745s
FAILED (errors=2)
regards,
Hi,
I couldn't integrate goplane with iptables, and the test example doesn't work.
I tried to understand how configure the goplane.conf file , but the documentation is poor.
Thanks
Alejandro
Hi all! When running ./demo.py
I get a nil pointer panic when the FSM state reaches Established. The workaround I used was to comment out a chunk of code in osrg/gobgp
I listed below.
DEBU[0000] start sniff eth3
DEBU[0000] monitoring: eth3, index: 50 Etag=20 Topic=VirtualNetwork
DEBU[0007] accepted a new passive connection from 192.168.10.2
DEBU[0007] state changed Key=192.168.10.2 Topic=Peer new=BGP_FSM_OPENSENT old=BGP_FSM_ACTIVE
DEBU[0007] received Key=192.168.10.2 Topic=Peer data=&{Header:{Marker:[] Len:51 Type:1} Body:0xc8203d8780}
DEBU[0007] state changed Key=192.168.10.2 Topic=Peer new=BGP_FSM_OPENCONFIRM old=BGP_FSM_OPENSENT
INFO[0007] Peer Up Key=192.168.10.2 State=BGP_FSM_OPENCONFIRM Topic=Peer
DEBU[0007] state changed Key=192.168.10.2 Topic=Peer new=BGP_FSM_ESTABLISHED old=BGP_FSM_OPENCONFIRM
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x0 pc=0x5100ae]
goroutine 24 [running]:
github.com/osrg/gobgp/server.(*BgpServer).handleFSMMessage(0xc8200edc00, 0xc820172680, 0xc8203bcba0, 0xc82005b8c0, 0x0, 0x0, 0x0)
/home/brent/go/src/github.com/osrg/gobgp/server/server.go:799 +0x84e
github.com/osrg/gobgp/server.(*BgpServer).Serve(0xc8200edc00)
/home/brent/go/src/github.com/osrg/gobgp/server/server.go:420 +0x3d21
created by main.main
/home/brent/go/src/github.com/osrg/goplane/goplaned/main.go:152 +0x8ba
goroutine 1 [select]:
main.main()
/home/brent/go/src/github.com/osrg/goplane/goplaned/main.go:164 +0x234f
goroutine 17 [syscall, locked to thread]:
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1696 +0x1
goroutine 22 [select, locked to thread]:
runtime.gopark(0xc2b690, 0xc82001cf28, 0xaf7538, 0x6, 0x412418, 0x2)
/usr/local/go/src/runtime/proc.go:185 +0x163
runtime.selectgoImpl(0xc82001cf28, 0x0, 0x18)
/usr/local/go/src/runtime/select.go:392 +0xa64
runtime.selectgo(0xc82001cf28)
/usr/local/go/src/runtime/select.go:212 +0x12
runtime.ensureSigM.func1()
/usr/local/go/src/runtime/signal1_unix.go:227 +0x353
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1696 +0x1
The workaround I found to avoid the nil reference was to comment out the following in osrg/gobgp in the file server.go
. With that commented out the Goplane demo works. Not sure if there is anything that could be changed in Goplane to resolve the issue but figured it made sense to open it here since (de)/serializing EVPN seems to work great in osrg/gobgp
if ch := server.bmpClient.send(); ch != nil {
bm := &broadcastBMPMsg{
ch: ch,
msgList: []*bgp.BMPMessage{bmpPeerRoute(bgp.BMP_PEER_TYPE_GLOBAL, false, 0, peer.peerInfo, time.Now().Unix(), m)},
}
server.broadcastMsgs = append(server.broadcastMsgs, bm)
}
Thanks and let me know if I can provide any more information that can assist!
I ran the vxlan demo according to the instructions and it shows an rd of 0:0 for the macadv routes. The multicast routes have the 65000:10 and 20 rd's as expected. It still seems to work properly and the 'h' domain remains separate from the 'j', but it does seem a bit weird. Is this a change in behavior?
[root@host-10-64-247-29 ~]# docker exec -it g1 gobgp global rib -a evpn
Network Next Hop AS_PATH Age Attrs
*> [type:macadv][rd:0:0][esi:single-homed][etag:10][mac:aa:aa:aa:aa:aa:01][ip:][labels:[10]]0.0.0.0 00:02:04 [{Origin: i} {Extcomms: [VXLAN]}]
*> [type:macadv][rd:0:0][esi:single-homed][etag:10][mac:aa:aa:aa:aa:aa:02][ip:][labels:[10]]192.168.10.4 00:02:04 [{Origin: i} {LocalPref: 100} {Originator: 192.168.0.2} {ClusterList: [1.1.1.1]} {Extcomms: [VXLAN]}]
*> [type:macadv][rd:0:0][esi:single-homed][etag:20][mac:66:c2:bd:65:a0:ac][ip:][labels:[20]]192.168.10.5 00:03:47 [{Origin: i} {LocalPref: 100} {Originator: 192.168.0.3} {ClusterList: [1.1.1.1]} {Extcomms: [VXLAN]}]
*> [type:macadv][rd:0:0][esi:single-homed][etag:20][mac:aa:aa:aa:aa:aa:01][ip:][labels:[20]]0.0.0.0 00:09:41 [{Origin: i} {Extcomms: [VXLAN]}]
*> [type:macadv][rd:0:0][esi:single-homed][etag:20][mac:aa:aa:aa:aa:aa:02][ip:][labels:[20]]192.168.10.4 00:09:41 [{Origin: i} {LocalPref: 100} {Originator: 192.168.0.2} {ClusterList: [1.1.1.1]} {Extcomms: [VXLAN]}]
*> [type:multicast][rd:65000:10][etag:10][ip:192.168.0.1]0.0.0.0 16:44:45 [{Origin: i} {Pmsi: type: ingress-repl, label: 0, tunnel-id: 192.168.0.1} {Extcomms: [65000:10]}]
*> [type:multicast][rd:65000:10][etag:10][ip:192.168.0.2]192.168.10.4 16:44:42 [{Origin: i} {LocalPref: 100} {Originator: 192.168.0.2} {ClusterList: [1.1.1.1]} {Extcomms: [65000:10]} {Pmsi: type: ingress-repl, label: 0, tunnel-id: 192.168.0.2}]
*> [type:multicast][rd:65000:10][etag:10][ip:192.168.0.3]192.168.10.5 16:44:40 [{Origin: i} {LocalPref: 100} {Originator: 192.168.0.3} {ClusterList: [1.1.1.1]} {Extcomms: [65000:10]} {Pmsi: type: ingress-repl, label: 0, tunnel-id: 192.168.0.3}]
*> [type:multicast][rd:65000:20][etag:20][ip:192.168.0.1]0.0.0.0 16:44:45 [{Origin: i} {Pmsi: type: ingress-repl, label: 0, tunnel-id: 192.168.0.1} {Extcomms: [65000:20]}]
*> [type:multicast][rd:65000:20][etag:20][ip:192.168.0.2]192.168.10.4 16:44:42 [{Origin: i} {LocalPref: 100} {Originator: 192.168.0.2} {ClusterList: [1.1.1.1]} {Extcomms: [65000:20]} {Pmsi: type: ingress-repl, label: 0, tunnel-id: 192.168.0.2}]
*> [type:multicast][rd:65000:20][etag:20][ip:192.168.0.3]192.168.10.5 16:44:40 [{Origin: i} {LocalPref: 100} {Originator: 192.168.0.3} {ClusterList: [1.1.1.1]} {Extcomms: [65000:20]} {Pmsi: type: ingress-repl, label: 0, tunnel-id: 192.168.0.3}]
please use new name: github.com/sirupsen/logrus
I follow this doc to try the demo : https://github.com/osrg/goplane/blob/master/test/netlink/README.md
However after issuing the glide install
I get the following error:
Failed to set version on github.com/osrg/gobgp to ce12b084250bfd8b8ea86a62c88f43e72b0dae38: Unable to update checked out version
go get github.com/osrg/goplane/
can't load package: package github.com/osrg/goplane: case-insensitive import collision: "github.com/Sirupsen/logrus" and "github.com/sirupsen/logrus"
This may be because I have the latest gobgp. I am trying to work around, but seeing some other issues
Hello!
evpn_vxlan_test don't work for me
:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0837c09748d8 osrg/gobgp "/usr/bin/supervisord" 3 seconds ago Up 3 seconds j3
435b867adea9 osrg/gobgp "/usr/bin/supervisord" 7 seconds ago Up 6 seconds j2
1890ca16a0df osrg/gobgp "/usr/bin/supervisord" 10 seconds ago Up 9 seconds j1
a0e66dfc8715 osrg/gobgp "/usr/bin/supervisord" 14 seconds ago Up 13 seconds h3
26fa4181baff osrg/gobgp "/usr/bin/supervisord" 17 seconds ago Up 16 seconds h2
490c89af88d2 osrg/gobgp "/usr/bin/supervisord" 21 seconds ago Up 20 seconds h1
4098757a89d1 osrg/goplane "/usr/bin/supervisord" 25 seconds ago Up 24 seconds g3
06213029f0f8 osrg/goplane "/usr/bin/supervisord" 28 seconds ago Up 27 seconds g2
bbc4cca6434d osrg/goplane "/usr/bin/supervisord" 33 seconds ago Up 32 seconds g1
:~# docker exec -it g1 gobgp neighbor
Peer AS Up/Down State |#Advertised Received Accepted
192.168.10.3 65000 never Active | 0 0 0
192.168.10.4 65000 never Active | 0 0 0
:~# docker exec -it g2 gobgp neighbor
2017/02/02 08:31:43 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: dial tcp 127.0.0.1:50051: getsockopt: connection refused"; Reconnecting to {"127.0.0.1:50051" <nil>}
grpc: timed out when dialing
:~# docker exec -it g3 gobgp neighbor
2017/02/02 08:31:49 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: dial tcp 127.0.0.1:50051: getsockopt: connection refused"; Reconnecting to {"127.0.0.1:50051" <nil>}
grpc: timed out when dialing
could you help me?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.