github.com/networkservicemesh/govpp@v0.0.0-20240328101142-8a444680fbba/binapi/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  	memclnt "github.com/networkservicemesh/govpp/binapi/memclnt"
    11  	api "go.fd.io/govpp/api"
    12  )
    13  
    14  // RPCService defines RPC service ip.
    15  type RPCService interface {
    16  	AddDelIPPuntRedirectV2(ctx context.Context, in *AddDelIPPuntRedirectV2) (*AddDelIPPuntRedirectV2Reply, error)
    17  	IoamDisable(ctx context.Context, in *IoamDisable) (*IoamDisableReply, error)
    18  	IoamEnable(ctx context.Context, in *IoamEnable) (*IoamEnableReply, error)
    19  	IPAddressDump(ctx context.Context, in *IPAddressDump) (RPCService_IPAddressDumpClient, error)
    20  	IPContainerProxyAddDel(ctx context.Context, in *IPContainerProxyAddDel) (*IPContainerProxyAddDelReply, error)
    21  	IPContainerProxyDump(ctx context.Context, in *IPContainerProxyDump) (RPCService_IPContainerProxyDumpClient, error)
    22  	IPDump(ctx context.Context, in *IPDump) (RPCService_IPDumpClient, error)
    23  	IPLocalReassEnableDisable(ctx context.Context, in *IPLocalReassEnableDisable) (*IPLocalReassEnableDisableReply, error)
    24  	IPLocalReassGet(ctx context.Context, in *IPLocalReassGet) (*IPLocalReassGetReply, error)
    25  	IPMrouteAddDel(ctx context.Context, in *IPMrouteAddDel) (*IPMrouteAddDelReply, error)
    26  	IPMrouteDump(ctx context.Context, in *IPMrouteDump) (RPCService_IPMrouteDumpClient, error)
    27  	IPMtableDump(ctx context.Context, in *IPMtableDump) (RPCService_IPMtableDumpClient, error)
    28  	IPPathMtuGet(ctx context.Context, in *IPPathMtuGet) (RPCService_IPPathMtuGetClient, error)
    29  	IPPathMtuReplaceBegin(ctx context.Context, in *IPPathMtuReplaceBegin) (*IPPathMtuReplaceBeginReply, error)
    30  	IPPathMtuReplaceEnd(ctx context.Context, in *IPPathMtuReplaceEnd) (*IPPathMtuReplaceEndReply, error)
    31  	IPPathMtuUpdate(ctx context.Context, in *IPPathMtuUpdate) (*IPPathMtuUpdateReply, error)
    32  	IPPuntPolice(ctx context.Context, in *IPPuntPolice) (*IPPuntPoliceReply, error)
    33  	IPPuntRedirect(ctx context.Context, in *IPPuntRedirect) (*IPPuntRedirectReply, error)
    34  	IPPuntRedirectDump(ctx context.Context, in *IPPuntRedirectDump) (RPCService_IPPuntRedirectDumpClient, error)
    35  	IPPuntRedirectV2Dump(ctx context.Context, in *IPPuntRedirectV2Dump) (RPCService_IPPuntRedirectV2DumpClient, error)
    36  	IPReassemblyEnableDisable(ctx context.Context, in *IPReassemblyEnableDisable) (*IPReassemblyEnableDisableReply, error)
    37  	IPReassemblyGet(ctx context.Context, in *IPReassemblyGet) (*IPReassemblyGetReply, error)
    38  	IPReassemblySet(ctx context.Context, in *IPReassemblySet) (*IPReassemblySetReply, error)
    39  	IPRouteAddDel(ctx context.Context, in *IPRouteAddDel) (*IPRouteAddDelReply, error)
    40  	IPRouteAddDelV2(ctx context.Context, in *IPRouteAddDelV2) (*IPRouteAddDelV2Reply, error)
    41  	IPRouteDump(ctx context.Context, in *IPRouteDump) (RPCService_IPRouteDumpClient, error)
    42  	IPRouteLookup(ctx context.Context, in *IPRouteLookup) (*IPRouteLookupReply, error)
    43  	IPRouteLookupV2(ctx context.Context, in *IPRouteLookupV2) (*IPRouteLookupV2Reply, error)
    44  	IPRouteV2Dump(ctx context.Context, in *IPRouteV2Dump) (RPCService_IPRouteV2DumpClient, error)
    45  	IPSourceAndPortRangeCheckAddDel(ctx context.Context, in *IPSourceAndPortRangeCheckAddDel) (*IPSourceAndPortRangeCheckAddDelReply, error)
    46  	IPSourceAndPortRangeCheckInterfaceAddDel(ctx context.Context, in *IPSourceAndPortRangeCheckInterfaceAddDel) (*IPSourceAndPortRangeCheckInterfaceAddDelReply, error)
    47  	IPTableAddDel(ctx context.Context, in *IPTableAddDel) (*IPTableAddDelReply, error)
    48  	IPTableAllocate(ctx context.Context, in *IPTableAllocate) (*IPTableAllocateReply, error)
    49  	IPTableDump(ctx context.Context, in *IPTableDump) (RPCService_IPTableDumpClient, error)
    50  	IPTableFlush(ctx context.Context, in *IPTableFlush) (*IPTableFlushReply, error)
    51  	IPTableReplaceBegin(ctx context.Context, in *IPTableReplaceBegin) (*IPTableReplaceBeginReply, error)
    52  	IPTableReplaceEnd(ctx context.Context, in *IPTableReplaceEnd) (*IPTableReplaceEndReply, error)
    53  	IPUnnumberedDump(ctx context.Context, in *IPUnnumberedDump) (RPCService_IPUnnumberedDumpClient, error)
    54  	MfibSignalDump(ctx context.Context, in *MfibSignalDump) (RPCService_MfibSignalDumpClient, error)
    55  	SetIPFlowHash(ctx context.Context, in *SetIPFlowHash) (*SetIPFlowHashReply, error)
    56  	SetIPFlowHashRouterID(ctx context.Context, in *SetIPFlowHashRouterID) (*SetIPFlowHashRouterIDReply, error)
    57  	SetIPFlowHashV2(ctx context.Context, in *SetIPFlowHashV2) (*SetIPFlowHashV2Reply, error)
    58  	SetIPFlowHashV3(ctx context.Context, in *SetIPFlowHashV3) (*SetIPFlowHashV3Reply, error)
    59  	SwInterfaceIP6EnableDisable(ctx context.Context, in *SwInterfaceIP6EnableDisable) (*SwInterfaceIP6EnableDisableReply, error)
    60  	SwInterfaceIP6GetLinkLocalAddress(ctx context.Context, in *SwInterfaceIP6GetLinkLocalAddress) (*SwInterfaceIP6GetLinkLocalAddressReply, error)
    61  	SwInterfaceIP6SetLinkLocalAddress(ctx context.Context, in *SwInterfaceIP6SetLinkLocalAddress) (*SwInterfaceIP6SetLinkLocalAddressReply, error)
    62  }
    63  
    64  type serviceClient struct {
    65  	conn api.Connection
    66  }
    67  
    68  func NewServiceClient(conn api.Connection) RPCService {
    69  	return &serviceClient{conn}
    70  }
    71  
    72  func (c *serviceClient) AddDelIPPuntRedirectV2(ctx context.Context, in *AddDelIPPuntRedirectV2) (*AddDelIPPuntRedirectV2Reply, error) {
    73  	out := new(AddDelIPPuntRedirectV2Reply)
    74  	err := c.conn.Invoke(ctx, in, out)
    75  	if err != nil {
    76  		return nil, err
    77  	}
    78  	return out, api.RetvalToVPPApiError(out.Retval)
    79  }
    80  
    81  func (c *serviceClient) IoamDisable(ctx context.Context, in *IoamDisable) (*IoamDisableReply, error) {
    82  	out := new(IoamDisableReply)
    83  	err := c.conn.Invoke(ctx, in, out)
    84  	if err != nil {
    85  		return nil, err
    86  	}
    87  	return out, api.RetvalToVPPApiError(out.Retval)
    88  }
    89  
    90  func (c *serviceClient) IoamEnable(ctx context.Context, in *IoamEnable) (*IoamEnableReply, error) {
    91  	out := new(IoamEnableReply)
    92  	err := c.conn.Invoke(ctx, in, out)
    93  	if err != nil {
    94  		return nil, err
    95  	}
    96  	return out, api.RetvalToVPPApiError(out.Retval)
    97  }
    98  
    99  func (c *serviceClient) IPAddressDump(ctx context.Context, in *IPAddressDump) (RPCService_IPAddressDumpClient, error) {
   100  	stream, err := c.conn.NewStream(ctx)
   101  	if err != nil {
   102  		return nil, err
   103  	}
   104  	x := &serviceClient_IPAddressDumpClient{stream}
   105  	if err := x.Stream.SendMsg(in); err != nil {
   106  		return nil, err
   107  	}
   108  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
   109  		return nil, err
   110  	}
   111  	return x, nil
   112  }
   113  
   114  type RPCService_IPAddressDumpClient interface {
   115  	Recv() (*IPAddressDetails, error)
   116  	api.Stream
   117  }
   118  
   119  type serviceClient_IPAddressDumpClient struct {
   120  	api.Stream
   121  }
   122  
   123  func (c *serviceClient_IPAddressDumpClient) Recv() (*IPAddressDetails, error) {
   124  	msg, err := c.Stream.RecvMsg()
   125  	if err != nil {
   126  		return nil, err
   127  	}
   128  	switch m := msg.(type) {
   129  	case *IPAddressDetails:
   130  		return m, nil
   131  	case *memclnt.ControlPingReply:
   132  		err = c.Stream.Close()
   133  		if err != nil {
   134  			return nil, err
   135  		}
   136  		return nil, io.EOF
   137  	default:
   138  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   139  	}
   140  }
   141  
   142  func (c *serviceClient) IPContainerProxyAddDel(ctx context.Context, in *IPContainerProxyAddDel) (*IPContainerProxyAddDelReply, error) {
   143  	out := new(IPContainerProxyAddDelReply)
   144  	err := c.conn.Invoke(ctx, in, out)
   145  	if err != nil {
   146  		return nil, err
   147  	}
   148  	return out, api.RetvalToVPPApiError(out.Retval)
   149  }
   150  
   151  func (c *serviceClient) IPContainerProxyDump(ctx context.Context, in *IPContainerProxyDump) (RPCService_IPContainerProxyDumpClient, error) {
   152  	stream, err := c.conn.NewStream(ctx)
   153  	if err != nil {
   154  		return nil, err
   155  	}
   156  	x := &serviceClient_IPContainerProxyDumpClient{stream}
   157  	if err := x.Stream.SendMsg(in); err != nil {
   158  		return nil, err
   159  	}
   160  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
   161  		return nil, err
   162  	}
   163  	return x, nil
   164  }
   165  
   166  type RPCService_IPContainerProxyDumpClient interface {
   167  	Recv() (*IPContainerProxyDetails, error)
   168  	api.Stream
   169  }
   170  
   171  type serviceClient_IPContainerProxyDumpClient struct {
   172  	api.Stream
   173  }
   174  
   175  func (c *serviceClient_IPContainerProxyDumpClient) Recv() (*IPContainerProxyDetails, error) {
   176  	msg, err := c.Stream.RecvMsg()
   177  	if err != nil {
   178  		return nil, err
   179  	}
   180  	switch m := msg.(type) {
   181  	case *IPContainerProxyDetails:
   182  		return m, nil
   183  	case *memclnt.ControlPingReply:
   184  		err = c.Stream.Close()
   185  		if err != nil {
   186  			return nil, err
   187  		}
   188  		return nil, io.EOF
   189  	default:
   190  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   191  	}
   192  }
   193  
   194  func (c *serviceClient) IPDump(ctx context.Context, in *IPDump) (RPCService_IPDumpClient, error) {
   195  	stream, err := c.conn.NewStream(ctx)
   196  	if err != nil {
   197  		return nil, err
   198  	}
   199  	x := &serviceClient_IPDumpClient{stream}
   200  	if err := x.Stream.SendMsg(in); err != nil {
   201  		return nil, err
   202  	}
   203  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
   204  		return nil, err
   205  	}
   206  	return x, nil
   207  }
   208  
   209  type RPCService_IPDumpClient interface {
   210  	Recv() (*IPDetails, error)
   211  	api.Stream
   212  }
   213  
   214  type serviceClient_IPDumpClient struct {
   215  	api.Stream
   216  }
   217  
   218  func (c *serviceClient_IPDumpClient) Recv() (*IPDetails, error) {
   219  	msg, err := c.Stream.RecvMsg()
   220  	if err != nil {
   221  		return nil, err
   222  	}
   223  	switch m := msg.(type) {
   224  	case *IPDetails:
   225  		return m, nil
   226  	case *memclnt.ControlPingReply:
   227  		err = c.Stream.Close()
   228  		if err != nil {
   229  			return nil, err
   230  		}
   231  		return nil, io.EOF
   232  	default:
   233  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   234  	}
   235  }
   236  
   237  func (c *serviceClient) IPLocalReassEnableDisable(ctx context.Context, in *IPLocalReassEnableDisable) (*IPLocalReassEnableDisableReply, error) {
   238  	out := new(IPLocalReassEnableDisableReply)
   239  	err := c.conn.Invoke(ctx, in, out)
   240  	if err != nil {
   241  		return nil, err
   242  	}
   243  	return out, api.RetvalToVPPApiError(out.Retval)
   244  }
   245  
   246  func (c *serviceClient) IPLocalReassGet(ctx context.Context, in *IPLocalReassGet) (*IPLocalReassGetReply, error) {
   247  	out := new(IPLocalReassGetReply)
   248  	err := c.conn.Invoke(ctx, in, out)
   249  	if err != nil {
   250  		return nil, err
   251  	}
   252  	return out, api.RetvalToVPPApiError(out.Retval)
   253  }
   254  
   255  func (c *serviceClient) IPMrouteAddDel(ctx context.Context, in *IPMrouteAddDel) (*IPMrouteAddDelReply, error) {
   256  	out := new(IPMrouteAddDelReply)
   257  	err := c.conn.Invoke(ctx, in, out)
   258  	if err != nil {
   259  		return nil, err
   260  	}
   261  	return out, api.RetvalToVPPApiError(out.Retval)
   262  }
   263  
   264  func (c *serviceClient) IPMrouteDump(ctx context.Context, in *IPMrouteDump) (RPCService_IPMrouteDumpClient, error) {
   265  	stream, err := c.conn.NewStream(ctx)
   266  	if err != nil {
   267  		return nil, err
   268  	}
   269  	x := &serviceClient_IPMrouteDumpClient{stream}
   270  	if err := x.Stream.SendMsg(in); err != nil {
   271  		return nil, err
   272  	}
   273  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
   274  		return nil, err
   275  	}
   276  	return x, nil
   277  }
   278  
   279  type RPCService_IPMrouteDumpClient interface {
   280  	Recv() (*IPMrouteDetails, error)
   281  	api.Stream
   282  }
   283  
   284  type serviceClient_IPMrouteDumpClient struct {
   285  	api.Stream
   286  }
   287  
   288  func (c *serviceClient_IPMrouteDumpClient) Recv() (*IPMrouteDetails, error) {
   289  	msg, err := c.Stream.RecvMsg()
   290  	if err != nil {
   291  		return nil, err
   292  	}
   293  	switch m := msg.(type) {
   294  	case *IPMrouteDetails:
   295  		return m, nil
   296  	case *memclnt.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) IPMtableDump(ctx context.Context, in *IPMtableDump) (RPCService_IPMtableDumpClient, error) {
   308  	stream, err := c.conn.NewStream(ctx)
   309  	if err != nil {
   310  		return nil, err
   311  	}
   312  	x := &serviceClient_IPMtableDumpClient{stream}
   313  	if err := x.Stream.SendMsg(in); err != nil {
   314  		return nil, err
   315  	}
   316  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
   317  		return nil, err
   318  	}
   319  	return x, nil
   320  }
   321  
   322  type RPCService_IPMtableDumpClient interface {
   323  	Recv() (*IPMtableDetails, error)
   324  	api.Stream
   325  }
   326  
   327  type serviceClient_IPMtableDumpClient struct {
   328  	api.Stream
   329  }
   330  
   331  func (c *serviceClient_IPMtableDumpClient) Recv() (*IPMtableDetails, error) {
   332  	msg, err := c.Stream.RecvMsg()
   333  	if err != nil {
   334  		return nil, err
   335  	}
   336  	switch m := msg.(type) {
   337  	case *IPMtableDetails:
   338  		return m, nil
   339  	case *memclnt.ControlPingReply:
   340  		err = c.Stream.Close()
   341  		if err != nil {
   342  			return nil, err
   343  		}
   344  		return nil, io.EOF
   345  	default:
   346  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   347  	}
   348  }
   349  
   350  func (c *serviceClient) IPPathMtuGet(ctx context.Context, in *IPPathMtuGet) (RPCService_IPPathMtuGetClient, error) {
   351  	stream, err := c.conn.NewStream(ctx)
   352  	if err != nil {
   353  		return nil, err
   354  	}
   355  	x := &serviceClient_IPPathMtuGetClient{stream}
   356  	if err := x.Stream.SendMsg(in); err != nil {
   357  		return nil, err
   358  	}
   359  	return x, nil
   360  }
   361  
   362  type RPCService_IPPathMtuGetClient interface {
   363  	Recv() (*IPPathMtuDetails, *IPPathMtuGetReply, error)
   364  	api.Stream
   365  }
   366  
   367  type serviceClient_IPPathMtuGetClient struct {
   368  	api.Stream
   369  }
   370  
   371  func (c *serviceClient_IPPathMtuGetClient) Recv() (*IPPathMtuDetails, *IPPathMtuGetReply, error) {
   372  	msg, err := c.Stream.RecvMsg()
   373  	if err != nil {
   374  		return nil, nil, err
   375  	}
   376  	switch m := msg.(type) {
   377  	case *IPPathMtuDetails:
   378  		return m, nil, nil
   379  	case *IPPathMtuGetReply:
   380  		if err := api.RetvalToVPPApiError(m.Retval); err != nil {
   381  			c.Stream.Close()
   382  			return nil, m, err
   383  		}
   384  		err = c.Stream.Close()
   385  		if err != nil {
   386  			return nil, m, err
   387  		}
   388  		return nil, m, io.EOF
   389  	default:
   390  		return nil, nil, fmt.Errorf("unexpected message: %T %v", m, m)
   391  	}
   392  }
   393  
   394  func (c *serviceClient) IPPathMtuReplaceBegin(ctx context.Context, in *IPPathMtuReplaceBegin) (*IPPathMtuReplaceBeginReply, error) {
   395  	out := new(IPPathMtuReplaceBeginReply)
   396  	err := c.conn.Invoke(ctx, in, out)
   397  	if err != nil {
   398  		return nil, err
   399  	}
   400  	return out, api.RetvalToVPPApiError(out.Retval)
   401  }
   402  
   403  func (c *serviceClient) IPPathMtuReplaceEnd(ctx context.Context, in *IPPathMtuReplaceEnd) (*IPPathMtuReplaceEndReply, error) {
   404  	out := new(IPPathMtuReplaceEndReply)
   405  	err := c.conn.Invoke(ctx, in, out)
   406  	if err != nil {
   407  		return nil, err
   408  	}
   409  	return out, api.RetvalToVPPApiError(out.Retval)
   410  }
   411  
   412  func (c *serviceClient) IPPathMtuUpdate(ctx context.Context, in *IPPathMtuUpdate) (*IPPathMtuUpdateReply, error) {
   413  	out := new(IPPathMtuUpdateReply)
   414  	err := c.conn.Invoke(ctx, in, out)
   415  	if err != nil {
   416  		return nil, err
   417  	}
   418  	return out, api.RetvalToVPPApiError(out.Retval)
   419  }
   420  
   421  func (c *serviceClient) IPPuntPolice(ctx context.Context, in *IPPuntPolice) (*IPPuntPoliceReply, error) {
   422  	out := new(IPPuntPoliceReply)
   423  	err := c.conn.Invoke(ctx, in, out)
   424  	if err != nil {
   425  		return nil, err
   426  	}
   427  	return out, api.RetvalToVPPApiError(out.Retval)
   428  }
   429  
   430  func (c *serviceClient) IPPuntRedirect(ctx context.Context, in *IPPuntRedirect) (*IPPuntRedirectReply, error) {
   431  	out := new(IPPuntRedirectReply)
   432  	err := c.conn.Invoke(ctx, in, out)
   433  	if err != nil {
   434  		return nil, err
   435  	}
   436  	return out, api.RetvalToVPPApiError(out.Retval)
   437  }
   438  
   439  func (c *serviceClient) IPPuntRedirectDump(ctx context.Context, in *IPPuntRedirectDump) (RPCService_IPPuntRedirectDumpClient, error) {
   440  	stream, err := c.conn.NewStream(ctx)
   441  	if err != nil {
   442  		return nil, err
   443  	}
   444  	x := &serviceClient_IPPuntRedirectDumpClient{stream}
   445  	if err := x.Stream.SendMsg(in); err != nil {
   446  		return nil, err
   447  	}
   448  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
   449  		return nil, err
   450  	}
   451  	return x, nil
   452  }
   453  
   454  type RPCService_IPPuntRedirectDumpClient interface {
   455  	Recv() (*IPPuntRedirectDetails, error)
   456  	api.Stream
   457  }
   458  
   459  type serviceClient_IPPuntRedirectDumpClient struct {
   460  	api.Stream
   461  }
   462  
   463  func (c *serviceClient_IPPuntRedirectDumpClient) Recv() (*IPPuntRedirectDetails, error) {
   464  	msg, err := c.Stream.RecvMsg()
   465  	if err != nil {
   466  		return nil, err
   467  	}
   468  	switch m := msg.(type) {
   469  	case *IPPuntRedirectDetails:
   470  		return m, nil
   471  	case *memclnt.ControlPingReply:
   472  		err = c.Stream.Close()
   473  		if err != nil {
   474  			return nil, err
   475  		}
   476  		return nil, io.EOF
   477  	default:
   478  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   479  	}
   480  }
   481  
   482  func (c *serviceClient) IPPuntRedirectV2Dump(ctx context.Context, in *IPPuntRedirectV2Dump) (RPCService_IPPuntRedirectV2DumpClient, error) {
   483  	stream, err := c.conn.NewStream(ctx)
   484  	if err != nil {
   485  		return nil, err
   486  	}
   487  	x := &serviceClient_IPPuntRedirectV2DumpClient{stream}
   488  	if err := x.Stream.SendMsg(in); err != nil {
   489  		return nil, err
   490  	}
   491  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
   492  		return nil, err
   493  	}
   494  	return x, nil
   495  }
   496  
   497  type RPCService_IPPuntRedirectV2DumpClient interface {
   498  	Recv() (*IPPuntRedirectV2Details, error)
   499  	api.Stream
   500  }
   501  
   502  type serviceClient_IPPuntRedirectV2DumpClient struct {
   503  	api.Stream
   504  }
   505  
   506  func (c *serviceClient_IPPuntRedirectV2DumpClient) Recv() (*IPPuntRedirectV2Details, error) {
   507  	msg, err := c.Stream.RecvMsg()
   508  	if err != nil {
   509  		return nil, err
   510  	}
   511  	switch m := msg.(type) {
   512  	case *IPPuntRedirectV2Details:
   513  		return m, nil
   514  	case *memclnt.ControlPingReply:
   515  		err = c.Stream.Close()
   516  		if err != nil {
   517  			return nil, err
   518  		}
   519  		return nil, io.EOF
   520  	default:
   521  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   522  	}
   523  }
   524  
   525  func (c *serviceClient) IPReassemblyEnableDisable(ctx context.Context, in *IPReassemblyEnableDisable) (*IPReassemblyEnableDisableReply, error) {
   526  	out := new(IPReassemblyEnableDisableReply)
   527  	err := c.conn.Invoke(ctx, in, out)
   528  	if err != nil {
   529  		return nil, err
   530  	}
   531  	return out, api.RetvalToVPPApiError(out.Retval)
   532  }
   533  
   534  func (c *serviceClient) IPReassemblyGet(ctx context.Context, in *IPReassemblyGet) (*IPReassemblyGetReply, error) {
   535  	out := new(IPReassemblyGetReply)
   536  	err := c.conn.Invoke(ctx, in, out)
   537  	if err != nil {
   538  		return nil, err
   539  	}
   540  	return out, api.RetvalToVPPApiError(out.Retval)
   541  }
   542  
   543  func (c *serviceClient) IPReassemblySet(ctx context.Context, in *IPReassemblySet) (*IPReassemblySetReply, error) {
   544  	out := new(IPReassemblySetReply)
   545  	err := c.conn.Invoke(ctx, in, out)
   546  	if err != nil {
   547  		return nil, err
   548  	}
   549  	return out, api.RetvalToVPPApiError(out.Retval)
   550  }
   551  
   552  func (c *serviceClient) IPRouteAddDel(ctx context.Context, in *IPRouteAddDel) (*IPRouteAddDelReply, error) {
   553  	out := new(IPRouteAddDelReply)
   554  	err := c.conn.Invoke(ctx, in, out)
   555  	if err != nil {
   556  		return nil, err
   557  	}
   558  	return out, api.RetvalToVPPApiError(out.Retval)
   559  }
   560  
   561  func (c *serviceClient) IPRouteAddDelV2(ctx context.Context, in *IPRouteAddDelV2) (*IPRouteAddDelV2Reply, error) {
   562  	out := new(IPRouteAddDelV2Reply)
   563  	err := c.conn.Invoke(ctx, in, out)
   564  	if err != nil {
   565  		return nil, err
   566  	}
   567  	return out, api.RetvalToVPPApiError(out.Retval)
   568  }
   569  
   570  func (c *serviceClient) IPRouteDump(ctx context.Context, in *IPRouteDump) (RPCService_IPRouteDumpClient, error) {
   571  	stream, err := c.conn.NewStream(ctx)
   572  	if err != nil {
   573  		return nil, err
   574  	}
   575  	x := &serviceClient_IPRouteDumpClient{stream}
   576  	if err := x.Stream.SendMsg(in); err != nil {
   577  		return nil, err
   578  	}
   579  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
   580  		return nil, err
   581  	}
   582  	return x, nil
   583  }
   584  
   585  type RPCService_IPRouteDumpClient interface {
   586  	Recv() (*IPRouteDetails, error)
   587  	api.Stream
   588  }
   589  
   590  type serviceClient_IPRouteDumpClient struct {
   591  	api.Stream
   592  }
   593  
   594  func (c *serviceClient_IPRouteDumpClient) Recv() (*IPRouteDetails, error) {
   595  	msg, err := c.Stream.RecvMsg()
   596  	if err != nil {
   597  		return nil, err
   598  	}
   599  	switch m := msg.(type) {
   600  	case *IPRouteDetails:
   601  		return m, nil
   602  	case *memclnt.ControlPingReply:
   603  		err = c.Stream.Close()
   604  		if err != nil {
   605  			return nil, err
   606  		}
   607  		return nil, io.EOF
   608  	default:
   609  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   610  	}
   611  }
   612  
   613  func (c *serviceClient) IPRouteLookup(ctx context.Context, in *IPRouteLookup) (*IPRouteLookupReply, error) {
   614  	out := new(IPRouteLookupReply)
   615  	err := c.conn.Invoke(ctx, in, out)
   616  	if err != nil {
   617  		return nil, err
   618  	}
   619  	return out, api.RetvalToVPPApiError(out.Retval)
   620  }
   621  
   622  func (c *serviceClient) IPRouteLookupV2(ctx context.Context, in *IPRouteLookupV2) (*IPRouteLookupV2Reply, error) {
   623  	out := new(IPRouteLookupV2Reply)
   624  	err := c.conn.Invoke(ctx, in, out)
   625  	if err != nil {
   626  		return nil, err
   627  	}
   628  	return out, api.RetvalToVPPApiError(out.Retval)
   629  }
   630  
   631  func (c *serviceClient) IPRouteV2Dump(ctx context.Context, in *IPRouteV2Dump) (RPCService_IPRouteV2DumpClient, error) {
   632  	stream, err := c.conn.NewStream(ctx)
   633  	if err != nil {
   634  		return nil, err
   635  	}
   636  	x := &serviceClient_IPRouteV2DumpClient{stream}
   637  	if err := x.Stream.SendMsg(in); err != nil {
   638  		return nil, err
   639  	}
   640  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
   641  		return nil, err
   642  	}
   643  	return x, nil
   644  }
   645  
   646  type RPCService_IPRouteV2DumpClient interface {
   647  	Recv() (*IPRouteV2Details, error)
   648  	api.Stream
   649  }
   650  
   651  type serviceClient_IPRouteV2DumpClient struct {
   652  	api.Stream
   653  }
   654  
   655  func (c *serviceClient_IPRouteV2DumpClient) Recv() (*IPRouteV2Details, error) {
   656  	msg, err := c.Stream.RecvMsg()
   657  	if err != nil {
   658  		return nil, err
   659  	}
   660  	switch m := msg.(type) {
   661  	case *IPRouteV2Details:
   662  		return m, nil
   663  	case *memclnt.ControlPingReply:
   664  		err = c.Stream.Close()
   665  		if err != nil {
   666  			return nil, err
   667  		}
   668  		return nil, io.EOF
   669  	default:
   670  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   671  	}
   672  }
   673  
   674  func (c *serviceClient) IPSourceAndPortRangeCheckAddDel(ctx context.Context, in *IPSourceAndPortRangeCheckAddDel) (*IPSourceAndPortRangeCheckAddDelReply, error) {
   675  	out := new(IPSourceAndPortRangeCheckAddDelReply)
   676  	err := c.conn.Invoke(ctx, in, out)
   677  	if err != nil {
   678  		return nil, err
   679  	}
   680  	return out, api.RetvalToVPPApiError(out.Retval)
   681  }
   682  
   683  func (c *serviceClient) IPSourceAndPortRangeCheckInterfaceAddDel(ctx context.Context, in *IPSourceAndPortRangeCheckInterfaceAddDel) (*IPSourceAndPortRangeCheckInterfaceAddDelReply, error) {
   684  	out := new(IPSourceAndPortRangeCheckInterfaceAddDelReply)
   685  	err := c.conn.Invoke(ctx, in, out)
   686  	if err != nil {
   687  		return nil, err
   688  	}
   689  	return out, api.RetvalToVPPApiError(out.Retval)
   690  }
   691  
   692  func (c *serviceClient) IPTableAddDel(ctx context.Context, in *IPTableAddDel) (*IPTableAddDelReply, error) {
   693  	out := new(IPTableAddDelReply)
   694  	err := c.conn.Invoke(ctx, in, out)
   695  	if err != nil {
   696  		return nil, err
   697  	}
   698  	return out, api.RetvalToVPPApiError(out.Retval)
   699  }
   700  
   701  func (c *serviceClient) IPTableAllocate(ctx context.Context, in *IPTableAllocate) (*IPTableAllocateReply, error) {
   702  	out := new(IPTableAllocateReply)
   703  	err := c.conn.Invoke(ctx, in, out)
   704  	if err != nil {
   705  		return nil, err
   706  	}
   707  	return out, api.RetvalToVPPApiError(out.Retval)
   708  }
   709  
   710  func (c *serviceClient) IPTableDump(ctx context.Context, in *IPTableDump) (RPCService_IPTableDumpClient, error) {
   711  	stream, err := c.conn.NewStream(ctx)
   712  	if err != nil {
   713  		return nil, err
   714  	}
   715  	x := &serviceClient_IPTableDumpClient{stream}
   716  	if err := x.Stream.SendMsg(in); err != nil {
   717  		return nil, err
   718  	}
   719  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
   720  		return nil, err
   721  	}
   722  	return x, nil
   723  }
   724  
   725  type RPCService_IPTableDumpClient interface {
   726  	Recv() (*IPTableDetails, error)
   727  	api.Stream
   728  }
   729  
   730  type serviceClient_IPTableDumpClient struct {
   731  	api.Stream
   732  }
   733  
   734  func (c *serviceClient_IPTableDumpClient) Recv() (*IPTableDetails, error) {
   735  	msg, err := c.Stream.RecvMsg()
   736  	if err != nil {
   737  		return nil, err
   738  	}
   739  	switch m := msg.(type) {
   740  	case *IPTableDetails:
   741  		return m, nil
   742  	case *memclnt.ControlPingReply:
   743  		err = c.Stream.Close()
   744  		if err != nil {
   745  			return nil, err
   746  		}
   747  		return nil, io.EOF
   748  	default:
   749  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   750  	}
   751  }
   752  
   753  func (c *serviceClient) IPTableFlush(ctx context.Context, in *IPTableFlush) (*IPTableFlushReply, error) {
   754  	out := new(IPTableFlushReply)
   755  	err := c.conn.Invoke(ctx, in, out)
   756  	if err != nil {
   757  		return nil, err
   758  	}
   759  	return out, api.RetvalToVPPApiError(out.Retval)
   760  }
   761  
   762  func (c *serviceClient) IPTableReplaceBegin(ctx context.Context, in *IPTableReplaceBegin) (*IPTableReplaceBeginReply, error) {
   763  	out := new(IPTableReplaceBeginReply)
   764  	err := c.conn.Invoke(ctx, in, out)
   765  	if err != nil {
   766  		return nil, err
   767  	}
   768  	return out, api.RetvalToVPPApiError(out.Retval)
   769  }
   770  
   771  func (c *serviceClient) IPTableReplaceEnd(ctx context.Context, in *IPTableReplaceEnd) (*IPTableReplaceEndReply, error) {
   772  	out := new(IPTableReplaceEndReply)
   773  	err := c.conn.Invoke(ctx, in, out)
   774  	if err != nil {
   775  		return nil, err
   776  	}
   777  	return out, api.RetvalToVPPApiError(out.Retval)
   778  }
   779  
   780  func (c *serviceClient) IPUnnumberedDump(ctx context.Context, in *IPUnnumberedDump) (RPCService_IPUnnumberedDumpClient, error) {
   781  	stream, err := c.conn.NewStream(ctx)
   782  	if err != nil {
   783  		return nil, err
   784  	}
   785  	x := &serviceClient_IPUnnumberedDumpClient{stream}
   786  	if err := x.Stream.SendMsg(in); err != nil {
   787  		return nil, err
   788  	}
   789  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
   790  		return nil, err
   791  	}
   792  	return x, nil
   793  }
   794  
   795  type RPCService_IPUnnumberedDumpClient interface {
   796  	Recv() (*IPUnnumberedDetails, error)
   797  	api.Stream
   798  }
   799  
   800  type serviceClient_IPUnnumberedDumpClient struct {
   801  	api.Stream
   802  }
   803  
   804  func (c *serviceClient_IPUnnumberedDumpClient) Recv() (*IPUnnumberedDetails, error) {
   805  	msg, err := c.Stream.RecvMsg()
   806  	if err != nil {
   807  		return nil, err
   808  	}
   809  	switch m := msg.(type) {
   810  	case *IPUnnumberedDetails:
   811  		return m, nil
   812  	case *memclnt.ControlPingReply:
   813  		err = c.Stream.Close()
   814  		if err != nil {
   815  			return nil, err
   816  		}
   817  		return nil, io.EOF
   818  	default:
   819  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   820  	}
   821  }
   822  
   823  func (c *serviceClient) MfibSignalDump(ctx context.Context, in *MfibSignalDump) (RPCService_MfibSignalDumpClient, error) {
   824  	stream, err := c.conn.NewStream(ctx)
   825  	if err != nil {
   826  		return nil, err
   827  	}
   828  	x := &serviceClient_MfibSignalDumpClient{stream}
   829  	if err := x.Stream.SendMsg(in); err != nil {
   830  		return nil, err
   831  	}
   832  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
   833  		return nil, err
   834  	}
   835  	return x, nil
   836  }
   837  
   838  type RPCService_MfibSignalDumpClient interface {
   839  	Recv() (*MfibSignalDetails, error)
   840  	api.Stream
   841  }
   842  
   843  type serviceClient_MfibSignalDumpClient struct {
   844  	api.Stream
   845  }
   846  
   847  func (c *serviceClient_MfibSignalDumpClient) Recv() (*MfibSignalDetails, error) {
   848  	msg, err := c.Stream.RecvMsg()
   849  	if err != nil {
   850  		return nil, err
   851  	}
   852  	switch m := msg.(type) {
   853  	case *MfibSignalDetails:
   854  		return m, nil
   855  	case *memclnt.ControlPingReply:
   856  		err = c.Stream.Close()
   857  		if err != nil {
   858  			return nil, err
   859  		}
   860  		return nil, io.EOF
   861  	default:
   862  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   863  	}
   864  }
   865  
   866  func (c *serviceClient) SetIPFlowHash(ctx context.Context, in *SetIPFlowHash) (*SetIPFlowHashReply, error) {
   867  	out := new(SetIPFlowHashReply)
   868  	err := c.conn.Invoke(ctx, in, out)
   869  	if err != nil {
   870  		return nil, err
   871  	}
   872  	return out, api.RetvalToVPPApiError(out.Retval)
   873  }
   874  
   875  func (c *serviceClient) SetIPFlowHashRouterID(ctx context.Context, in *SetIPFlowHashRouterID) (*SetIPFlowHashRouterIDReply, error) {
   876  	out := new(SetIPFlowHashRouterIDReply)
   877  	err := c.conn.Invoke(ctx, in, out)
   878  	if err != nil {
   879  		return nil, err
   880  	}
   881  	return out, api.RetvalToVPPApiError(out.Retval)
   882  }
   883  
   884  func (c *serviceClient) SetIPFlowHashV2(ctx context.Context, in *SetIPFlowHashV2) (*SetIPFlowHashV2Reply, error) {
   885  	out := new(SetIPFlowHashV2Reply)
   886  	err := c.conn.Invoke(ctx, in, out)
   887  	if err != nil {
   888  		return nil, err
   889  	}
   890  	return out, api.RetvalToVPPApiError(out.Retval)
   891  }
   892  
   893  func (c *serviceClient) SetIPFlowHashV3(ctx context.Context, in *SetIPFlowHashV3) (*SetIPFlowHashV3Reply, error) {
   894  	out := new(SetIPFlowHashV3Reply)
   895  	err := c.conn.Invoke(ctx, in, out)
   896  	if err != nil {
   897  		return nil, err
   898  	}
   899  	return out, api.RetvalToVPPApiError(out.Retval)
   900  }
   901  
   902  func (c *serviceClient) SwInterfaceIP6EnableDisable(ctx context.Context, in *SwInterfaceIP6EnableDisable) (*SwInterfaceIP6EnableDisableReply, error) {
   903  	out := new(SwInterfaceIP6EnableDisableReply)
   904  	err := c.conn.Invoke(ctx, in, out)
   905  	if err != nil {
   906  		return nil, err
   907  	}
   908  	return out, api.RetvalToVPPApiError(out.Retval)
   909  }
   910  
   911  func (c *serviceClient) SwInterfaceIP6GetLinkLocalAddress(ctx context.Context, in *SwInterfaceIP6GetLinkLocalAddress) (*SwInterfaceIP6GetLinkLocalAddressReply, error) {
   912  	out := new(SwInterfaceIP6GetLinkLocalAddressReply)
   913  	err := c.conn.Invoke(ctx, in, out)
   914  	if err != nil {
   915  		return nil, err
   916  	}
   917  	return out, api.RetvalToVPPApiError(out.Retval)
   918  }
   919  
   920  func (c *serviceClient) SwInterfaceIP6SetLinkLocalAddress(ctx context.Context, in *SwInterfaceIP6SetLinkLocalAddress) (*SwInterfaceIP6SetLinkLocalAddressReply, error) {
   921  	out := new(SwInterfaceIP6SetLinkLocalAddressReply)
   922  	err := c.conn.Invoke(ctx, in, out)
   923  	if err != nil {
   924  		return nil, err
   925  	}
   926  	return out, api.RetvalToVPPApiError(out.Retval)
   927  }