go.ligato.io/vpp-agent/v3@v3.5.0/plugins/vpp/binapi/vpp2101/ip/ip_rpc.ba.go (about)

     1  // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
     2  
     3  package ip
     4  
     5  import (
     6  	"context"
     7  	"fmt"
     8  	"io"
     9  
    10  	api "go.fd.io/govpp/api"
    11  	vpe "go.ligato.io/vpp-agent/v3/plugins/vpp/binapi/vpp2101/vpe"
    12  )
    13  
    14  // RPCService defines RPC service ip.
    15  type RPCService interface {
    16  	IoamDisable(ctx context.Context, in *IoamDisable) (*IoamDisableReply, error)
    17  	IoamEnable(ctx context.Context, in *IoamEnable) (*IoamEnableReply, error)
    18  	IPAddressDump(ctx context.Context, in *IPAddressDump) (RPCService_IPAddressDumpClient, error)
    19  	IPContainerProxyAddDel(ctx context.Context, in *IPContainerProxyAddDel) (*IPContainerProxyAddDelReply, error)
    20  	IPContainerProxyDump(ctx context.Context, in *IPContainerProxyDump) (RPCService_IPContainerProxyDumpClient, error)
    21  	IPDump(ctx context.Context, in *IPDump) (RPCService_IPDumpClient, error)
    22  	IPMrouteAddDel(ctx context.Context, in *IPMrouteAddDel) (*IPMrouteAddDelReply, error)
    23  	IPMrouteDump(ctx context.Context, in *IPMrouteDump) (RPCService_IPMrouteDumpClient, error)
    24  	IPMtableDump(ctx context.Context, in *IPMtableDump) (RPCService_IPMtableDumpClient, error)
    25  	IPPuntPolice(ctx context.Context, in *IPPuntPolice) (*IPPuntPoliceReply, error)
    26  	IPPuntRedirect(ctx context.Context, in *IPPuntRedirect) (*IPPuntRedirectReply, error)
    27  	IPPuntRedirectDump(ctx context.Context, in *IPPuntRedirectDump) (RPCService_IPPuntRedirectDumpClient, error)
    28  	IPReassemblyEnableDisable(ctx context.Context, in *IPReassemblyEnableDisable) (*IPReassemblyEnableDisableReply, error)
    29  	IPReassemblyGet(ctx context.Context, in *IPReassemblyGet) (*IPReassemblyGetReply, error)
    30  	IPReassemblySet(ctx context.Context, in *IPReassemblySet) (*IPReassemblySetReply, error)
    31  	IPRouteAddDel(ctx context.Context, in *IPRouteAddDel) (*IPRouteAddDelReply, error)
    32  	IPRouteDump(ctx context.Context, in *IPRouteDump) (RPCService_IPRouteDumpClient, error)
    33  	IPRouteLookup(ctx context.Context, in *IPRouteLookup) (*IPRouteLookupReply, error)
    34  	IPSourceAndPortRangeCheckAddDel(ctx context.Context, in *IPSourceAndPortRangeCheckAddDel) (*IPSourceAndPortRangeCheckAddDelReply, error)
    35  	IPSourceAndPortRangeCheckInterfaceAddDel(ctx context.Context, in *IPSourceAndPortRangeCheckInterfaceAddDel) (*IPSourceAndPortRangeCheckInterfaceAddDelReply, error)
    36  	IPTableAddDel(ctx context.Context, in *IPTableAddDel) (*IPTableAddDelReply, error)
    37  	IPTableDump(ctx context.Context, in *IPTableDump) (RPCService_IPTableDumpClient, error)
    38  	IPTableFlush(ctx context.Context, in *IPTableFlush) (*IPTableFlushReply, error)
    39  	IPTableReplaceBegin(ctx context.Context, in *IPTableReplaceBegin) (*IPTableReplaceBeginReply, error)
    40  	IPTableReplaceEnd(ctx context.Context, in *IPTableReplaceEnd) (*IPTableReplaceEndReply, error)
    41  	IPUnnumberedDump(ctx context.Context, in *IPUnnumberedDump) (RPCService_IPUnnumberedDumpClient, error)
    42  	MfibSignalDump(ctx context.Context, in *MfibSignalDump) (RPCService_MfibSignalDumpClient, error)
    43  	SetIPFlowHash(ctx context.Context, in *SetIPFlowHash) (*SetIPFlowHashReply, error)
    44  	SwInterfaceIP6EnableDisable(ctx context.Context, in *SwInterfaceIP6EnableDisable) (*SwInterfaceIP6EnableDisableReply, error)
    45  	SwInterfaceIP6SetLinkLocalAddress(ctx context.Context, in *SwInterfaceIP6SetLinkLocalAddress) (*SwInterfaceIP6SetLinkLocalAddressReply, error)
    46  }
    47  
    48  type serviceClient struct {
    49  	conn api.Connection
    50  }
    51  
    52  func NewServiceClient(conn api.Connection) RPCService {
    53  	return &serviceClient{conn}
    54  }
    55  
    56  func (c *serviceClient) IoamDisable(ctx context.Context, in *IoamDisable) (*IoamDisableReply, error) {
    57  	out := new(IoamDisableReply)
    58  	err := c.conn.Invoke(ctx, in, out)
    59  	if err != nil {
    60  		return nil, err
    61  	}
    62  	return out, api.RetvalToVPPApiError(out.Retval)
    63  }
    64  
    65  func (c *serviceClient) IoamEnable(ctx context.Context, in *IoamEnable) (*IoamEnableReply, error) {
    66  	out := new(IoamEnableReply)
    67  	err := c.conn.Invoke(ctx, in, out)
    68  	if err != nil {
    69  		return nil, err
    70  	}
    71  	return out, api.RetvalToVPPApiError(out.Retval)
    72  }
    73  
    74  func (c *serviceClient) IPAddressDump(ctx context.Context, in *IPAddressDump) (RPCService_IPAddressDumpClient, error) {
    75  	stream, err := c.conn.NewStream(ctx)
    76  	if err != nil {
    77  		return nil, err
    78  	}
    79  	x := &serviceClient_IPAddressDumpClient{stream}
    80  	if err := x.Stream.SendMsg(in); err != nil {
    81  		return nil, err
    82  	}
    83  	if err = x.Stream.SendMsg(&vpe.ControlPing{}); err != nil {
    84  		return nil, err
    85  	}
    86  	return x, nil
    87  }
    88  
    89  type RPCService_IPAddressDumpClient interface {
    90  	Recv() (*IPAddressDetails, error)
    91  	api.Stream
    92  }
    93  
    94  type serviceClient_IPAddressDumpClient struct {
    95  	api.Stream
    96  }
    97  
    98  func (c *serviceClient_IPAddressDumpClient) Recv() (*IPAddressDetails, error) {
    99  	msg, err := c.Stream.RecvMsg()
   100  	if err != nil {
   101  		return nil, err
   102  	}
   103  	switch m := msg.(type) {
   104  	case *IPAddressDetails:
   105  		return m, nil
   106  	case *vpe.ControlPingReply:
   107  		err = c.Stream.Close()
   108  		if err != nil {
   109  			return nil, err
   110  		}
   111  		return nil, io.EOF
   112  	default:
   113  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   114  	}
   115  }
   116  
   117  func (c *serviceClient) IPContainerProxyAddDel(ctx context.Context, in *IPContainerProxyAddDel) (*IPContainerProxyAddDelReply, error) {
   118  	out := new(IPContainerProxyAddDelReply)
   119  	err := c.conn.Invoke(ctx, in, out)
   120  	if err != nil {
   121  		return nil, err
   122  	}
   123  	return out, api.RetvalToVPPApiError(out.Retval)
   124  }
   125  
   126  func (c *serviceClient) IPContainerProxyDump(ctx context.Context, in *IPContainerProxyDump) (RPCService_IPContainerProxyDumpClient, error) {
   127  	stream, err := c.conn.NewStream(ctx)
   128  	if err != nil {
   129  		return nil, err
   130  	}
   131  	x := &serviceClient_IPContainerProxyDumpClient{stream}
   132  	if err := x.Stream.SendMsg(in); err != nil {
   133  		return nil, err
   134  	}
   135  	if err = x.Stream.SendMsg(&vpe.ControlPing{}); err != nil {
   136  		return nil, err
   137  	}
   138  	return x, nil
   139  }
   140  
   141  type RPCService_IPContainerProxyDumpClient interface {
   142  	Recv() (*IPContainerProxyDetails, error)
   143  	api.Stream
   144  }
   145  
   146  type serviceClient_IPContainerProxyDumpClient struct {
   147  	api.Stream
   148  }
   149  
   150  func (c *serviceClient_IPContainerProxyDumpClient) Recv() (*IPContainerProxyDetails, error) {
   151  	msg, err := c.Stream.RecvMsg()
   152  	if err != nil {
   153  		return nil, err
   154  	}
   155  	switch m := msg.(type) {
   156  	case *IPContainerProxyDetails:
   157  		return m, nil
   158  	case *vpe.ControlPingReply:
   159  		err = c.Stream.Close()
   160  		if err != nil {
   161  			return nil, err
   162  		}
   163  		return nil, io.EOF
   164  	default:
   165  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   166  	}
   167  }
   168  
   169  func (c *serviceClient) IPDump(ctx context.Context, in *IPDump) (RPCService_IPDumpClient, error) {
   170  	stream, err := c.conn.NewStream(ctx)
   171  	if err != nil {
   172  		return nil, err
   173  	}
   174  	x := &serviceClient_IPDumpClient{stream}
   175  	if err := x.Stream.SendMsg(in); err != nil {
   176  		return nil, err
   177  	}
   178  	if err = x.Stream.SendMsg(&vpe.ControlPing{}); err != nil {
   179  		return nil, err
   180  	}
   181  	return x, nil
   182  }
   183  
   184  type RPCService_IPDumpClient interface {
   185  	Recv() (*IPDetails, error)
   186  	api.Stream
   187  }
   188  
   189  type serviceClient_IPDumpClient struct {
   190  	api.Stream
   191  }
   192  
   193  func (c *serviceClient_IPDumpClient) Recv() (*IPDetails, error) {
   194  	msg, err := c.Stream.RecvMsg()
   195  	if err != nil {
   196  		return nil, err
   197  	}
   198  	switch m := msg.(type) {
   199  	case *IPDetails:
   200  		return m, nil
   201  	case *vpe.ControlPingReply:
   202  		err = c.Stream.Close()
   203  		if err != nil {
   204  			return nil, err
   205  		}
   206  		return nil, io.EOF
   207  	default:
   208  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   209  	}
   210  }
   211  
   212  func (c *serviceClient) IPMrouteAddDel(ctx context.Context, in *IPMrouteAddDel) (*IPMrouteAddDelReply, error) {
   213  	out := new(IPMrouteAddDelReply)
   214  	err := c.conn.Invoke(ctx, in, out)
   215  	if err != nil {
   216  		return nil, err
   217  	}
   218  	return out, api.RetvalToVPPApiError(out.Retval)
   219  }
   220  
   221  func (c *serviceClient) IPMrouteDump(ctx context.Context, in *IPMrouteDump) (RPCService_IPMrouteDumpClient, error) {
   222  	stream, err := c.conn.NewStream(ctx)
   223  	if err != nil {
   224  		return nil, err
   225  	}
   226  	x := &serviceClient_IPMrouteDumpClient{stream}
   227  	if err := x.Stream.SendMsg(in); err != nil {
   228  		return nil, err
   229  	}
   230  	if err = x.Stream.SendMsg(&vpe.ControlPing{}); err != nil {
   231  		return nil, err
   232  	}
   233  	return x, nil
   234  }
   235  
   236  type RPCService_IPMrouteDumpClient interface {
   237  	Recv() (*IPMrouteDetails, error)
   238  	api.Stream
   239  }
   240  
   241  type serviceClient_IPMrouteDumpClient struct {
   242  	api.Stream
   243  }
   244  
   245  func (c *serviceClient_IPMrouteDumpClient) Recv() (*IPMrouteDetails, error) {
   246  	msg, err := c.Stream.RecvMsg()
   247  	if err != nil {
   248  		return nil, err
   249  	}
   250  	switch m := msg.(type) {
   251  	case *IPMrouteDetails:
   252  		return m, nil
   253  	case *vpe.ControlPingReply:
   254  		err = c.Stream.Close()
   255  		if err != nil {
   256  			return nil, err
   257  		}
   258  		return nil, io.EOF
   259  	default:
   260  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   261  	}
   262  }
   263  
   264  func (c *serviceClient) IPMtableDump(ctx context.Context, in *IPMtableDump) (RPCService_IPMtableDumpClient, error) {
   265  	stream, err := c.conn.NewStream(ctx)
   266  	if err != nil {
   267  		return nil, err
   268  	}
   269  	x := &serviceClient_IPMtableDumpClient{stream}
   270  	if err := x.Stream.SendMsg(in); err != nil {
   271  		return nil, err
   272  	}
   273  	if err = x.Stream.SendMsg(&vpe.ControlPing{}); err != nil {
   274  		return nil, err
   275  	}
   276  	return x, nil
   277  }
   278  
   279  type RPCService_IPMtableDumpClient interface {
   280  	Recv() (*IPMtableDetails, error)
   281  	api.Stream
   282  }
   283  
   284  type serviceClient_IPMtableDumpClient struct {
   285  	api.Stream
   286  }
   287  
   288  func (c *serviceClient_IPMtableDumpClient) Recv() (*IPMtableDetails, error) {
   289  	msg, err := c.Stream.RecvMsg()
   290  	if err != nil {
   291  		return nil, err
   292  	}
   293  	switch m := msg.(type) {
   294  	case *IPMtableDetails:
   295  		return m, nil
   296  	case *vpe.ControlPingReply:
   297  		err = c.Stream.Close()
   298  		if err != nil {
   299  			return nil, err
   300  		}
   301  		return nil, io.EOF
   302  	default:
   303  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   304  	}
   305  }
   306  
   307  func (c *serviceClient) IPPuntPolice(ctx context.Context, in *IPPuntPolice) (*IPPuntPoliceReply, error) {
   308  	out := new(IPPuntPoliceReply)
   309  	err := c.conn.Invoke(ctx, in, out)
   310  	if err != nil {
   311  		return nil, err
   312  	}
   313  	return out, api.RetvalToVPPApiError(out.Retval)
   314  }
   315  
   316  func (c *serviceClient) IPPuntRedirect(ctx context.Context, in *IPPuntRedirect) (*IPPuntRedirectReply, error) {
   317  	out := new(IPPuntRedirectReply)
   318  	err := c.conn.Invoke(ctx, in, out)
   319  	if err != nil {
   320  		return nil, err
   321  	}
   322  	return out, api.RetvalToVPPApiError(out.Retval)
   323  }
   324  
   325  func (c *serviceClient) IPPuntRedirectDump(ctx context.Context, in *IPPuntRedirectDump) (RPCService_IPPuntRedirectDumpClient, error) {
   326  	stream, err := c.conn.NewStream(ctx)
   327  	if err != nil {
   328  		return nil, err
   329  	}
   330  	x := &serviceClient_IPPuntRedirectDumpClient{stream}
   331  	if err := x.Stream.SendMsg(in); err != nil {
   332  		return nil, err
   333  	}
   334  	if err = x.Stream.SendMsg(&vpe.ControlPing{}); err != nil {
   335  		return nil, err
   336  	}
   337  	return x, nil
   338  }
   339  
   340  type RPCService_IPPuntRedirectDumpClient interface {
   341  	Recv() (*IPPuntRedirectDetails, error)
   342  	api.Stream
   343  }
   344  
   345  type serviceClient_IPPuntRedirectDumpClient struct {
   346  	api.Stream
   347  }
   348  
   349  func (c *serviceClient_IPPuntRedirectDumpClient) Recv() (*IPPuntRedirectDetails, error) {
   350  	msg, err := c.Stream.RecvMsg()
   351  	if err != nil {
   352  		return nil, err
   353  	}
   354  	switch m := msg.(type) {
   355  	case *IPPuntRedirectDetails:
   356  		return m, nil
   357  	case *vpe.ControlPingReply:
   358  		err = c.Stream.Close()
   359  		if err != nil {
   360  			return nil, err
   361  		}
   362  		return nil, io.EOF
   363  	default:
   364  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   365  	}
   366  }
   367  
   368  func (c *serviceClient) IPReassemblyEnableDisable(ctx context.Context, in *IPReassemblyEnableDisable) (*IPReassemblyEnableDisableReply, error) {
   369  	out := new(IPReassemblyEnableDisableReply)
   370  	err := c.conn.Invoke(ctx, in, out)
   371  	if err != nil {
   372  		return nil, err
   373  	}
   374  	return out, api.RetvalToVPPApiError(out.Retval)
   375  }
   376  
   377  func (c *serviceClient) IPReassemblyGet(ctx context.Context, in *IPReassemblyGet) (*IPReassemblyGetReply, error) {
   378  	out := new(IPReassemblyGetReply)
   379  	err := c.conn.Invoke(ctx, in, out)
   380  	if err != nil {
   381  		return nil, err
   382  	}
   383  	return out, api.RetvalToVPPApiError(out.Retval)
   384  }
   385  
   386  func (c *serviceClient) IPReassemblySet(ctx context.Context, in *IPReassemblySet) (*IPReassemblySetReply, error) {
   387  	out := new(IPReassemblySetReply)
   388  	err := c.conn.Invoke(ctx, in, out)
   389  	if err != nil {
   390  		return nil, err
   391  	}
   392  	return out, api.RetvalToVPPApiError(out.Retval)
   393  }
   394  
   395  func (c *serviceClient) IPRouteAddDel(ctx context.Context, in *IPRouteAddDel) (*IPRouteAddDelReply, error) {
   396  	out := new(IPRouteAddDelReply)
   397  	err := c.conn.Invoke(ctx, in, out)
   398  	if err != nil {
   399  		return nil, err
   400  	}
   401  	return out, api.RetvalToVPPApiError(out.Retval)
   402  }
   403  
   404  func (c *serviceClient) IPRouteDump(ctx context.Context, in *IPRouteDump) (RPCService_IPRouteDumpClient, error) {
   405  	stream, err := c.conn.NewStream(ctx)
   406  	if err != nil {
   407  		return nil, err
   408  	}
   409  	x := &serviceClient_IPRouteDumpClient{stream}
   410  	if err := x.Stream.SendMsg(in); err != nil {
   411  		return nil, err
   412  	}
   413  	if err = x.Stream.SendMsg(&vpe.ControlPing{}); err != nil {
   414  		return nil, err
   415  	}
   416  	return x, nil
   417  }
   418  
   419  type RPCService_IPRouteDumpClient interface {
   420  	Recv() (*IPRouteDetails, error)
   421  	api.Stream
   422  }
   423  
   424  type serviceClient_IPRouteDumpClient struct {
   425  	api.Stream
   426  }
   427  
   428  func (c *serviceClient_IPRouteDumpClient) Recv() (*IPRouteDetails, error) {
   429  	msg, err := c.Stream.RecvMsg()
   430  	if err != nil {
   431  		return nil, err
   432  	}
   433  	switch m := msg.(type) {
   434  	case *IPRouteDetails:
   435  		return m, nil
   436  	case *vpe.ControlPingReply:
   437  		err = c.Stream.Close()
   438  		if err != nil {
   439  			return nil, err
   440  		}
   441  		return nil, io.EOF
   442  	default:
   443  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   444  	}
   445  }
   446  
   447  func (c *serviceClient) IPRouteLookup(ctx context.Context, in *IPRouteLookup) (*IPRouteLookupReply, error) {
   448  	out := new(IPRouteLookupReply)
   449  	err := c.conn.Invoke(ctx, in, out)
   450  	if err != nil {
   451  		return nil, err
   452  	}
   453  	return out, api.RetvalToVPPApiError(out.Retval)
   454  }
   455  
   456  func (c *serviceClient) IPSourceAndPortRangeCheckAddDel(ctx context.Context, in *IPSourceAndPortRangeCheckAddDel) (*IPSourceAndPortRangeCheckAddDelReply, error) {
   457  	out := new(IPSourceAndPortRangeCheckAddDelReply)
   458  	err := c.conn.Invoke(ctx, in, out)
   459  	if err != nil {
   460  		return nil, err
   461  	}
   462  	return out, api.RetvalToVPPApiError(out.Retval)
   463  }
   464  
   465  func (c *serviceClient) IPSourceAndPortRangeCheckInterfaceAddDel(ctx context.Context, in *IPSourceAndPortRangeCheckInterfaceAddDel) (*IPSourceAndPortRangeCheckInterfaceAddDelReply, error) {
   466  	out := new(IPSourceAndPortRangeCheckInterfaceAddDelReply)
   467  	err := c.conn.Invoke(ctx, in, out)
   468  	if err != nil {
   469  		return nil, err
   470  	}
   471  	return out, api.RetvalToVPPApiError(out.Retval)
   472  }
   473  
   474  func (c *serviceClient) IPTableAddDel(ctx context.Context, in *IPTableAddDel) (*IPTableAddDelReply, error) {
   475  	out := new(IPTableAddDelReply)
   476  	err := c.conn.Invoke(ctx, in, out)
   477  	if err != nil {
   478  		return nil, err
   479  	}
   480  	return out, api.RetvalToVPPApiError(out.Retval)
   481  }
   482  
   483  func (c *serviceClient) IPTableDump(ctx context.Context, in *IPTableDump) (RPCService_IPTableDumpClient, error) {
   484  	stream, err := c.conn.NewStream(ctx)
   485  	if err != nil {
   486  		return nil, err
   487  	}
   488  	x := &serviceClient_IPTableDumpClient{stream}
   489  	if err := x.Stream.SendMsg(in); err != nil {
   490  		return nil, err
   491  	}
   492  	if err = x.Stream.SendMsg(&vpe.ControlPing{}); err != nil {
   493  		return nil, err
   494  	}
   495  	return x, nil
   496  }
   497  
   498  type RPCService_IPTableDumpClient interface {
   499  	Recv() (*IPTableDetails, error)
   500  	api.Stream
   501  }
   502  
   503  type serviceClient_IPTableDumpClient struct {
   504  	api.Stream
   505  }
   506  
   507  func (c *serviceClient_IPTableDumpClient) Recv() (*IPTableDetails, error) {
   508  	msg, err := c.Stream.RecvMsg()
   509  	if err != nil {
   510  		return nil, err
   511  	}
   512  	switch m := msg.(type) {
   513  	case *IPTableDetails:
   514  		return m, nil
   515  	case *vpe.ControlPingReply:
   516  		err = c.Stream.Close()
   517  		if err != nil {
   518  			return nil, err
   519  		}
   520  		return nil, io.EOF
   521  	default:
   522  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   523  	}
   524  }
   525  
   526  func (c *serviceClient) IPTableFlush(ctx context.Context, in *IPTableFlush) (*IPTableFlushReply, error) {
   527  	out := new(IPTableFlushReply)
   528  	err := c.conn.Invoke(ctx, in, out)
   529  	if err != nil {
   530  		return nil, err
   531  	}
   532  	return out, api.RetvalToVPPApiError(out.Retval)
   533  }
   534  
   535  func (c *serviceClient) IPTableReplaceBegin(ctx context.Context, in *IPTableReplaceBegin) (*IPTableReplaceBeginReply, error) {
   536  	out := new(IPTableReplaceBeginReply)
   537  	err := c.conn.Invoke(ctx, in, out)
   538  	if err != nil {
   539  		return nil, err
   540  	}
   541  	return out, api.RetvalToVPPApiError(out.Retval)
   542  }
   543  
   544  func (c *serviceClient) IPTableReplaceEnd(ctx context.Context, in *IPTableReplaceEnd) (*IPTableReplaceEndReply, error) {
   545  	out := new(IPTableReplaceEndReply)
   546  	err := c.conn.Invoke(ctx, in, out)
   547  	if err != nil {
   548  		return nil, err
   549  	}
   550  	return out, api.RetvalToVPPApiError(out.Retval)
   551  }
   552  
   553  func (c *serviceClient) IPUnnumberedDump(ctx context.Context, in *IPUnnumberedDump) (RPCService_IPUnnumberedDumpClient, error) {
   554  	stream, err := c.conn.NewStream(ctx)
   555  	if err != nil {
   556  		return nil, err
   557  	}
   558  	x := &serviceClient_IPUnnumberedDumpClient{stream}
   559  	if err := x.Stream.SendMsg(in); err != nil {
   560  		return nil, err
   561  	}
   562  	if err = x.Stream.SendMsg(&vpe.ControlPing{}); err != nil {
   563  		return nil, err
   564  	}
   565  	return x, nil
   566  }
   567  
   568  type RPCService_IPUnnumberedDumpClient interface {
   569  	Recv() (*IPUnnumberedDetails, error)
   570  	api.Stream
   571  }
   572  
   573  type serviceClient_IPUnnumberedDumpClient struct {
   574  	api.Stream
   575  }
   576  
   577  func (c *serviceClient_IPUnnumberedDumpClient) Recv() (*IPUnnumberedDetails, error) {
   578  	msg, err := c.Stream.RecvMsg()
   579  	if err != nil {
   580  		return nil, err
   581  	}
   582  	switch m := msg.(type) {
   583  	case *IPUnnumberedDetails:
   584  		return m, nil
   585  	case *vpe.ControlPingReply:
   586  		err = c.Stream.Close()
   587  		if err != nil {
   588  			return nil, err
   589  		}
   590  		return nil, io.EOF
   591  	default:
   592  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   593  	}
   594  }
   595  
   596  func (c *serviceClient) MfibSignalDump(ctx context.Context, in *MfibSignalDump) (RPCService_MfibSignalDumpClient, error) {
   597  	stream, err := c.conn.NewStream(ctx)
   598  	if err != nil {
   599  		return nil, err
   600  	}
   601  	x := &serviceClient_MfibSignalDumpClient{stream}
   602  	if err := x.Stream.SendMsg(in); err != nil {
   603  		return nil, err
   604  	}
   605  	if err = x.Stream.SendMsg(&vpe.ControlPing{}); err != nil {
   606  		return nil, err
   607  	}
   608  	return x, nil
   609  }
   610  
   611  type RPCService_MfibSignalDumpClient interface {
   612  	Recv() (*MfibSignalDetails, error)
   613  	api.Stream
   614  }
   615  
   616  type serviceClient_MfibSignalDumpClient struct {
   617  	api.Stream
   618  }
   619  
   620  func (c *serviceClient_MfibSignalDumpClient) Recv() (*MfibSignalDetails, error) {
   621  	msg, err := c.Stream.RecvMsg()
   622  	if err != nil {
   623  		return nil, err
   624  	}
   625  	switch m := msg.(type) {
   626  	case *MfibSignalDetails:
   627  		return m, nil
   628  	case *vpe.ControlPingReply:
   629  		err = c.Stream.Close()
   630  		if err != nil {
   631  			return nil, err
   632  		}
   633  		return nil, io.EOF
   634  	default:
   635  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   636  	}
   637  }
   638  
   639  func (c *serviceClient) SetIPFlowHash(ctx context.Context, in *SetIPFlowHash) (*SetIPFlowHashReply, error) {
   640  	out := new(SetIPFlowHashReply)
   641  	err := c.conn.Invoke(ctx, in, out)
   642  	if err != nil {
   643  		return nil, err
   644  	}
   645  	return out, api.RetvalToVPPApiError(out.Retval)
   646  }
   647  
   648  func (c *serviceClient) SwInterfaceIP6EnableDisable(ctx context.Context, in *SwInterfaceIP6EnableDisable) (*SwInterfaceIP6EnableDisableReply, error) {
   649  	out := new(SwInterfaceIP6EnableDisableReply)
   650  	err := c.conn.Invoke(ctx, in, out)
   651  	if err != nil {
   652  		return nil, err
   653  	}
   654  	return out, api.RetvalToVPPApiError(out.Retval)
   655  }
   656  
   657  func (c *serviceClient) SwInterfaceIP6SetLinkLocalAddress(ctx context.Context, in *SwInterfaceIP6SetLinkLocalAddress) (*SwInterfaceIP6SetLinkLocalAddressReply, error) {
   658  	out := new(SwInterfaceIP6SetLinkLocalAddressReply)
   659  	err := c.conn.Invoke(ctx, in, out)
   660  	if err != nil {
   661  		return nil, err
   662  	}
   663  	return out, api.RetvalToVPPApiError(out.Retval)
   664  }