272 Commits
Author SHA1 Message Date
ISHIDA WataruandFUJITA Tomonori 94836fe9a9 cli: add command to show accepted/rejected routes
$ gobgp neighbor <remote addr> accepted
$ gobgp neighbor <remote addr> rejected

Signed-off-by: ISHIDA Wataru <[email protected]>
2015-10-02 03:30:29 +09:00
ISHIDA Wataru 40742a4194 server: give change to handle accepted conn before handling paths
Signed-off-by: ISHIDA Wataru <[email protected]>
2015-10-01 17:03:53 +09:00
FUJITA Tomonori f9300d8cfe server: set the length of connCh to 1
Handle heavy load.

Signed-off-by: FUJITA Tomonori <[email protected]>
2015-10-01 16:41:30 +09:00
ISHIDA WataruandFUJITA Tomonori d186fa6d01 server: fix bug of accepted route counting
refresh accepted route counter when soft reset

Signed-off-by: ISHIDA Wataru <[email protected]>
2015-10-01 16:35:12 +09:00
ISHIDA Wataru 38d8024065 server: play favorites with grpc requests
Signed-off-by: ISHIDA Wataru <[email protected]>
2015-09-30 16:27:56 +09:00
ISHIDA Wataru bbdfde029d peer: add accepted route counter
cut time of gobgp neighbor command

Signed-off-by: ISHIDA Wataru <[email protected]>
2015-09-30 16:20:32 +09:00
ISHIDA Wataru eaa7810893 server: kill LocalRib
Signed-off-by: ISHIDA Wataru <[email protected]>
2015-09-30 15:29:08 +09:00
ISHIDA Wataru b38d3f6723 zebra: enable to redistribute specific route type
Signed-off-by: ISHIDA Wataru <[email protected]>
2015-09-25 18:20:48 +09:00
ISHIDA Wataru fbed186687 zebra: enable implicit withdrawal
we don't have to disable implicit withdrawal for routes from zebra

Signed-off-by: ISHIDA Wataru <[email protected]>
2015-09-25 18:20:13 +09:00
ISHIDA WataruandFUJITA Tomonori ca96672dc6 server/table: assign mpls labels to locally generated vpn routes
Signed-off-by: ISHIDA Wataru <[email protected]>
2015-09-25 18:17:06 +09:00
ISHIDA Wataru e986668fc8 api: rename package/service name to gobgpapi
api/Grpc is too general for package/service name.
rename them to gobgpapi/GobgpApi.

Signed-off-by: ISHIDA Wataru <[email protected]>
2015-09-20 17:16:33 +09:00
Hiroshi Yokoi 0aa37e5e24 server: get zebra conf from file
Signed-off-by: Hiroshi Yokoi <[email protected]>
2015-09-17 18:41:18 +09:00
FUJITA Tomonori 5be31cce0d Add bmp support
Can be enabled like:

[Global]
  [Global.GlobalConfig]
    As = 64512
    RouterId = "10.0.255.254"

[BmpServers]
  [[BmpServers.BmpServerList]]
    [BmpServers.BmpServerList.BmpServerConfig]
      Address = "127.0.0.1"
      Port=11019

Signed-off-by: FUJITA Tomonori <[email protected]>
2015-09-13 22:39:21 +09:00
ISHIDA Wataru cf1965a963 api: enable injecting multiple routes at once
Signed-off-by: ISHIDA Wataru <[email protected]>
2015-09-10 13:58:22 +09:00
FUJITA Tomonori 5ae3e111f7 server: add mrt bgp4mp support
You can enable the feature like:

[Global]
  [Global.GlobalConfig]
    As = 64512
    RouterId = "10.0.255.254"
  [Global.Mrt]
    FileName = "update.dump"

Signed-off-by: FUJITA Tomonori <[email protected]>
2015-09-08 15:29:04 +09:00
ISHIDA Wataru d8dc45772c api: kill api.Capability
keep protobuf structures simple

Signed-off-by: ISHIDA Wataru <[email protected]>
2015-09-08 13:13:37 +09:00
ISHIDA Wataru 9298e5eeca *: kill bgp.NLRInfo and bgp.WithdrawnRoute
Signed-off-by: ISHIDA Wataru <[email protected]>
2015-09-08 13:13:34 +09:00
FUJITA Tomonori 9b20eb3111 server: go fmt
Somehow bad formatted code was merged.

Signed-off-by: FUJITA Tomonori <[email protected]>
2015-09-06 00:49:31 +09:00
FUJITA Tomonori c6caa73f1d server: silence verbose messages
Signed-off-by: FUJITA Tomonori <[email protected]>
2015-09-06 00:49:31 +09:00
FUJITA Tomonori e314f8150c use net.JoinHostPort()
Signed-off-by: FUJITA Tomonori <[email protected]>
2015-09-06 00:49:31 +09:00
FUJITA Tomonori 50d96889e8 server: support ransport.TransportConfig.LocalAddress for passive connect
Signed-off-by: FUJITA Tomonori <[email protected]>
2015-09-05 22:19:42 +09:00
tamihiroandFUJITA Tomonori c122933997 server: support Transport.TransportConfig.LocalAddress for active connect 2015-09-05 22:19:22 +09:00
FUJITA Tomonori d83a16ed00 improve multihop ttl support
if you don't specify ttl, then we use the OS-default ttl.

Signed-off-by: FUJITA Tomonori <[email protected]>
2015-09-02 22:25:51 +09:00
ISHIDA WataruandFUJITA Tomonori ac34370d4a *: another s/distribute/in
distribute-policy is deprecated name.
We chose to use the name in-policy.

Signed-off-by: ISHIDA Wataru <[email protected]>
2015-09-02 22:25:05 +09:00
ISHIDA WataruandFUJITA Tomonori 3313e8f8d6 server: guard against nil pointer dereference
non-route-server-client peers don't have local rib.

Reported-by: Pavel Odintsov <[email protected]>
Signed-off-by: ISHIDA Wataru <[email protected]>
2015-09-02 22:25:05 +09:00
FUJITA Tomonori 21e9049854 server: fix gobgp hang
gobgp asks for non existing thing (e.g. local rib for non route server
peer), gobgpd doesn't send anything so gobgp will hang up.

This fixes gobgpd to send an empty response.

Signed-off-by: FUJITA Tomonori <[email protected]>
2015-09-02 21:42:59 +09:00
Hiroshi Yokoi 78e2f93e2f zebra: use original nexthop
Signed-off-by: Hiroshi Yokoi <[email protected]>
2015-09-01 19:52:55 +09:00
Hiroshi Yokoi 459e5957f2 zebra: show metric and distance
Signed-off-by: Hiroshi Yokoi <[email protected]>
2015-09-01 19:42:02 +09:00
Hiroshi Yokoi cc51c48a49 zebra: distribute routes from zebra
Signed-off-by: Hiroshi Yokoi <[email protected]>
2015-09-01 19:42:02 +09:00
FUJITA Tomonori f8d437ec0e support multihop ttl
You can enable the feature like the following:

[Neighbors]
  [[Neighbors.NeighborList]]
    [Neighbors.NeighborList.NeighborConfig]
      PeerAs = 65001
      NeighborAddress = "10.0.255.1"
    [Neighbors.NeighborList.EbgpMultihop]
      [Neighbors.NeighborList.EbgpMultihop.EbgpMultihopConfig]
        Enabled = true
        MultihopTtl = 8

Signed-off-by: FUJITA Tomonori <[email protected]>
2015-09-01 13:23:52 +09:00
ISHIDA WataruandFUJITA Tomonori 375e1d65b2 server: support route reflector behavior
scenario_test is also added

Signed-off-by: ISHIDA Wataru <[email protected]>
2015-08-31 22:48:50 +09:00
FUJITA Tomonori 955409c37c rpki: support show the state of RPKI servers
Signed-off-by: FUJITA Tomonori <[email protected]>
2015-08-31 22:00:09 +09:00
FUJITA Tomonori 4f3f0468a1 mrt: inject properly uses AS number and RouterID
Currently, mrt inject wrongly use gobgpd's AS number and
RouterID. Instead use these in the dump file.

Signed-off-by: FUJITA Tomonori <[email protected]>
2015-08-29 13:17:46 +09:00
FUJITA Tomonori 46a99f289a server: check duplicate path attributes for ModPath request
Signed-off-by: FUJITA Tomonori <[email protected]>
2015-08-29 12:27:55 +09:00
FUJITA Tomonori 2ce0d48f2e zebra: just renaming
Use more appropriate names

Signed-off-by: FUJITA Tomonori <[email protected]>
2015-08-26 09:34:05 +09:00
FUJITA Tomonori 67dcfd267d zebra: merge gozebra
Seems that no good reason to have a separate repo for gozebra.

Signed-off-by: FUJITA Tomonori <[email protected]>
2015-08-23 21:33:55 +09:00
FUJITA Tomonori 998354dbb0 server: fix rpki ipv6 address connectivity
Signed-off-by: FUJITA Tomonori <[email protected]>
2015-08-21 11:31:42 +09:00
FUJITA Tomonori 13243a0703 speed up showing ipv6 routes
same as ipv4.

Signed-off-by: FUJITA Tomonori <[email protected]>
2015-08-21 11:05:09 +09:00
FUJITA Tomonori 859cedf477 server: fix for sorting adj-in/out routes
Signed-off-by: FUJITA Tomonori <[email protected]>
2015-08-20 13:42:38 +09:00
FUJITA Tomonori 09c66db7db rpki: fix deadlock bug
Same as commit 22b43f7ae7.

Signed-off-by: FUJITA Tomonori <[email protected]>
2015-08-19 23:06:44 +09:00
FUJITA Tomonori aa9af49518 config file support rpki configuration
Signed-off-by: FUJITA Tomonori <[email protected]>
2015-08-19 22:14:11 +09:00
FUJITA Tomonori 34c10c943f server: fix LOCAL_RIB sends back sorted ipv4 routes
Signed-off-by: FUJITA Tomonori <[email protected]>
2015-08-19 16:20:30 +09:00
FUJITA Tomonori 271d42a440 gobgp: improve the time to show routes
Signed-off-by: FUJITA Tomonori <[email protected]>
2015-08-19 14:54:14 +09:00
ISHIDA WataruandFUJITA Tomonori 2f1e599c75 vrf: advertise route-target constraint routes when adding a vrf
partial implementation of RFC4686

Signed-off-by: ISHIDA Wataru <[email protected]>
2015-08-19 13:29:33 +09:00
ISHIDA WataruandFUJITA Tomonori 79ed96fdc1 table: fix best path selection which considers local asn
TableManager.localAsn wasn't used.

Signed-off-by: ISHIDA Wataru <[email protected]>
2015-08-19 13:29:33 +09:00
ISHIDA WataruandFUJITA Tomonori c14a63575c table: withdraw self-generated vrfed routes when a vrf deleted
Signed-off-by: ISHIDA Wataru <[email protected]>
2015-08-19 13:29:33 +09:00
FUJITA Tomonori 22b43f7ae7 server: fix grpc deadlock
When grpc client stops reading, gobgpd becomes in deadlock because
gobgpd tries to write to grpc request's channel for a response but
nobody reads from the channel. This patch fixes this issue.

Another problem that this patch fixes is that grpc client reads
slowly, gobgpd would sleep on grpc request's channel for a
response. That should not happen. So instead grpc creates responses
first, then run goroutine to write the responses to the client.

Signed-off-by: FUJITA Tomonori <[email protected]>
2015-08-19 13:21:01 +09:00
ISHIDA Wataru 94ba9c23ee *: s/distribute/in
Signed-off-by: ISHIDA Wataru <[email protected]>
2015-08-18 10:40:01 +09:00
ISHIDA WataruandFUJITA Tomonori 56ca9eee5f api/cli: reuse api.Path in ModPathArguments
kill redundant lines

Signed-off-by: ISHIDA Wataru <[email protected]>
2015-08-13 20:15:54 +09:00
FUJITA Tomonori 6180ffb710 support rpki validation
Signed-off-by: FUJITA Tomonori <[email protected]>
2015-08-12 13:44:33 +09:00