summaryrefslogtreecommitdiffhomepage
path: root/api/grpc_server.go
AgeCommit message (Collapse)Author
2016-12-14policy: allow using invert condition in statementHiroshi Yokoi
Signed-off-by: Hiroshi Yokoi <yokoi.hiroshi@po.ntts.co.jp>
2016-12-10policy: ext-community and large-community can be included in conditionsHiroshi Yokoi
Signed-off-by: Hiroshi Yokoi <yokoi.hiroshi@po.ntts.co.jp>
2016-12-10server: don't assume (*api.Path).Nlri is ipv4 NLRIWataru Ishida
use (*api.Path).Family to decide how to decode (*api.Path).Nlri closes #1185 Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-12-04client: AddNeighbor API doesn't include apply-policy informationkishiguro
2016-11-23api: Update the grpc server to accept the local address and remote port from ↵Chris Stockton
the transport config This allows using the gobgp/client to send a transport config with a port number.
2016-11-21api: Fix client.AddNeighbor() API does not properly configure AFI/SAFI bugkishiguro
When we use gRPC API to add neighbor. Even if we specify, config.Neighbor.AfiSafis parameter, it is ignored in NewPeerFromConfigStruct(). Adding to that even if we fix the issue, NewNeighborFromAPIStruct() count Families twice. So resulting neighbor has duplicated Families configuration. This patch fixed both problems.
2016-11-18server: disable advertised number calculation with multiple neighborsFUJITA Tomonori
AdjRibOut isn't in memory so needs to be calculated on the fly. Doing such for multiple neighbors consumes too much CPU (especially there are lots of routes). Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-11-17config: simplify route-disposition configurationWataru Ishida
before: ```yaml actions: route-disposition: accept-route: true reject-route: false ``` after ```yaml action: router-disposition: accept-route ``` Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-11-14config/api: create admin-state typeWataru Ishida
align with session-state Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-11-14cli: use client libraryWataru Ishida
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-11-14client: add golang client libraryWataru Ishida
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-11-14config: use struct type instead of []byte for capability and open msgWataru Ishida
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-11-14policy: fix bug of policy with multiple statementsWataru Ishida
policy can have multiple statements. In each statement, when condition is matched, route-action is finally evaluated after actions with mods. When route-action is 'none', we contine to next statement if it exists. When route-action is 'accept' or 'reject', we stop proceeding. This patch fixes a bug that route-action can't be set to 'none' which means route-action always be set to 'accept' or 'reject' and can't proceed to the next statement. Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-11-05bmp: fix wrong monitoring policy type translationWataru Ishida
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-11-04support neighbor belongs to VRFWataru Ishida
$ gobgp vrf add red rd 100:100 rt both 100:100 $ gobgp neighbor add 10.0.0.1 as 2 vrf red $ gobgp vrf red neighbor Peer AS Up/Down State |#Advertised Received Accepted 10.0.0.1 2 never Active | 0 0 0 Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-11-03remove label allocation completelyFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-10-16cli/api: support getting table summary informationWataru Ishida
$ gobgp global rib summary -a ipv4 $ gobgp neighbor 10.0.0.1 local summary $ gobgp neighbor 10.0.0.1 adj-in summary $ gobgp neighbor 10.0.0.1 adj-out summary Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-10-10policy: support large-community match/actionWataru Ishida
close #1133 Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-10-08table: ensure compatibility with archs where int == int32Vincent Bernat
MED actions are expected to be int64 and AS are expected to be uint32. Use ParseInt/ParseUint instead of Atoi for those until the tests pass on ARM.
2016-10-04Allow creating a server with a user specified grpc server.Chris Stockton
2016-10-04cli: support specifying vrf-id when creating vrfWataru Ishida
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-09-30api: add id to VrfRequestFUJITA Tomonori
to support VRF ID for Zebra Protocol v3. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-09-29Support of ZAPI version 3 (handles VRF ID).kishiguro
2016-09-13server/table: fix a bug of vrf route injectionWataru Ishida
regression due to 43dc07d72353fc8bcb79a18a5739ea0a90dda6bb before: $ gobgp vrf add vrf01 rd 100:100 rt both 100:100 $ gobgp vrf vrf01 rib add 10.0.0.0/24 $ gobgp global rib -a ipv4 Network Next Hop AS_PATH Age Attrs *> 10.0.0.0/24 0.0.0.0 00:00:19 [{Origin: ?} {Extcomms: [100:100]}] after: $ gobgp vrf add vrf01 rd 100:100 rt both 100:100 $ gobgp vrf vrf01 rib add 10.0.0.0/24 $ gobgp global rib -a ipv4 Network not in table $ gobgp global rib -a vpnv4 Network Labels Next Hop AS_PATH Age Attrs *> 100:100:10.0.0.0/24 [16000] 0.0.0.0 00:00:19 [{Origin: ?} {Extcomms: [100:100]}] Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-08-26add RemoteRouterId to config.NeighborStateFUJITA Tomonori
Stop using config.NeighborState's Description in a hacky way for the remote Router Id. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-08-26zebra: add grpc apiFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-08-25api: publish ToPathApi(*table.Path)Wataru Ishida
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-08-25api/cli: kill cmd package custom path/destination structsWataru Ishida
reuse table package Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-08-25server/api: fix GetRib API to return sorted destinationWataru Ishida
the feature has been broken. Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-08-21api: enable to set/get UseMultiplePaths global settingWataru Ishida
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-08-17policy: support route-type conditionISHIDA Wataru
// match with routes locally generated $ gobgp policy statement s0 add condition route-type local // match with routes received from eBGP peers $ gobgp policy statement s0 add condition route-type external // match with routes received from iBGP peers $ gobgp policy statement s0 add condition route-type internal Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-08-16api: support address family filtering of MonitorRib APIISHIDA Wataru
the feature was somehow dropped Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-08-14support mrt table dump (TABLE_DUMPv2 format)FUJITA Tomonori
Only global rib dumping is supported for now. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-08-02api/cli: api/cli support for unnumbered bgpISHIDA Wataru
fron cli: ``` $ gobgp neighbor add interface eth1 as 65000 $ gobgp neighbor del interface eth1 $ gobgp neighbor eth1 Peer AS Up/Down State |#Advertised Received Accepted eth1 65000 00:00:05 Establ | 0 0 0 ``` Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-07-29api/cli: add LocalAddress to PeerConf structISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-07-29server: move default config setting logic inside BgpServer's methodsISHIDA Wataru
We have three ways to configure gobgp. config file, grpc api and native lib. Every methods eventually call (*server.BgpServer).Start() or (*server.BgpServer).AddNeighbor() when starting bgp server or adding neighbors. This commit moves default config setting logic inside them to remove redundant code in grpc_server.go and simplify the usage of native lib. Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-07-29config: curve out code specific to default neighbor config settingISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-07-29move grpc_server.go from server/ to api/FUJITA Tomonori
Now all gRPC code was moved to api/. server/ isn't dependent on gRPC anymore. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>