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