github.com/networkservicemesh/govpp@v0.0.0-20240328101142-8a444680fbba/binapi/ipsec/ipsec_rpc.ba.go (about)

     1  // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
     2  
     3  package ipsec
     4  
     5  import (
     6  	"context"
     7  	"fmt"
     8  	"io"
     9  
    10  	memclnt "github.com/networkservicemesh/govpp/binapi/memclnt"
    11  	api "go.fd.io/govpp/api"
    12  )
    13  
    14  // RPCService defines RPC service ipsec.
    15  type RPCService interface {
    16  	IpsecBackendDump(ctx context.Context, in *IpsecBackendDump) (RPCService_IpsecBackendDumpClient, error)
    17  	IpsecInterfaceAddDelSpd(ctx context.Context, in *IpsecInterfaceAddDelSpd) (*IpsecInterfaceAddDelSpdReply, error)
    18  	IpsecItfCreate(ctx context.Context, in *IpsecItfCreate) (*IpsecItfCreateReply, error)
    19  	IpsecItfDelete(ctx context.Context, in *IpsecItfDelete) (*IpsecItfDeleteReply, error)
    20  	IpsecItfDump(ctx context.Context, in *IpsecItfDump) (RPCService_IpsecItfDumpClient, error)
    21  	IpsecSaDump(ctx context.Context, in *IpsecSaDump) (RPCService_IpsecSaDumpClient, error)
    22  	IpsecSaV2Dump(ctx context.Context, in *IpsecSaV2Dump) (RPCService_IpsecSaV2DumpClient, error)
    23  	IpsecSaV3Dump(ctx context.Context, in *IpsecSaV3Dump) (RPCService_IpsecSaV3DumpClient, error)
    24  	IpsecSaV4Dump(ctx context.Context, in *IpsecSaV4Dump) (RPCService_IpsecSaV4DumpClient, error)
    25  	IpsecSadBind(ctx context.Context, in *IpsecSadBind) (*IpsecSadBindReply, error)
    26  	IpsecSadEntryAdd(ctx context.Context, in *IpsecSadEntryAdd) (*IpsecSadEntryAddReply, error)
    27  	IpsecSadEntryAddDel(ctx context.Context, in *IpsecSadEntryAddDel) (*IpsecSadEntryAddDelReply, error)
    28  	IpsecSadEntryAddDelV2(ctx context.Context, in *IpsecSadEntryAddDelV2) (*IpsecSadEntryAddDelV2Reply, error)
    29  	IpsecSadEntryAddDelV3(ctx context.Context, in *IpsecSadEntryAddDelV3) (*IpsecSadEntryAddDelV3Reply, error)
    30  	IpsecSadEntryDel(ctx context.Context, in *IpsecSadEntryDel) (*IpsecSadEntryDelReply, error)
    31  	IpsecSadEntryUpdate(ctx context.Context, in *IpsecSadEntryUpdate) (*IpsecSadEntryUpdateReply, error)
    32  	IpsecSadUnbind(ctx context.Context, in *IpsecSadUnbind) (*IpsecSadUnbindReply, error)
    33  	IpsecSelectBackend(ctx context.Context, in *IpsecSelectBackend) (*IpsecSelectBackendReply, error)
    34  	IpsecSetAsyncMode(ctx context.Context, in *IpsecSetAsyncMode) (*IpsecSetAsyncModeReply, error)
    35  	IpsecSpdAddDel(ctx context.Context, in *IpsecSpdAddDel) (*IpsecSpdAddDelReply, error)
    36  	IpsecSpdDump(ctx context.Context, in *IpsecSpdDump) (RPCService_IpsecSpdDumpClient, error)
    37  	IpsecSpdEntryAddDel(ctx context.Context, in *IpsecSpdEntryAddDel) (*IpsecSpdEntryAddDelReply, error)
    38  	IpsecSpdEntryAddDelV2(ctx context.Context, in *IpsecSpdEntryAddDelV2) (*IpsecSpdEntryAddDelV2Reply, error)
    39  	IpsecSpdInterfaceDump(ctx context.Context, in *IpsecSpdInterfaceDump) (RPCService_IpsecSpdInterfaceDumpClient, error)
    40  	IpsecSpdsDump(ctx context.Context, in *IpsecSpdsDump) (RPCService_IpsecSpdsDumpClient, error)
    41  	IpsecTunnelProtectDel(ctx context.Context, in *IpsecTunnelProtectDel) (*IpsecTunnelProtectDelReply, error)
    42  	IpsecTunnelProtectDump(ctx context.Context, in *IpsecTunnelProtectDump) (RPCService_IpsecTunnelProtectDumpClient, error)
    43  	IpsecTunnelProtectUpdate(ctx context.Context, in *IpsecTunnelProtectUpdate) (*IpsecTunnelProtectUpdateReply, error)
    44  }
    45  
    46  type serviceClient struct {
    47  	conn api.Connection
    48  }
    49  
    50  func NewServiceClient(conn api.Connection) RPCService {
    51  	return &serviceClient{conn}
    52  }
    53  
    54  func (c *serviceClient) IpsecBackendDump(ctx context.Context, in *IpsecBackendDump) (RPCService_IpsecBackendDumpClient, error) {
    55  	stream, err := c.conn.NewStream(ctx)
    56  	if err != nil {
    57  		return nil, err
    58  	}
    59  	x := &serviceClient_IpsecBackendDumpClient{stream}
    60  	if err := x.Stream.SendMsg(in); err != nil {
    61  		return nil, err
    62  	}
    63  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
    64  		return nil, err
    65  	}
    66  	return x, nil
    67  }
    68  
    69  type RPCService_IpsecBackendDumpClient interface {
    70  	Recv() (*IpsecBackendDetails, error)
    71  	api.Stream
    72  }
    73  
    74  type serviceClient_IpsecBackendDumpClient struct {
    75  	api.Stream
    76  }
    77  
    78  func (c *serviceClient_IpsecBackendDumpClient) Recv() (*IpsecBackendDetails, error) {
    79  	msg, err := c.Stream.RecvMsg()
    80  	if err != nil {
    81  		return nil, err
    82  	}
    83  	switch m := msg.(type) {
    84  	case *IpsecBackendDetails:
    85  		return m, nil
    86  	case *memclnt.ControlPingReply:
    87  		err = c.Stream.Close()
    88  		if err != nil {
    89  			return nil, err
    90  		}
    91  		return nil, io.EOF
    92  	default:
    93  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
    94  	}
    95  }
    96  
    97  func (c *serviceClient) IpsecInterfaceAddDelSpd(ctx context.Context, in *IpsecInterfaceAddDelSpd) (*IpsecInterfaceAddDelSpdReply, error) {
    98  	out := new(IpsecInterfaceAddDelSpdReply)
    99  	err := c.conn.Invoke(ctx, in, out)
   100  	if err != nil {
   101  		return nil, err
   102  	}
   103  	return out, api.RetvalToVPPApiError(out.Retval)
   104  }
   105  
   106  func (c *serviceClient) IpsecItfCreate(ctx context.Context, in *IpsecItfCreate) (*IpsecItfCreateReply, error) {
   107  	out := new(IpsecItfCreateReply)
   108  	err := c.conn.Invoke(ctx, in, out)
   109  	if err != nil {
   110  		return nil, err
   111  	}
   112  	return out, api.RetvalToVPPApiError(out.Retval)
   113  }
   114  
   115  func (c *serviceClient) IpsecItfDelete(ctx context.Context, in *IpsecItfDelete) (*IpsecItfDeleteReply, error) {
   116  	out := new(IpsecItfDeleteReply)
   117  	err := c.conn.Invoke(ctx, in, out)
   118  	if err != nil {
   119  		return nil, err
   120  	}
   121  	return out, api.RetvalToVPPApiError(out.Retval)
   122  }
   123  
   124  func (c *serviceClient) IpsecItfDump(ctx context.Context, in *IpsecItfDump) (RPCService_IpsecItfDumpClient, error) {
   125  	stream, err := c.conn.NewStream(ctx)
   126  	if err != nil {
   127  		return nil, err
   128  	}
   129  	x := &serviceClient_IpsecItfDumpClient{stream}
   130  	if err := x.Stream.SendMsg(in); err != nil {
   131  		return nil, err
   132  	}
   133  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
   134  		return nil, err
   135  	}
   136  	return x, nil
   137  }
   138  
   139  type RPCService_IpsecItfDumpClient interface {
   140  	Recv() (*IpsecItfDetails, error)
   141  	api.Stream
   142  }
   143  
   144  type serviceClient_IpsecItfDumpClient struct {
   145  	api.Stream
   146  }
   147  
   148  func (c *serviceClient_IpsecItfDumpClient) Recv() (*IpsecItfDetails, error) {
   149  	msg, err := c.Stream.RecvMsg()
   150  	if err != nil {
   151  		return nil, err
   152  	}
   153  	switch m := msg.(type) {
   154  	case *IpsecItfDetails:
   155  		return m, nil
   156  	case *memclnt.ControlPingReply:
   157  		err = c.Stream.Close()
   158  		if err != nil {
   159  			return nil, err
   160  		}
   161  		return nil, io.EOF
   162  	default:
   163  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   164  	}
   165  }
   166  
   167  func (c *serviceClient) IpsecSaDump(ctx context.Context, in *IpsecSaDump) (RPCService_IpsecSaDumpClient, error) {
   168  	stream, err := c.conn.NewStream(ctx)
   169  	if err != nil {
   170  		return nil, err
   171  	}
   172  	x := &serviceClient_IpsecSaDumpClient{stream}
   173  	if err := x.Stream.SendMsg(in); err != nil {
   174  		return nil, err
   175  	}
   176  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
   177  		return nil, err
   178  	}
   179  	return x, nil
   180  }
   181  
   182  type RPCService_IpsecSaDumpClient interface {
   183  	Recv() (*IpsecSaDetails, error)
   184  	api.Stream
   185  }
   186  
   187  type serviceClient_IpsecSaDumpClient struct {
   188  	api.Stream
   189  }
   190  
   191  func (c *serviceClient_IpsecSaDumpClient) Recv() (*IpsecSaDetails, error) {
   192  	msg, err := c.Stream.RecvMsg()
   193  	if err != nil {
   194  		return nil, err
   195  	}
   196  	switch m := msg.(type) {
   197  	case *IpsecSaDetails:
   198  		return m, nil
   199  	case *memclnt.ControlPingReply:
   200  		err = c.Stream.Close()
   201  		if err != nil {
   202  			return nil, err
   203  		}
   204  		return nil, io.EOF
   205  	default:
   206  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   207  	}
   208  }
   209  
   210  func (c *serviceClient) IpsecSaV2Dump(ctx context.Context, in *IpsecSaV2Dump) (RPCService_IpsecSaV2DumpClient, error) {
   211  	stream, err := c.conn.NewStream(ctx)
   212  	if err != nil {
   213  		return nil, err
   214  	}
   215  	x := &serviceClient_IpsecSaV2DumpClient{stream}
   216  	if err := x.Stream.SendMsg(in); err != nil {
   217  		return nil, err
   218  	}
   219  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
   220  		return nil, err
   221  	}
   222  	return x, nil
   223  }
   224  
   225  type RPCService_IpsecSaV2DumpClient interface {
   226  	Recv() (*IpsecSaV2Details, error)
   227  	api.Stream
   228  }
   229  
   230  type serviceClient_IpsecSaV2DumpClient struct {
   231  	api.Stream
   232  }
   233  
   234  func (c *serviceClient_IpsecSaV2DumpClient) Recv() (*IpsecSaV2Details, error) {
   235  	msg, err := c.Stream.RecvMsg()
   236  	if err != nil {
   237  		return nil, err
   238  	}
   239  	switch m := msg.(type) {
   240  	case *IpsecSaV2Details:
   241  		return m, nil
   242  	case *memclnt.ControlPingReply:
   243  		err = c.Stream.Close()
   244  		if err != nil {
   245  			return nil, err
   246  		}
   247  		return nil, io.EOF
   248  	default:
   249  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   250  	}
   251  }
   252  
   253  func (c *serviceClient) IpsecSaV3Dump(ctx context.Context, in *IpsecSaV3Dump) (RPCService_IpsecSaV3DumpClient, error) {
   254  	stream, err := c.conn.NewStream(ctx)
   255  	if err != nil {
   256  		return nil, err
   257  	}
   258  	x := &serviceClient_IpsecSaV3DumpClient{stream}
   259  	if err := x.Stream.SendMsg(in); err != nil {
   260  		return nil, err
   261  	}
   262  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
   263  		return nil, err
   264  	}
   265  	return x, nil
   266  }
   267  
   268  type RPCService_IpsecSaV3DumpClient interface {
   269  	Recv() (*IpsecSaV3Details, error)
   270  	api.Stream
   271  }
   272  
   273  type serviceClient_IpsecSaV3DumpClient struct {
   274  	api.Stream
   275  }
   276  
   277  func (c *serviceClient_IpsecSaV3DumpClient) Recv() (*IpsecSaV3Details, error) {
   278  	msg, err := c.Stream.RecvMsg()
   279  	if err != nil {
   280  		return nil, err
   281  	}
   282  	switch m := msg.(type) {
   283  	case *IpsecSaV3Details:
   284  		return m, nil
   285  	case *memclnt.ControlPingReply:
   286  		err = c.Stream.Close()
   287  		if err != nil {
   288  			return nil, err
   289  		}
   290  		return nil, io.EOF
   291  	default:
   292  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   293  	}
   294  }
   295  
   296  func (c *serviceClient) IpsecSaV4Dump(ctx context.Context, in *IpsecSaV4Dump) (RPCService_IpsecSaV4DumpClient, error) {
   297  	stream, err := c.conn.NewStream(ctx)
   298  	if err != nil {
   299  		return nil, err
   300  	}
   301  	x := &serviceClient_IpsecSaV4DumpClient{stream}
   302  	if err := x.Stream.SendMsg(in); err != nil {
   303  		return nil, err
   304  	}
   305  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
   306  		return nil, err
   307  	}
   308  	return x, nil
   309  }
   310  
   311  type RPCService_IpsecSaV4DumpClient interface {
   312  	Recv() (*IpsecSaV4Details, error)
   313  	api.Stream
   314  }
   315  
   316  type serviceClient_IpsecSaV4DumpClient struct {
   317  	api.Stream
   318  }
   319  
   320  func (c *serviceClient_IpsecSaV4DumpClient) Recv() (*IpsecSaV4Details, error) {
   321  	msg, err := c.Stream.RecvMsg()
   322  	if err != nil {
   323  		return nil, err
   324  	}
   325  	switch m := msg.(type) {
   326  	case *IpsecSaV4Details:
   327  		return m, nil
   328  	case *memclnt.ControlPingReply:
   329  		err = c.Stream.Close()
   330  		if err != nil {
   331  			return nil, err
   332  		}
   333  		return nil, io.EOF
   334  	default:
   335  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   336  	}
   337  }
   338  
   339  func (c *serviceClient) IpsecSadBind(ctx context.Context, in *IpsecSadBind) (*IpsecSadBindReply, error) {
   340  	out := new(IpsecSadBindReply)
   341  	err := c.conn.Invoke(ctx, in, out)
   342  	if err != nil {
   343  		return nil, err
   344  	}
   345  	return out, api.RetvalToVPPApiError(out.Retval)
   346  }
   347  
   348  func (c *serviceClient) IpsecSadEntryAdd(ctx context.Context, in *IpsecSadEntryAdd) (*IpsecSadEntryAddReply, error) {
   349  	out := new(IpsecSadEntryAddReply)
   350  	err := c.conn.Invoke(ctx, in, out)
   351  	if err != nil {
   352  		return nil, err
   353  	}
   354  	return out, api.RetvalToVPPApiError(out.Retval)
   355  }
   356  
   357  func (c *serviceClient) IpsecSadEntryAddDel(ctx context.Context, in *IpsecSadEntryAddDel) (*IpsecSadEntryAddDelReply, error) {
   358  	out := new(IpsecSadEntryAddDelReply)
   359  	err := c.conn.Invoke(ctx, in, out)
   360  	if err != nil {
   361  		return nil, err
   362  	}
   363  	return out, api.RetvalToVPPApiError(out.Retval)
   364  }
   365  
   366  func (c *serviceClient) IpsecSadEntryAddDelV2(ctx context.Context, in *IpsecSadEntryAddDelV2) (*IpsecSadEntryAddDelV2Reply, error) {
   367  	out := new(IpsecSadEntryAddDelV2Reply)
   368  	err := c.conn.Invoke(ctx, in, out)
   369  	if err != nil {
   370  		return nil, err
   371  	}
   372  	return out, api.RetvalToVPPApiError(out.Retval)
   373  }
   374  
   375  func (c *serviceClient) IpsecSadEntryAddDelV3(ctx context.Context, in *IpsecSadEntryAddDelV3) (*IpsecSadEntryAddDelV3Reply, error) {
   376  	out := new(IpsecSadEntryAddDelV3Reply)
   377  	err := c.conn.Invoke(ctx, in, out)
   378  	if err != nil {
   379  		return nil, err
   380  	}
   381  	return out, api.RetvalToVPPApiError(out.Retval)
   382  }
   383  
   384  func (c *serviceClient) IpsecSadEntryDel(ctx context.Context, in *IpsecSadEntryDel) (*IpsecSadEntryDelReply, error) {
   385  	out := new(IpsecSadEntryDelReply)
   386  	err := c.conn.Invoke(ctx, in, out)
   387  	if err != nil {
   388  		return nil, err
   389  	}
   390  	return out, api.RetvalToVPPApiError(out.Retval)
   391  }
   392  
   393  func (c *serviceClient) IpsecSadEntryUpdate(ctx context.Context, in *IpsecSadEntryUpdate) (*IpsecSadEntryUpdateReply, error) {
   394  	out := new(IpsecSadEntryUpdateReply)
   395  	err := c.conn.Invoke(ctx, in, out)
   396  	if err != nil {
   397  		return nil, err
   398  	}
   399  	return out, api.RetvalToVPPApiError(out.Retval)
   400  }
   401  
   402  func (c *serviceClient) IpsecSadUnbind(ctx context.Context, in *IpsecSadUnbind) (*IpsecSadUnbindReply, error) {
   403  	out := new(IpsecSadUnbindReply)
   404  	err := c.conn.Invoke(ctx, in, out)
   405  	if err != nil {
   406  		return nil, err
   407  	}
   408  	return out, api.RetvalToVPPApiError(out.Retval)
   409  }
   410  
   411  func (c *serviceClient) IpsecSelectBackend(ctx context.Context, in *IpsecSelectBackend) (*IpsecSelectBackendReply, error) {
   412  	out := new(IpsecSelectBackendReply)
   413  	err := c.conn.Invoke(ctx, in, out)
   414  	if err != nil {
   415  		return nil, err
   416  	}
   417  	return out, api.RetvalToVPPApiError(out.Retval)
   418  }
   419  
   420  func (c *serviceClient) IpsecSetAsyncMode(ctx context.Context, in *IpsecSetAsyncMode) (*IpsecSetAsyncModeReply, error) {
   421  	out := new(IpsecSetAsyncModeReply)
   422  	err := c.conn.Invoke(ctx, in, out)
   423  	if err != nil {
   424  		return nil, err
   425  	}
   426  	return out, api.RetvalToVPPApiError(out.Retval)
   427  }
   428  
   429  func (c *serviceClient) IpsecSpdAddDel(ctx context.Context, in *IpsecSpdAddDel) (*IpsecSpdAddDelReply, error) {
   430  	out := new(IpsecSpdAddDelReply)
   431  	err := c.conn.Invoke(ctx, in, out)
   432  	if err != nil {
   433  		return nil, err
   434  	}
   435  	return out, api.RetvalToVPPApiError(out.Retval)
   436  }
   437  
   438  func (c *serviceClient) IpsecSpdDump(ctx context.Context, in *IpsecSpdDump) (RPCService_IpsecSpdDumpClient, error) {
   439  	stream, err := c.conn.NewStream(ctx)
   440  	if err != nil {
   441  		return nil, err
   442  	}
   443  	x := &serviceClient_IpsecSpdDumpClient{stream}
   444  	if err := x.Stream.SendMsg(in); err != nil {
   445  		return nil, err
   446  	}
   447  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
   448  		return nil, err
   449  	}
   450  	return x, nil
   451  }
   452  
   453  type RPCService_IpsecSpdDumpClient interface {
   454  	Recv() (*IpsecSpdDetails, error)
   455  	api.Stream
   456  }
   457  
   458  type serviceClient_IpsecSpdDumpClient struct {
   459  	api.Stream
   460  }
   461  
   462  func (c *serviceClient_IpsecSpdDumpClient) Recv() (*IpsecSpdDetails, error) {
   463  	msg, err := c.Stream.RecvMsg()
   464  	if err != nil {
   465  		return nil, err
   466  	}
   467  	switch m := msg.(type) {
   468  	case *IpsecSpdDetails:
   469  		return m, nil
   470  	case *memclnt.ControlPingReply:
   471  		err = c.Stream.Close()
   472  		if err != nil {
   473  			return nil, err
   474  		}
   475  		return nil, io.EOF
   476  	default:
   477  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   478  	}
   479  }
   480  
   481  func (c *serviceClient) IpsecSpdEntryAddDel(ctx context.Context, in *IpsecSpdEntryAddDel) (*IpsecSpdEntryAddDelReply, error) {
   482  	out := new(IpsecSpdEntryAddDelReply)
   483  	err := c.conn.Invoke(ctx, in, out)
   484  	if err != nil {
   485  		return nil, err
   486  	}
   487  	return out, api.RetvalToVPPApiError(out.Retval)
   488  }
   489  
   490  func (c *serviceClient) IpsecSpdEntryAddDelV2(ctx context.Context, in *IpsecSpdEntryAddDelV2) (*IpsecSpdEntryAddDelV2Reply, error) {
   491  	out := new(IpsecSpdEntryAddDelV2Reply)
   492  	err := c.conn.Invoke(ctx, in, out)
   493  	if err != nil {
   494  		return nil, err
   495  	}
   496  	return out, api.RetvalToVPPApiError(out.Retval)
   497  }
   498  
   499  func (c *serviceClient) IpsecSpdInterfaceDump(ctx context.Context, in *IpsecSpdInterfaceDump) (RPCService_IpsecSpdInterfaceDumpClient, error) {
   500  	stream, err := c.conn.NewStream(ctx)
   501  	if err != nil {
   502  		return nil, err
   503  	}
   504  	x := &serviceClient_IpsecSpdInterfaceDumpClient{stream}
   505  	if err := x.Stream.SendMsg(in); err != nil {
   506  		return nil, err
   507  	}
   508  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
   509  		return nil, err
   510  	}
   511  	return x, nil
   512  }
   513  
   514  type RPCService_IpsecSpdInterfaceDumpClient interface {
   515  	Recv() (*IpsecSpdInterfaceDetails, error)
   516  	api.Stream
   517  }
   518  
   519  type serviceClient_IpsecSpdInterfaceDumpClient struct {
   520  	api.Stream
   521  }
   522  
   523  func (c *serviceClient_IpsecSpdInterfaceDumpClient) Recv() (*IpsecSpdInterfaceDetails, error) {
   524  	msg, err := c.Stream.RecvMsg()
   525  	if err != nil {
   526  		return nil, err
   527  	}
   528  	switch m := msg.(type) {
   529  	case *IpsecSpdInterfaceDetails:
   530  		return m, nil
   531  	case *memclnt.ControlPingReply:
   532  		err = c.Stream.Close()
   533  		if err != nil {
   534  			return nil, err
   535  		}
   536  		return nil, io.EOF
   537  	default:
   538  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   539  	}
   540  }
   541  
   542  func (c *serviceClient) IpsecSpdsDump(ctx context.Context, in *IpsecSpdsDump) (RPCService_IpsecSpdsDumpClient, error) {
   543  	stream, err := c.conn.NewStream(ctx)
   544  	if err != nil {
   545  		return nil, err
   546  	}
   547  	x := &serviceClient_IpsecSpdsDumpClient{stream}
   548  	if err := x.Stream.SendMsg(in); err != nil {
   549  		return nil, err
   550  	}
   551  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
   552  		return nil, err
   553  	}
   554  	return x, nil
   555  }
   556  
   557  type RPCService_IpsecSpdsDumpClient interface {
   558  	Recv() (*IpsecSpdsDetails, error)
   559  	api.Stream
   560  }
   561  
   562  type serviceClient_IpsecSpdsDumpClient struct {
   563  	api.Stream
   564  }
   565  
   566  func (c *serviceClient_IpsecSpdsDumpClient) Recv() (*IpsecSpdsDetails, error) {
   567  	msg, err := c.Stream.RecvMsg()
   568  	if err != nil {
   569  		return nil, err
   570  	}
   571  	switch m := msg.(type) {
   572  	case *IpsecSpdsDetails:
   573  		return m, nil
   574  	case *memclnt.ControlPingReply:
   575  		err = c.Stream.Close()
   576  		if err != nil {
   577  			return nil, err
   578  		}
   579  		return nil, io.EOF
   580  	default:
   581  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   582  	}
   583  }
   584  
   585  func (c *serviceClient) IpsecTunnelProtectDel(ctx context.Context, in *IpsecTunnelProtectDel) (*IpsecTunnelProtectDelReply, error) {
   586  	out := new(IpsecTunnelProtectDelReply)
   587  	err := c.conn.Invoke(ctx, in, out)
   588  	if err != nil {
   589  		return nil, err
   590  	}
   591  	return out, api.RetvalToVPPApiError(out.Retval)
   592  }
   593  
   594  func (c *serviceClient) IpsecTunnelProtectDump(ctx context.Context, in *IpsecTunnelProtectDump) (RPCService_IpsecTunnelProtectDumpClient, error) {
   595  	stream, err := c.conn.NewStream(ctx)
   596  	if err != nil {
   597  		return nil, err
   598  	}
   599  	x := &serviceClient_IpsecTunnelProtectDumpClient{stream}
   600  	if err := x.Stream.SendMsg(in); err != nil {
   601  		return nil, err
   602  	}
   603  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
   604  		return nil, err
   605  	}
   606  	return x, nil
   607  }
   608  
   609  type RPCService_IpsecTunnelProtectDumpClient interface {
   610  	Recv() (*IpsecTunnelProtectDetails, error)
   611  	api.Stream
   612  }
   613  
   614  type serviceClient_IpsecTunnelProtectDumpClient struct {
   615  	api.Stream
   616  }
   617  
   618  func (c *serviceClient_IpsecTunnelProtectDumpClient) Recv() (*IpsecTunnelProtectDetails, error) {
   619  	msg, err := c.Stream.RecvMsg()
   620  	if err != nil {
   621  		return nil, err
   622  	}
   623  	switch m := msg.(type) {
   624  	case *IpsecTunnelProtectDetails:
   625  		return m, nil
   626  	case *memclnt.ControlPingReply:
   627  		err = c.Stream.Close()
   628  		if err != nil {
   629  			return nil, err
   630  		}
   631  		return nil, io.EOF
   632  	default:
   633  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   634  	}
   635  }
   636  
   637  func (c *serviceClient) IpsecTunnelProtectUpdate(ctx context.Context, in *IpsecTunnelProtectUpdate) (*IpsecTunnelProtectUpdateReply, error) {
   638  	out := new(IpsecTunnelProtectUpdateReply)
   639  	err := c.conn.Invoke(ctx, in, out)
   640  	if err != nil {
   641  		return nil, err
   642  	}
   643  	return out, api.RetvalToVPPApiError(out.Retval)
   644  }