// Code generated by protoc-gen-go-grpc. DO NOT EDIT.

package apipb

import (
	context "context"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
)

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7

// GobgpApiClient is the client API for GobgpApi service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type GobgpApiClient interface {
	StartBgp(ctx context.Context, in *StartBgpRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	StopBgp(ctx context.Context, in *StopBgpRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	GetBgp(ctx context.Context, in *GetBgpRequest, opts ...grpc.CallOption) (*GetBgpResponse, error)
	WatchEvent(ctx context.Context, in *WatchEventRequest, opts ...grpc.CallOption) (GobgpApi_WatchEventClient, error)
	AddPeer(ctx context.Context, in *AddPeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	DeletePeer(ctx context.Context, in *DeletePeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	ListPeer(ctx context.Context, in *ListPeerRequest, opts ...grpc.CallOption) (GobgpApi_ListPeerClient, error)
	UpdatePeer(ctx context.Context, in *UpdatePeerRequest, opts ...grpc.CallOption) (*UpdatePeerResponse, error)
	ResetPeer(ctx context.Context, in *ResetPeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	ShutdownPeer(ctx context.Context, in *ShutdownPeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	EnablePeer(ctx context.Context, in *EnablePeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	DisablePeer(ctx context.Context, in *DisablePeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	AddPeerGroup(ctx context.Context, in *AddPeerGroupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	DeletePeerGroup(ctx context.Context, in *DeletePeerGroupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	ListPeerGroup(ctx context.Context, in *ListPeerGroupRequest, opts ...grpc.CallOption) (GobgpApi_ListPeerGroupClient, error)
	UpdatePeerGroup(ctx context.Context, in *UpdatePeerGroupRequest, opts ...grpc.CallOption) (*UpdatePeerGroupResponse, error)
	AddDynamicNeighbor(ctx context.Context, in *AddDynamicNeighborRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	ListDynamicNeighbor(ctx context.Context, in *ListDynamicNeighborRequest, opts ...grpc.CallOption) (GobgpApi_ListDynamicNeighborClient, error)
	DeleteDynamicNeighbor(ctx context.Context, in *DeleteDynamicNeighborRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	AddPath(ctx context.Context, in *AddPathRequest, opts ...grpc.CallOption) (*AddPathResponse, error)
	DeletePath(ctx context.Context, in *DeletePathRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	ListPath(ctx context.Context, in *ListPathRequest, opts ...grpc.CallOption) (GobgpApi_ListPathClient, error)
	AddPathStream(ctx context.Context, opts ...grpc.CallOption) (GobgpApi_AddPathStreamClient, error)
	GetTable(ctx context.Context, in *GetTableRequest, opts ...grpc.CallOption) (*GetTableResponse, error)
	AddVrf(ctx context.Context, in *AddVrfRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	DeleteVrf(ctx context.Context, in *DeleteVrfRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	ListVrf(ctx context.Context, in *ListVrfRequest, opts ...grpc.CallOption) (GobgpApi_ListVrfClient, error)
	AddPolicy(ctx context.Context, in *AddPolicyRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	DeletePolicy(ctx context.Context, in *DeletePolicyRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	ListPolicy(ctx context.Context, in *ListPolicyRequest, opts ...grpc.CallOption) (GobgpApi_ListPolicyClient, error)
	SetPolicies(ctx context.Context, in *SetPoliciesRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	AddDefinedSet(ctx context.Context, in *AddDefinedSetRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	DeleteDefinedSet(ctx context.Context, in *DeleteDefinedSetRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	ListDefinedSet(ctx context.Context, in *ListDefinedSetRequest, opts ...grpc.CallOption) (GobgpApi_ListDefinedSetClient, error)
	AddStatement(ctx context.Context, in *AddStatementRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	DeleteStatement(ctx context.Context, in *DeleteStatementRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	ListStatement(ctx context.Context, in *ListStatementRequest, opts ...grpc.CallOption) (GobgpApi_ListStatementClient, error)
	AddPolicyAssignment(ctx context.Context, in *AddPolicyAssignmentRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	DeletePolicyAssignment(ctx context.Context, in *DeletePolicyAssignmentRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	ListPolicyAssignment(ctx context.Context, in *ListPolicyAssignmentRequest, opts ...grpc.CallOption) (GobgpApi_ListPolicyAssignmentClient, error)
	SetPolicyAssignment(ctx context.Context, in *SetPolicyAssignmentRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	AddRpki(ctx context.Context, in *AddRpkiRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	DeleteRpki(ctx context.Context, in *DeleteRpkiRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	ListRpki(ctx context.Context, in *ListRpkiRequest, opts ...grpc.CallOption) (GobgpApi_ListRpkiClient, error)
	EnableRpki(ctx context.Context, in *EnableRpkiRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	DisableRpki(ctx context.Context, in *DisableRpkiRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	ResetRpki(ctx context.Context, in *ResetRpkiRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	ListRpkiTable(ctx context.Context, in *ListRpkiTableRequest, opts ...grpc.CallOption) (GobgpApi_ListRpkiTableClient, error)
	EnableZebra(ctx context.Context, in *EnableZebraRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	EnableMrt(ctx context.Context, in *EnableMrtRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	DisableMrt(ctx context.Context, in *DisableMrtRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	AddBmp(ctx context.Context, in *AddBmpRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	DeleteBmp(ctx context.Context, in *DeleteBmpRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	ListBmp(ctx context.Context, in *ListBmpRequest, opts ...grpc.CallOption) (GobgpApi_ListBmpClient, error)
	SetLogLevel(ctx context.Context, in *SetLogLevelRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
}

type gobgpApiClient struct {
	cc grpc.ClientConnInterface
}

func NewGobgpApiClient(cc grpc.ClientConnInterface) GobgpApiClient {
	return &gobgpApiClient{cc}
}

func (c *gobgpApiClient) StartBgp(ctx context.Context, in *StartBgpRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/StartBgp", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) StopBgp(ctx context.Context, in *StopBgpRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/StopBgp", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) GetBgp(ctx context.Context, in *GetBgpRequest, opts ...grpc.CallOption) (*GetBgpResponse, error) {
	out := new(GetBgpResponse)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/GetBgp", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) WatchEvent(ctx context.Context, in *WatchEventRequest, opts ...grpc.CallOption) (GobgpApi_WatchEventClient, error) {
	stream, err := c.cc.NewStream(ctx, &GobgpApi_ServiceDesc.Streams[0], "/apipb.GobgpApi/WatchEvent", opts...)
	if err != nil {
		return nil, err
	}
	x := &gobgpApiWatchEventClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type GobgpApi_WatchEventClient interface {
	Recv() (*WatchEventResponse, error)
	grpc.ClientStream
}

type gobgpApiWatchEventClient struct {
	grpc.ClientStream
}

func (x *gobgpApiWatchEventClient) Recv() (*WatchEventResponse, error) {
	m := new(WatchEventResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *gobgpApiClient) AddPeer(ctx context.Context, in *AddPeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/AddPeer", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) DeletePeer(ctx context.Context, in *DeletePeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/DeletePeer", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) ListPeer(ctx context.Context, in *ListPeerRequest, opts ...grpc.CallOption) (GobgpApi_ListPeerClient, error) {
	stream, err := c.cc.NewStream(ctx, &GobgpApi_ServiceDesc.Streams[1], "/apipb.GobgpApi/ListPeer", opts...)
	if err != nil {
		return nil, err
	}
	x := &gobgpApiListPeerClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type GobgpApi_ListPeerClient interface {
	Recv() (*ListPeerResponse, error)
	grpc.ClientStream
}

type gobgpApiListPeerClient struct {
	grpc.ClientStream
}

func (x *gobgpApiListPeerClient) Recv() (*ListPeerResponse, error) {
	m := new(ListPeerResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *gobgpApiClient) UpdatePeer(ctx context.Context, in *UpdatePeerRequest, opts ...grpc.CallOption) (*UpdatePeerResponse, error) {
	out := new(UpdatePeerResponse)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/UpdatePeer", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) ResetPeer(ctx context.Context, in *ResetPeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/ResetPeer", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) ShutdownPeer(ctx context.Context, in *ShutdownPeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/ShutdownPeer", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) EnablePeer(ctx context.Context, in *EnablePeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/EnablePeer", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) DisablePeer(ctx context.Context, in *DisablePeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/DisablePeer", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) AddPeerGroup(ctx context.Context, in *AddPeerGroupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/AddPeerGroup", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) DeletePeerGroup(ctx context.Context, in *DeletePeerGroupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/DeletePeerGroup", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) ListPeerGroup(ctx context.Context, in *ListPeerGroupRequest, opts ...grpc.CallOption) (GobgpApi_ListPeerGroupClient, error) {
	stream, err := c.cc.NewStream(ctx, &GobgpApi_ServiceDesc.Streams[2], "/apipb.GobgpApi/ListPeerGroup", opts...)
	if err != nil {
		return nil, err
	}
	x := &gobgpApiListPeerGroupClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type GobgpApi_ListPeerGroupClient interface {
	Recv() (*ListPeerGroupResponse, error)
	grpc.ClientStream
}

type gobgpApiListPeerGroupClient struct {
	grpc.ClientStream
}

func (x *gobgpApiListPeerGroupClient) Recv() (*ListPeerGroupResponse, error) {
	m := new(ListPeerGroupResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *gobgpApiClient) UpdatePeerGroup(ctx context.Context, in *UpdatePeerGroupRequest, opts ...grpc.CallOption) (*UpdatePeerGroupResponse, error) {
	out := new(UpdatePeerGroupResponse)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/UpdatePeerGroup", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) AddDynamicNeighbor(ctx context.Context, in *AddDynamicNeighborRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/AddDynamicNeighbor", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) ListDynamicNeighbor(ctx context.Context, in *ListDynamicNeighborRequest, opts ...grpc.CallOption) (GobgpApi_ListDynamicNeighborClient, error) {
	stream, err := c.cc.NewStream(ctx, &GobgpApi_ServiceDesc.Streams[3], "/apipb.GobgpApi/ListDynamicNeighbor", opts...)
	if err != nil {
		return nil, err
	}
	x := &gobgpApiListDynamicNeighborClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type GobgpApi_ListDynamicNeighborClient interface {
	Recv() (*ListDynamicNeighborResponse, error)
	grpc.ClientStream
}

type gobgpApiListDynamicNeighborClient struct {
	grpc.ClientStream
}

func (x *gobgpApiListDynamicNeighborClient) Recv() (*ListDynamicNeighborResponse, error) {
	m := new(ListDynamicNeighborResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *gobgpApiClient) DeleteDynamicNeighbor(ctx context.Context, in *DeleteDynamicNeighborRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/DeleteDynamicNeighbor", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) AddPath(ctx context.Context, in *AddPathRequest, opts ...grpc.CallOption) (*AddPathResponse, error) {
	out := new(AddPathResponse)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/AddPath", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) DeletePath(ctx context.Context, in *DeletePathRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/DeletePath", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) ListPath(ctx context.Context, in *ListPathRequest, opts ...grpc.CallOption) (GobgpApi_ListPathClient, error) {
	stream, err := c.cc.NewStream(ctx, &GobgpApi_ServiceDesc.Streams[4], "/apipb.GobgpApi/ListPath", opts...)
	if err != nil {
		return nil, err
	}
	x := &gobgpApiListPathClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type GobgpApi_ListPathClient interface {
	Recv() (*ListPathResponse, error)
	grpc.ClientStream
}

type gobgpApiListPathClient struct {
	grpc.ClientStream
}

func (x *gobgpApiListPathClient) Recv() (*ListPathResponse, error) {
	m := new(ListPathResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *gobgpApiClient) AddPathStream(ctx context.Context, opts ...grpc.CallOption) (GobgpApi_AddPathStreamClient, error) {
	stream, err := c.cc.NewStream(ctx, &GobgpApi_ServiceDesc.Streams[5], "/apipb.GobgpApi/AddPathStream", opts...)
	if err != nil {
		return nil, err
	}
	x := &gobgpApiAddPathStreamClient{stream}
	return x, nil
}

type GobgpApi_AddPathStreamClient interface {
	Send(*AddPathStreamRequest) error
	CloseAndRecv() (*emptypb.Empty, error)
	grpc.ClientStream
}

type gobgpApiAddPathStreamClient struct {
	grpc.ClientStream
}

func (x *gobgpApiAddPathStreamClient) Send(m *AddPathStreamRequest) error {
	return x.ClientStream.SendMsg(m)
}

func (x *gobgpApiAddPathStreamClient) CloseAndRecv() (*emptypb.Empty, error) {
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	m := new(emptypb.Empty)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *gobgpApiClient) GetTable(ctx context.Context, in *GetTableRequest, opts ...grpc.CallOption) (*GetTableResponse, error) {
	out := new(GetTableResponse)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/GetTable", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) AddVrf(ctx context.Context, in *AddVrfRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/AddVrf", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) DeleteVrf(ctx context.Context, in *DeleteVrfRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/DeleteVrf", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) ListVrf(ctx context.Context, in *ListVrfRequest, opts ...grpc.CallOption) (GobgpApi_ListVrfClient, error) {
	stream, err := c.cc.NewStream(ctx, &GobgpApi_ServiceDesc.Streams[6], "/apipb.GobgpApi/ListVrf", opts...)
	if err != nil {
		return nil, err
	}
	x := &gobgpApiListVrfClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type GobgpApi_ListVrfClient interface {
	Recv() (*ListVrfResponse, error)
	grpc.ClientStream
}

type gobgpApiListVrfClient struct {
	grpc.ClientStream
}

func (x *gobgpApiListVrfClient) Recv() (*ListVrfResponse, error) {
	m := new(ListVrfResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *gobgpApiClient) AddPolicy(ctx context.Context, in *AddPolicyRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/AddPolicy", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) DeletePolicy(ctx context.Context, in *DeletePolicyRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/DeletePolicy", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) ListPolicy(ctx context.Context, in *ListPolicyRequest, opts ...grpc.CallOption) (GobgpApi_ListPolicyClient, error) {
	stream, err := c.cc.NewStream(ctx, &GobgpApi_ServiceDesc.Streams[7], "/apipb.GobgpApi/ListPolicy", opts...)
	if err != nil {
		return nil, err
	}
	x := &gobgpApiListPolicyClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type GobgpApi_ListPolicyClient interface {
	Recv() (*ListPolicyResponse, error)
	grpc.ClientStream
}

type gobgpApiListPolicyClient struct {
	grpc.ClientStream
}

func (x *gobgpApiListPolicyClient) Recv() (*ListPolicyResponse, error) {
	m := new(ListPolicyResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *gobgpApiClient) SetPolicies(ctx context.Context, in *SetPoliciesRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/SetPolicies", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) AddDefinedSet(ctx context.Context, in *AddDefinedSetRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/AddDefinedSet", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) DeleteDefinedSet(ctx context.Context, in *DeleteDefinedSetRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/DeleteDefinedSet", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) ListDefinedSet(ctx context.Context, in *ListDefinedSetRequest, opts ...grpc.CallOption) (GobgpApi_ListDefinedSetClient, error) {
	stream, err := c.cc.NewStream(ctx, &GobgpApi_ServiceDesc.Streams[8], "/apipb.GobgpApi/ListDefinedSet", opts...)
	if err != nil {
		return nil, err
	}
	x := &gobgpApiListDefinedSetClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type GobgpApi_ListDefinedSetClient interface {
	Recv() (*ListDefinedSetResponse, error)
	grpc.ClientStream
}

type gobgpApiListDefinedSetClient struct {
	grpc.ClientStream
}

func (x *gobgpApiListDefinedSetClient) Recv() (*ListDefinedSetResponse, error) {
	m := new(ListDefinedSetResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *gobgpApiClient) AddStatement(ctx context.Context, in *AddStatementRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/AddStatement", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) DeleteStatement(ctx context.Context, in *DeleteStatementRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/DeleteStatement", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) ListStatement(ctx context.Context, in *ListStatementRequest, opts ...grpc.CallOption) (GobgpApi_ListStatementClient, error) {
	stream, err := c.cc.NewStream(ctx, &GobgpApi_ServiceDesc.Streams[9], "/apipb.GobgpApi/ListStatement", opts...)
	if err != nil {
		return nil, err
	}
	x := &gobgpApiListStatementClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type GobgpApi_ListStatementClient interface {
	Recv() (*ListStatementResponse, error)
	grpc.ClientStream
}

type gobgpApiListStatementClient struct {
	grpc.ClientStream
}

func (x *gobgpApiListStatementClient) Recv() (*ListStatementResponse, error) {
	m := new(ListStatementResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *gobgpApiClient) AddPolicyAssignment(ctx context.Context, in *AddPolicyAssignmentRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/AddPolicyAssignment", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) DeletePolicyAssignment(ctx context.Context, in *DeletePolicyAssignmentRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/DeletePolicyAssignment", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) ListPolicyAssignment(ctx context.Context, in *ListPolicyAssignmentRequest, opts ...grpc.CallOption) (GobgpApi_ListPolicyAssignmentClient, error) {
	stream, err := c.cc.NewStream(ctx, &GobgpApi_ServiceDesc.Streams[10], "/apipb.GobgpApi/ListPolicyAssignment", opts...)
	if err != nil {
		return nil, err
	}
	x := &gobgpApiListPolicyAssignmentClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type GobgpApi_ListPolicyAssignmentClient interface {
	Recv() (*ListPolicyAssignmentResponse, error)
	grpc.ClientStream
}

type gobgpApiListPolicyAssignmentClient struct {
	grpc.ClientStream
}

func (x *gobgpApiListPolicyAssignmentClient) Recv() (*ListPolicyAssignmentResponse, error) {
	m := new(ListPolicyAssignmentResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *gobgpApiClient) SetPolicyAssignment(ctx context.Context, in *SetPolicyAssignmentRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/SetPolicyAssignment", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) AddRpki(ctx context.Context, in *AddRpkiRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/AddRpki", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) DeleteRpki(ctx context.Context, in *DeleteRpkiRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/DeleteRpki", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) ListRpki(ctx context.Context, in *ListRpkiRequest, opts ...grpc.CallOption) (GobgpApi_ListRpkiClient, error) {
	stream, err := c.cc.NewStream(ctx, &GobgpApi_ServiceDesc.Streams[11], "/apipb.GobgpApi/ListRpki", opts...)
	if err != nil {
		return nil, err
	}
	x := &gobgpApiListRpkiClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type GobgpApi_ListRpkiClient interface {
	Recv() (*ListRpkiResponse, error)
	grpc.ClientStream
}

type gobgpApiListRpkiClient struct {
	grpc.ClientStream
}

func (x *gobgpApiListRpkiClient) Recv() (*ListRpkiResponse, error) {
	m := new(ListRpkiResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *gobgpApiClient) EnableRpki(ctx context.Context, in *EnableRpkiRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/EnableRpki", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) DisableRpki(ctx context.Context, in *DisableRpkiRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/DisableRpki", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) ResetRpki(ctx context.Context, in *ResetRpkiRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/ResetRpki", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) ListRpkiTable(ctx context.Context, in *ListRpkiTableRequest, opts ...grpc.CallOption) (GobgpApi_ListRpkiTableClient, error) {
	stream, err := c.cc.NewStream(ctx, &GobgpApi_ServiceDesc.Streams[12], "/apipb.GobgpApi/ListRpkiTable", opts...)
	if err != nil {
		return nil, err
	}
	x := &gobgpApiListRpkiTableClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type GobgpApi_ListRpkiTableClient interface {
	Recv() (*ListRpkiTableResponse, error)
	grpc.ClientStream
}

type gobgpApiListRpkiTableClient struct {
	grpc.ClientStream
}

func (x *gobgpApiListRpkiTableClient) Recv() (*ListRpkiTableResponse, error) {
	m := new(ListRpkiTableResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *gobgpApiClient) EnableZebra(ctx context.Context, in *EnableZebraRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/EnableZebra", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) EnableMrt(ctx context.Context, in *EnableMrtRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/EnableMrt", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) DisableMrt(ctx context.Context, in *DisableMrtRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/DisableMrt", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) AddBmp(ctx context.Context, in *AddBmpRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/AddBmp", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) DeleteBmp(ctx context.Context, in *DeleteBmpRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/DeleteBmp", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) ListBmp(ctx context.Context, in *ListBmpRequest, opts ...grpc.CallOption) (GobgpApi_ListBmpClient, error) {
	stream, err := c.cc.NewStream(ctx, &GobgpApi_ServiceDesc.Streams[13], "/apipb.GobgpApi/ListBmp", opts...)
	if err != nil {
		return nil, err
	}
	x := &gobgpApiListBmpClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type GobgpApi_ListBmpClient interface {
	Recv() (*ListBmpResponse, error)
	grpc.ClientStream
}

type gobgpApiListBmpClient struct {
	grpc.ClientStream
}

func (x *gobgpApiListBmpClient) Recv() (*ListBmpResponse, error) {
	m := new(ListBmpResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *gobgpApiClient) SetLogLevel(ctx context.Context, in *SetLogLevelRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/apipb.GobgpApi/SetLogLevel", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// GobgpApiServer is the server API for GobgpApi service.
// All implementations must embed UnimplementedGobgpApiServer
// for forward compatibility
type GobgpApiServer interface {
	StartBgp(context.Context, *StartBgpRequest) (*emptypb.Empty, error)
	StopBgp(context.Context, *StopBgpRequest) (*emptypb.Empty, error)
	GetBgp(context.Context, *GetBgpRequest) (*GetBgpResponse, error)
	WatchEvent(*WatchEventRequest, GobgpApi_WatchEventServer) error
	AddPeer(context.Context, *AddPeerRequest) (*emptypb.Empty, error)
	DeletePeer(context.Context, *DeletePeerRequest) (*emptypb.Empty, error)
	ListPeer(*ListPeerRequest, GobgpApi_ListPeerServer) error
	UpdatePeer(context.Context, *UpdatePeerRequest) (*UpdatePeerResponse, error)
	ResetPeer(context.Context, *ResetPeerRequest) (*emptypb.Empty, error)
	ShutdownPeer(context.Context, *ShutdownPeerRequest) (*emptypb.Empty, error)
	EnablePeer(context.Context, *EnablePeerRequest) (*emptypb.Empty, error)
	DisablePeer(context.Context, *DisablePeerRequest) (*emptypb.Empty, error)
	AddPeerGroup(context.Context, *AddPeerGroupRequest) (*emptypb.Empty, error)
	DeletePeerGroup(context.Context, *DeletePeerGroupRequest) (*emptypb.Empty, error)
	ListPeerGroup(*ListPeerGroupRequest, GobgpApi_ListPeerGroupServer) error
	UpdatePeerGroup(context.Context, *UpdatePeerGroupRequest) (*UpdatePeerGroupResponse, error)
	AddDynamicNeighbor(context.Context, *AddDynamicNeighborRequest) (*emptypb.Empty, error)
	ListDynamicNeighbor(*ListDynamicNeighborRequest, GobgpApi_ListDynamicNeighborServer) error
	DeleteDynamicNeighbor(context.Context, *DeleteDynamicNeighborRequest) (*emptypb.Empty, error)
	AddPath(context.Context, *AddPathRequest) (*AddPathResponse, error)
	DeletePath(context.Context, *DeletePathRequest) (*emptypb.Empty, error)
	ListPath(*ListPathRequest, GobgpApi_ListPathServer) error
	AddPathStream(GobgpApi_AddPathStreamServer) error
	GetTable(context.Context, *GetTableRequest) (*GetTableResponse, error)
	AddVrf(context.Context, *AddVrfRequest) (*emptypb.Empty, error)
	DeleteVrf(context.Context, *DeleteVrfRequest) (*emptypb.Empty, error)
	ListVrf(*ListVrfRequest, GobgpApi_ListVrfServer) error
	AddPolicy(context.Context, *AddPolicyRequest) (*emptypb.Empty, error)
	DeletePolicy(context.Context, *DeletePolicyRequest) (*emptypb.Empty, error)
	ListPolicy(*ListPolicyRequest, GobgpApi_ListPolicyServer) error
	SetPolicies(context.Context, *SetPoliciesRequest) (*emptypb.Empty, error)
	AddDefinedSet(context.Context, *AddDefinedSetRequest) (*emptypb.Empty, error)
	DeleteDefinedSet(context.Context, *DeleteDefinedSetRequest) (*emptypb.Empty, error)
	ListDefinedSet(*ListDefinedSetRequest, GobgpApi_ListDefinedSetServer) error
	AddStatement(context.Context, *AddStatementRequest) (*emptypb.Empty, error)
	DeleteStatement(context.Context, *DeleteStatementRequest) (*emptypb.Empty, error)
	ListStatement(*ListStatementRequest, GobgpApi_ListStatementServer) error
	AddPolicyAssignment(context.Context, *AddPolicyAssignmentRequest) (*emptypb.Empty, error)
	DeletePolicyAssignment(context.Context, *DeletePolicyAssignmentRequest) (*emptypb.Empty, error)
	ListPolicyAssignment(*ListPolicyAssignmentRequest, GobgpApi_ListPolicyAssignmentServer) error
	SetPolicyAssignment(context.Context, *SetPolicyAssignmentRequest) (*emptypb.Empty, error)
	AddRpki(context.Context, *AddRpkiRequest) (*emptypb.Empty, error)
	DeleteRpki(context.Context, *DeleteRpkiRequest) (*emptypb.Empty, error)
	ListRpki(*ListRpkiRequest, GobgpApi_ListRpkiServer) error
	EnableRpki(context.Context, *EnableRpkiRequest) (*emptypb.Empty, error)
	DisableRpki(context.Context, *DisableRpkiRequest) (*emptypb.Empty, error)
	ResetRpki(context.Context, *ResetRpkiRequest) (*emptypb.Empty, error)
	ListRpkiTable(*ListRpkiTableRequest, GobgpApi_ListRpkiTableServer) error
	EnableZebra(context.Context, *EnableZebraRequest) (*emptypb.Empty, error)
	EnableMrt(context.Context, *EnableMrtRequest) (*emptypb.Empty, error)
	DisableMrt(context.Context, *DisableMrtRequest) (*emptypb.Empty, error)
	AddBmp(context.Context, *AddBmpRequest) (*emptypb.Empty, error)
	DeleteBmp(context.Context, *DeleteBmpRequest) (*emptypb.Empty, error)
	ListBmp(*ListBmpRequest, GobgpApi_ListBmpServer) error
	SetLogLevel(context.Context, *SetLogLevelRequest) (*emptypb.Empty, error)
	mustEmbedUnimplementedGobgpApiServer()
}

// UnimplementedGobgpApiServer must be embedded to have forward compatible implementations.
type UnimplementedGobgpApiServer struct {
}

func (UnimplementedGobgpApiServer) StartBgp(context.Context, *StartBgpRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method StartBgp not implemented")
}
func (UnimplementedGobgpApiServer) StopBgp(context.Context, *StopBgpRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method StopBgp not implemented")
}
func (UnimplementedGobgpApiServer) GetBgp(context.Context, *GetBgpRequest) (*GetBgpResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetBgp not implemented")
}
func (UnimplementedGobgpApiServer) WatchEvent(*WatchEventRequest, GobgpApi_WatchEventServer) error {
	return status.Errorf(codes.Unimplemented, "method WatchEvent not implemented")
}
func (UnimplementedGobgpApiServer) AddPeer(context.Context, *AddPeerRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AddPeer not implemented")
}
func (UnimplementedGobgpApiServer) DeletePeer(context.Context, *DeletePeerRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeletePeer not implemented")
}
func (UnimplementedGobgpApiServer) ListPeer(*ListPeerRequest, GobgpApi_ListPeerServer) error {
	return status.Errorf(codes.Unimplemented, "method ListPeer not implemented")
}
func (UnimplementedGobgpApiServer) UpdatePeer(context.Context, *UpdatePeerRequest) (*UpdatePeerResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdatePeer not implemented")
}
func (UnimplementedGobgpApiServer) ResetPeer(context.Context, *ResetPeerRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ResetPeer not implemented")
}
func (UnimplementedGobgpApiServer) ShutdownPeer(context.Context, *ShutdownPeerRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ShutdownPeer not implemented")
}
func (UnimplementedGobgpApiServer) EnablePeer(context.Context, *EnablePeerRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method EnablePeer not implemented")
}
func (UnimplementedGobgpApiServer) DisablePeer(context.Context, *DisablePeerRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DisablePeer not implemented")
}
func (UnimplementedGobgpApiServer) AddPeerGroup(context.Context, *AddPeerGroupRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AddPeerGroup not implemented")
}
func (UnimplementedGobgpApiServer) DeletePeerGroup(context.Context, *DeletePeerGroupRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeletePeerGroup not implemented")
}
func (UnimplementedGobgpApiServer) ListPeerGroup(*ListPeerGroupRequest, GobgpApi_ListPeerGroupServer) error {
	return status.Errorf(codes.Unimplemented, "method ListPeerGroup not implemented")
}
func (UnimplementedGobgpApiServer) UpdatePeerGroup(context.Context, *UpdatePeerGroupRequest) (*UpdatePeerGroupResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdatePeerGroup not implemented")
}
func (UnimplementedGobgpApiServer) AddDynamicNeighbor(context.Context, *AddDynamicNeighborRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AddDynamicNeighbor not implemented")
}
func (UnimplementedGobgpApiServer) ListDynamicNeighbor(*ListDynamicNeighborRequest, GobgpApi_ListDynamicNeighborServer) error {
	return status.Errorf(codes.Unimplemented, "method ListDynamicNeighbor not implemented")
}
func (UnimplementedGobgpApiServer) DeleteDynamicNeighbor(context.Context, *DeleteDynamicNeighborRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteDynamicNeighbor not implemented")
}
func (UnimplementedGobgpApiServer) AddPath(context.Context, *AddPathRequest) (*AddPathResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AddPath not implemented")
}
func (UnimplementedGobgpApiServer) DeletePath(context.Context, *DeletePathRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeletePath not implemented")
}
func (UnimplementedGobgpApiServer) ListPath(*ListPathRequest, GobgpApi_ListPathServer) error {
	return status.Errorf(codes.Unimplemented, "method ListPath not implemented")
}
func (UnimplementedGobgpApiServer) AddPathStream(GobgpApi_AddPathStreamServer) error {
	return status.Errorf(codes.Unimplemented, "method AddPathStream not implemented")
}
func (UnimplementedGobgpApiServer) GetTable(context.Context, *GetTableRequest) (*GetTableResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetTable not implemented")
}
func (UnimplementedGobgpApiServer) AddVrf(context.Context, *AddVrfRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AddVrf not implemented")
}
func (UnimplementedGobgpApiServer) DeleteVrf(context.Context, *DeleteVrfRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteVrf not implemented")
}
func (UnimplementedGobgpApiServer) ListVrf(*ListVrfRequest, GobgpApi_ListVrfServer) error {
	return status.Errorf(codes.Unimplemented, "method ListVrf not implemented")
}
func (UnimplementedGobgpApiServer) AddPolicy(context.Context, *AddPolicyRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AddPolicy not implemented")
}
func (UnimplementedGobgpApiServer) DeletePolicy(context.Context, *DeletePolicyRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeletePolicy not implemented")
}
func (UnimplementedGobgpApiServer) ListPolicy(*ListPolicyRequest, GobgpApi_ListPolicyServer) error {
	return status.Errorf(codes.Unimplemented, "method ListPolicy not implemented")
}
func (UnimplementedGobgpApiServer) SetPolicies(context.Context, *SetPoliciesRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SetPolicies not implemented")
}
func (UnimplementedGobgpApiServer) AddDefinedSet(context.Context, *AddDefinedSetRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AddDefinedSet not implemented")
}
func (UnimplementedGobgpApiServer) DeleteDefinedSet(context.Context, *DeleteDefinedSetRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteDefinedSet not implemented")
}
func (UnimplementedGobgpApiServer) ListDefinedSet(*ListDefinedSetRequest, GobgpApi_ListDefinedSetServer) error {
	return status.Errorf(codes.Unimplemented, "method ListDefinedSet not implemented")
}
func (UnimplementedGobgpApiServer) AddStatement(context.Context, *AddStatementRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AddStatement not implemented")
}
func (UnimplementedGobgpApiServer) DeleteStatement(context.Context, *DeleteStatementRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteStatement not implemented")
}
func (UnimplementedGobgpApiServer) ListStatement(*ListStatementRequest, GobgpApi_ListStatementServer) error {
	return status.Errorf(codes.Unimplemented, "method ListStatement not implemented")
}
func (UnimplementedGobgpApiServer) AddPolicyAssignment(context.Context, *AddPolicyAssignmentRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AddPolicyAssignment not implemented")
}
func (UnimplementedGobgpApiServer) DeletePolicyAssignment(context.Context, *DeletePolicyAssignmentRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeletePolicyAssignment not implemented")
}
func (UnimplementedGobgpApiServer) ListPolicyAssignment(*ListPolicyAssignmentRequest, GobgpApi_ListPolicyAssignmentServer) error {
	return status.Errorf(codes.Unimplemented, "method ListPolicyAssignment not implemented")
}
func (UnimplementedGobgpApiServer) SetPolicyAssignment(context.Context, *SetPolicyAssignmentRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SetPolicyAssignment not implemented")
}
func (UnimplementedGobgpApiServer) AddRpki(context.Context, *AddRpkiRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AddRpki not implemented")
}
func (UnimplementedGobgpApiServer) DeleteRpki(context.Context, *DeleteRpkiRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteRpki not implemented")
}
func (UnimplementedGobgpApiServer) ListRpki(*ListRpkiRequest, GobgpApi_ListRpkiServer) error {
	return status.Errorf(codes.Unimplemented, "method ListRpki not implemented")
}
func (UnimplementedGobgpApiServer) EnableRpki(context.Context, *EnableRpkiRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method EnableRpki not implemented")
}
func (UnimplementedGobgpApiServer) DisableRpki(context.Context, *DisableRpkiRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DisableRpki not implemented")
}
func (UnimplementedGobgpApiServer) ResetRpki(context.Context, *ResetRpkiRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ResetRpki not implemented")
}
func (UnimplementedGobgpApiServer) ListRpkiTable(*ListRpkiTableRequest, GobgpApi_ListRpkiTableServer) error {
	return status.Errorf(codes.Unimplemented, "method ListRpkiTable not implemented")
}
func (UnimplementedGobgpApiServer) EnableZebra(context.Context, *EnableZebraRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method EnableZebra not implemented")
}
func (UnimplementedGobgpApiServer) EnableMrt(context.Context, *EnableMrtRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method EnableMrt not implemented")
}
func (UnimplementedGobgpApiServer) DisableMrt(context.Context, *DisableMrtRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DisableMrt not implemented")
}
func (UnimplementedGobgpApiServer) AddBmp(context.Context, *AddBmpRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AddBmp not implemented")
}
func (UnimplementedGobgpApiServer) DeleteBmp(context.Context, *DeleteBmpRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteBmp not implemented")
}
func (UnimplementedGobgpApiServer) ListBmp(*ListBmpRequest, GobgpApi_ListBmpServer) error {
	return status.Errorf(codes.Unimplemented, "method ListBmp not implemented")
}
func (UnimplementedGobgpApiServer) SetLogLevel(context.Context, *SetLogLevelRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SetLogLevel not implemented")
}
func (UnimplementedGobgpApiServer) mustEmbedUnimplementedGobgpApiServer() {}

// UnsafeGobgpApiServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to GobgpApiServer will
// result in compilation errors.
type UnsafeGobgpApiServer interface {
	mustEmbedUnimplementedGobgpApiServer()
}

func RegisterGobgpApiServer(s grpc.ServiceRegistrar, srv GobgpApiServer) {
	s.RegisterService(&GobgpApi_ServiceDesc, srv)
}

func _GobgpApi_StartBgp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(StartBgpRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).StartBgp(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/StartBgp",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).StartBgp(ctx, req.(*StartBgpRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_StopBgp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(StopBgpRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).StopBgp(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/StopBgp",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).StopBgp(ctx, req.(*StopBgpRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_GetBgp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetBgpRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).GetBgp(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/GetBgp",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).GetBgp(ctx, req.(*GetBgpRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_WatchEvent_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(WatchEventRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(GobgpApiServer).WatchEvent(m, &gobgpApiWatchEventServer{stream})
}

type GobgpApi_WatchEventServer interface {
	Send(*WatchEventResponse) error
	grpc.ServerStream
}

type gobgpApiWatchEventServer struct {
	grpc.ServerStream
}

func (x *gobgpApiWatchEventServer) Send(m *WatchEventResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _GobgpApi_AddPeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddPeerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).AddPeer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/AddPeer",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).AddPeer(ctx, req.(*AddPeerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_DeletePeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeletePeerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).DeletePeer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/DeletePeer",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).DeletePeer(ctx, req.(*DeletePeerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_ListPeer_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(ListPeerRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(GobgpApiServer).ListPeer(m, &gobgpApiListPeerServer{stream})
}

type GobgpApi_ListPeerServer interface {
	Send(*ListPeerResponse) error
	grpc.ServerStream
}

type gobgpApiListPeerServer struct {
	grpc.ServerStream
}

func (x *gobgpApiListPeerServer) Send(m *ListPeerResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _GobgpApi_UpdatePeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdatePeerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).UpdatePeer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/UpdatePeer",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).UpdatePeer(ctx, req.(*UpdatePeerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_ResetPeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ResetPeerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).ResetPeer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/ResetPeer",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).ResetPeer(ctx, req.(*ResetPeerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_ShutdownPeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ShutdownPeerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).ShutdownPeer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/ShutdownPeer",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).ShutdownPeer(ctx, req.(*ShutdownPeerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_EnablePeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(EnablePeerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).EnablePeer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/EnablePeer",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).EnablePeer(ctx, req.(*EnablePeerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_DisablePeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DisablePeerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).DisablePeer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/DisablePeer",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).DisablePeer(ctx, req.(*DisablePeerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_AddPeerGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddPeerGroupRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).AddPeerGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/AddPeerGroup",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).AddPeerGroup(ctx, req.(*AddPeerGroupRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_DeletePeerGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeletePeerGroupRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).DeletePeerGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/DeletePeerGroup",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).DeletePeerGroup(ctx, req.(*DeletePeerGroupRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_ListPeerGroup_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(ListPeerGroupRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(GobgpApiServer).ListPeerGroup(m, &gobgpApiListPeerGroupServer{stream})
}

type GobgpApi_ListPeerGroupServer interface {
	Send(*ListPeerGroupResponse) error
	grpc.ServerStream
}

type gobgpApiListPeerGroupServer struct {
	grpc.ServerStream
}

func (x *gobgpApiListPeerGroupServer) Send(m *ListPeerGroupResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _GobgpApi_UpdatePeerGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdatePeerGroupRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).UpdatePeerGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/UpdatePeerGroup",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).UpdatePeerGroup(ctx, req.(*UpdatePeerGroupRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_AddDynamicNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddDynamicNeighborRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).AddDynamicNeighbor(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/AddDynamicNeighbor",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).AddDynamicNeighbor(ctx, req.(*AddDynamicNeighborRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_ListDynamicNeighbor_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(ListDynamicNeighborRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(GobgpApiServer).ListDynamicNeighbor(m, &gobgpApiListDynamicNeighborServer{stream})
}

type GobgpApi_ListDynamicNeighborServer interface {
	Send(*ListDynamicNeighborResponse) error
	grpc.ServerStream
}

type gobgpApiListDynamicNeighborServer struct {
	grpc.ServerStream
}

func (x *gobgpApiListDynamicNeighborServer) Send(m *ListDynamicNeighborResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _GobgpApi_DeleteDynamicNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteDynamicNeighborRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).DeleteDynamicNeighbor(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/DeleteDynamicNeighbor",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).DeleteDynamicNeighbor(ctx, req.(*DeleteDynamicNeighborRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_AddPath_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddPathRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).AddPath(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/AddPath",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).AddPath(ctx, req.(*AddPathRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_DeletePath_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeletePathRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).DeletePath(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/DeletePath",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).DeletePath(ctx, req.(*DeletePathRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_ListPath_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(ListPathRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(GobgpApiServer).ListPath(m, &gobgpApiListPathServer{stream})
}

type GobgpApi_ListPathServer interface {
	Send(*ListPathResponse) error
	grpc.ServerStream
}

type gobgpApiListPathServer struct {
	grpc.ServerStream
}

func (x *gobgpApiListPathServer) Send(m *ListPathResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _GobgpApi_AddPathStream_Handler(srv interface{}, stream grpc.ServerStream) error {
	return srv.(GobgpApiServer).AddPathStream(&gobgpApiAddPathStreamServer{stream})
}

type GobgpApi_AddPathStreamServer interface {
	SendAndClose(*emptypb.Empty) error
	Recv() (*AddPathStreamRequest, error)
	grpc.ServerStream
}

type gobgpApiAddPathStreamServer struct {
	grpc.ServerStream
}

func (x *gobgpApiAddPathStreamServer) SendAndClose(m *emptypb.Empty) error {
	return x.ServerStream.SendMsg(m)
}

func (x *gobgpApiAddPathStreamServer) Recv() (*AddPathStreamRequest, error) {
	m := new(AddPathStreamRequest)
	if err := x.ServerStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func _GobgpApi_GetTable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetTableRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).GetTable(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/GetTable",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).GetTable(ctx, req.(*GetTableRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_AddVrf_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddVrfRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).AddVrf(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/AddVrf",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).AddVrf(ctx, req.(*AddVrfRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_DeleteVrf_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteVrfRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).DeleteVrf(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/DeleteVrf",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).DeleteVrf(ctx, req.(*DeleteVrfRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_ListVrf_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(ListVrfRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(GobgpApiServer).ListVrf(m, &gobgpApiListVrfServer{stream})
}

type GobgpApi_ListVrfServer interface {
	Send(*ListVrfResponse) error
	grpc.ServerStream
}

type gobgpApiListVrfServer struct {
	grpc.ServerStream
}

func (x *gobgpApiListVrfServer) Send(m *ListVrfResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _GobgpApi_AddPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddPolicyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).AddPolicy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/AddPolicy",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).AddPolicy(ctx, req.(*AddPolicyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_DeletePolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeletePolicyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).DeletePolicy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/DeletePolicy",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).DeletePolicy(ctx, req.(*DeletePolicyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_ListPolicy_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(ListPolicyRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(GobgpApiServer).ListPolicy(m, &gobgpApiListPolicyServer{stream})
}

type GobgpApi_ListPolicyServer interface {
	Send(*ListPolicyResponse) error
	grpc.ServerStream
}

type gobgpApiListPolicyServer struct {
	grpc.ServerStream
}

func (x *gobgpApiListPolicyServer) Send(m *ListPolicyResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _GobgpApi_SetPolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetPoliciesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).SetPolicies(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/SetPolicies",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).SetPolicies(ctx, req.(*SetPoliciesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_AddDefinedSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddDefinedSetRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).AddDefinedSet(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/AddDefinedSet",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).AddDefinedSet(ctx, req.(*AddDefinedSetRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_DeleteDefinedSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteDefinedSetRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).DeleteDefinedSet(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/DeleteDefinedSet",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).DeleteDefinedSet(ctx, req.(*DeleteDefinedSetRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_ListDefinedSet_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(ListDefinedSetRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(GobgpApiServer).ListDefinedSet(m, &gobgpApiListDefinedSetServer{stream})
}

type GobgpApi_ListDefinedSetServer interface {
	Send(*ListDefinedSetResponse) error
	grpc.ServerStream
}

type gobgpApiListDefinedSetServer struct {
	grpc.ServerStream
}

func (x *gobgpApiListDefinedSetServer) Send(m *ListDefinedSetResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _GobgpApi_AddStatement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddStatementRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).AddStatement(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/AddStatement",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).AddStatement(ctx, req.(*AddStatementRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_DeleteStatement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteStatementRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).DeleteStatement(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/DeleteStatement",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).DeleteStatement(ctx, req.(*DeleteStatementRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_ListStatement_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(ListStatementRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(GobgpApiServer).ListStatement(m, &gobgpApiListStatementServer{stream})
}

type GobgpApi_ListStatementServer interface {
	Send(*ListStatementResponse) error
	grpc.ServerStream
}

type gobgpApiListStatementServer struct {
	grpc.ServerStream
}

func (x *gobgpApiListStatementServer) Send(m *ListStatementResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _GobgpApi_AddPolicyAssignment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddPolicyAssignmentRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).AddPolicyAssignment(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/AddPolicyAssignment",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).AddPolicyAssignment(ctx, req.(*AddPolicyAssignmentRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_DeletePolicyAssignment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeletePolicyAssignmentRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).DeletePolicyAssignment(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/DeletePolicyAssignment",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).DeletePolicyAssignment(ctx, req.(*DeletePolicyAssignmentRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_ListPolicyAssignment_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(ListPolicyAssignmentRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(GobgpApiServer).ListPolicyAssignment(m, &gobgpApiListPolicyAssignmentServer{stream})
}

type GobgpApi_ListPolicyAssignmentServer interface {
	Send(*ListPolicyAssignmentResponse) error
	grpc.ServerStream
}

type gobgpApiListPolicyAssignmentServer struct {
	grpc.ServerStream
}

func (x *gobgpApiListPolicyAssignmentServer) Send(m *ListPolicyAssignmentResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _GobgpApi_SetPolicyAssignment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetPolicyAssignmentRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).SetPolicyAssignment(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/SetPolicyAssignment",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).SetPolicyAssignment(ctx, req.(*SetPolicyAssignmentRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_AddRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddRpkiRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).AddRpki(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/AddRpki",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).AddRpki(ctx, req.(*AddRpkiRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_DeleteRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteRpkiRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).DeleteRpki(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/DeleteRpki",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).DeleteRpki(ctx, req.(*DeleteRpkiRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_ListRpki_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(ListRpkiRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(GobgpApiServer).ListRpki(m, &gobgpApiListRpkiServer{stream})
}

type GobgpApi_ListRpkiServer interface {
	Send(*ListRpkiResponse) error
	grpc.ServerStream
}

type gobgpApiListRpkiServer struct {
	grpc.ServerStream
}

func (x *gobgpApiListRpkiServer) Send(m *ListRpkiResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _GobgpApi_EnableRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(EnableRpkiRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).EnableRpki(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/EnableRpki",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).EnableRpki(ctx, req.(*EnableRpkiRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_DisableRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DisableRpkiRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).DisableRpki(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/DisableRpki",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).DisableRpki(ctx, req.(*DisableRpkiRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_ResetRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ResetRpkiRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).ResetRpki(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/ResetRpki",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).ResetRpki(ctx, req.(*ResetRpkiRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_ListRpkiTable_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(ListRpkiTableRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(GobgpApiServer).ListRpkiTable(m, &gobgpApiListRpkiTableServer{stream})
}

type GobgpApi_ListRpkiTableServer interface {
	Send(*ListRpkiTableResponse) error
	grpc.ServerStream
}

type gobgpApiListRpkiTableServer struct {
	grpc.ServerStream
}

func (x *gobgpApiListRpkiTableServer) Send(m *ListRpkiTableResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _GobgpApi_EnableZebra_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(EnableZebraRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).EnableZebra(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/EnableZebra",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).EnableZebra(ctx, req.(*EnableZebraRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_EnableMrt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(EnableMrtRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).EnableMrt(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/EnableMrt",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).EnableMrt(ctx, req.(*EnableMrtRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_DisableMrt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DisableMrtRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).DisableMrt(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/DisableMrt",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).DisableMrt(ctx, req.(*DisableMrtRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_AddBmp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddBmpRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).AddBmp(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/AddBmp",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).AddBmp(ctx, req.(*AddBmpRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_DeleteBmp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteBmpRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).DeleteBmp(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/DeleteBmp",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).DeleteBmp(ctx, req.(*DeleteBmpRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_ListBmp_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(ListBmpRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(GobgpApiServer).ListBmp(m, &gobgpApiListBmpServer{stream})
}

type GobgpApi_ListBmpServer interface {
	Send(*ListBmpResponse) error
	grpc.ServerStream
}

type gobgpApiListBmpServer struct {
	grpc.ServerStream
}

func (x *gobgpApiListBmpServer) Send(m *ListBmpResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _GobgpApi_SetLogLevel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetLogLevelRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).SetLogLevel(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/apipb.GobgpApi/SetLogLevel",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).SetLogLevel(ctx, req.(*SetLogLevelRequest))
	}
	return interceptor(ctx, in, info, handler)
}

// GobgpApi_ServiceDesc is the grpc.ServiceDesc for GobgpApi service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var GobgpApi_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "apipb.GobgpApi",
	HandlerType: (*GobgpApiServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "StartBgp",
			Handler:    _GobgpApi_StartBgp_Handler,
		},
		{
			MethodName: "StopBgp",
			Handler:    _GobgpApi_StopBgp_Handler,
		},
		{
			MethodName: "GetBgp",
			Handler:    _GobgpApi_GetBgp_Handler,
		},
		{
			MethodName: "AddPeer",
			Handler:    _GobgpApi_AddPeer_Handler,
		},
		{
			MethodName: "DeletePeer",
			Handler:    _GobgpApi_DeletePeer_Handler,
		},
		{
			MethodName: "UpdatePeer",
			Handler:    _GobgpApi_UpdatePeer_Handler,
		},
		{
			MethodName: "ResetPeer",
			Handler:    _GobgpApi_ResetPeer_Handler,
		},
		{
			MethodName: "ShutdownPeer",
			Handler:    _GobgpApi_ShutdownPeer_Handler,
		},
		{
			MethodName: "EnablePeer",
			Handler:    _GobgpApi_EnablePeer_Handler,
		},
		{
			MethodName: "DisablePeer",
			Handler:    _GobgpApi_DisablePeer_Handler,
		},
		{
			MethodName: "AddPeerGroup",
			Handler:    _GobgpApi_AddPeerGroup_Handler,
		},
		{
			MethodName: "DeletePeerGroup",
			Handler:    _GobgpApi_DeletePeerGroup_Handler,
		},
		{
			MethodName: "UpdatePeerGroup",
			Handler:    _GobgpApi_UpdatePeerGroup_Handler,
		},
		{
			MethodName: "AddDynamicNeighbor",
			Handler:    _GobgpApi_AddDynamicNeighbor_Handler,
		},
		{
			MethodName: "DeleteDynamicNeighbor",
			Handler:    _GobgpApi_DeleteDynamicNeighbor_Handler,
		},
		{
			MethodName: "AddPath",
			Handler:    _GobgpApi_AddPath_Handler,
		},
		{
			MethodName: "DeletePath",
			Handler:    _GobgpApi_DeletePath_Handler,
		},
		{
			MethodName: "GetTable",
			Handler:    _GobgpApi_GetTable_Handler,
		},
		{
			MethodName: "AddVrf",
			Handler:    _GobgpApi_AddVrf_Handler,
		},
		{
			MethodName: "DeleteVrf",
			Handler:    _GobgpApi_DeleteVrf_Handler,
		},
		{
			MethodName: "AddPolicy",
			Handler:    _GobgpApi_AddPolicy_Handler,
		},
		{
			MethodName: "DeletePolicy",
			Handler:    _GobgpApi_DeletePolicy_Handler,
		},
		{
			MethodName: "SetPolicies",
			Handler:    _GobgpApi_SetPolicies_Handler,
		},
		{
			MethodName: "AddDefinedSet",
			Handler:    _GobgpApi_AddDefinedSet_Handler,
		},
		{
			MethodName: "DeleteDefinedSet",
			Handler:    _GobgpApi_DeleteDefinedSet_Handler,
		},
		{
			MethodName: "AddStatement",
			Handler:    _GobgpApi_AddStatement_Handler,
		},
		{
			MethodName: "DeleteStatement",
			Handler:    _GobgpApi_DeleteStatement_Handler,
		},
		{
			MethodName: "AddPolicyAssignment",
			Handler:    _GobgpApi_AddPolicyAssignment_Handler,
		},
		{
			MethodName: "DeletePolicyAssignment",
			Handler:    _GobgpApi_DeletePolicyAssignment_Handler,
		},
		{
			MethodName: "SetPolicyAssignment",
			Handler:    _GobgpApi_SetPolicyAssignment_Handler,
		},
		{
			MethodName: "AddRpki",
			Handler:    _GobgpApi_AddRpki_Handler,
		},
		{
			MethodName: "DeleteRpki",
			Handler:    _GobgpApi_DeleteRpki_Handler,
		},
		{
			MethodName: "EnableRpki",
			Handler:    _GobgpApi_EnableRpki_Handler,
		},
		{
			MethodName: "DisableRpki",
			Handler:    _GobgpApi_DisableRpki_Handler,
		},
		{
			MethodName: "ResetRpki",
			Handler:    _GobgpApi_ResetRpki_Handler,
		},
		{
			MethodName: "EnableZebra",
			Handler:    _GobgpApi_EnableZebra_Handler,
		},
		{
			MethodName: "EnableMrt",
			Handler:    _GobgpApi_EnableMrt_Handler,
		},
		{
			MethodName: "DisableMrt",
			Handler:    _GobgpApi_DisableMrt_Handler,
		},
		{
			MethodName: "AddBmp",
			Handler:    _GobgpApi_AddBmp_Handler,
		},
		{
			MethodName: "DeleteBmp",
			Handler:    _GobgpApi_DeleteBmp_Handler,
		},
		{
			MethodName: "SetLogLevel",
			Handler:    _GobgpApi_SetLogLevel_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "WatchEvent",
			Handler:       _GobgpApi_WatchEvent_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "ListPeer",
			Handler:       _GobgpApi_ListPeer_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "ListPeerGroup",
			Handler:       _GobgpApi_ListPeerGroup_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "ListDynamicNeighbor",
			Handler:       _GobgpApi_ListDynamicNeighbor_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "ListPath",
			Handler:       _GobgpApi_ListPath_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "AddPathStream",
			Handler:       _GobgpApi_AddPathStream_Handler,
			ClientStreams: true,
		},
		{
			StreamName:    "ListVrf",
			Handler:       _GobgpApi_ListVrf_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "ListPolicy",
			Handler:       _GobgpApi_ListPolicy_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "ListDefinedSet",
			Handler:       _GobgpApi_ListDefinedSet_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "ListStatement",
			Handler:       _GobgpApi_ListStatement_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "ListPolicyAssignment",
			Handler:       _GobgpApi_ListPolicyAssignment_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "ListRpki",
			Handler:       _GobgpApi_ListRpki_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "ListRpkiTable",
			Handler:       _GobgpApi_ListRpkiTable_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "ListBmp",
			Handler:       _GobgpApi_ListBmp_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "gobgp.proto",
}
