go.ligato.io/vpp-agent/v3@v3.5.0/plugins/vpp/binapi/vpp2106/ip6_nd/ip6_nd_rpc.ba.go (about)

     1  // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
     2  
     3  package ip6_nd
     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/vpp2106/vpe"
    12  )
    13  
    14  // RPCService defines RPC service ip6_nd.
    15  type RPCService interface {
    16  	IP6ndProxyAddDel(ctx context.Context, in *IP6ndProxyAddDel) (*IP6ndProxyAddDelReply, error)
    17  	IP6ndProxyDump(ctx context.Context, in *IP6ndProxyDump) (RPCService_IP6ndProxyDumpClient, error)
    18  	IP6ndSendRouterSolicitation(ctx context.Context, in *IP6ndSendRouterSolicitation) (*IP6ndSendRouterSolicitationReply, error)
    19  	SwInterfaceIP6ndRaConfig(ctx context.Context, in *SwInterfaceIP6ndRaConfig) (*SwInterfaceIP6ndRaConfigReply, error)
    20  	SwInterfaceIP6ndRaPrefix(ctx context.Context, in *SwInterfaceIP6ndRaPrefix) (*SwInterfaceIP6ndRaPrefixReply, error)
    21  	WantIP6RaEvents(ctx context.Context, in *WantIP6RaEvents) (*WantIP6RaEventsReply, error)
    22  }
    23  
    24  type serviceClient struct {
    25  	conn api.Connection
    26  }
    27  
    28  func NewServiceClient(conn api.Connection) RPCService {
    29  	return &serviceClient{conn}
    30  }
    31  
    32  func (c *serviceClient) IP6ndProxyAddDel(ctx context.Context, in *IP6ndProxyAddDel) (*IP6ndProxyAddDelReply, error) {
    33  	out := new(IP6ndProxyAddDelReply)
    34  	err := c.conn.Invoke(ctx, in, out)
    35  	if err != nil {
    36  		return nil, err
    37  	}
    38  	return out, api.RetvalToVPPApiError(out.Retval)
    39  }
    40  
    41  func (c *serviceClient) IP6ndProxyDump(ctx context.Context, in *IP6ndProxyDump) (RPCService_IP6ndProxyDumpClient, error) {
    42  	stream, err := c.conn.NewStream(ctx)
    43  	if err != nil {
    44  		return nil, err
    45  	}
    46  	x := &serviceClient_IP6ndProxyDumpClient{stream}
    47  	if err := x.Stream.SendMsg(in); err != nil {
    48  		return nil, err
    49  	}
    50  	if err = x.Stream.SendMsg(&vpe.ControlPing{}); err != nil {
    51  		return nil, err
    52  	}
    53  	return x, nil
    54  }
    55  
    56  type RPCService_IP6ndProxyDumpClient interface {
    57  	Recv() (*IP6ndProxyDetails, error)
    58  	api.Stream
    59  }
    60  
    61  type serviceClient_IP6ndProxyDumpClient struct {
    62  	api.Stream
    63  }
    64  
    65  func (c *serviceClient_IP6ndProxyDumpClient) Recv() (*IP6ndProxyDetails, error) {
    66  	msg, err := c.Stream.RecvMsg()
    67  	if err != nil {
    68  		return nil, err
    69  	}
    70  	switch m := msg.(type) {
    71  	case *IP6ndProxyDetails:
    72  		return m, nil
    73  	case *vpe.ControlPingReply:
    74  		err = c.Stream.Close()
    75  		if err != nil {
    76  			return nil, err
    77  		}
    78  		return nil, io.EOF
    79  	default:
    80  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
    81  	}
    82  }
    83  
    84  func (c *serviceClient) IP6ndSendRouterSolicitation(ctx context.Context, in *IP6ndSendRouterSolicitation) (*IP6ndSendRouterSolicitationReply, error) {
    85  	out := new(IP6ndSendRouterSolicitationReply)
    86  	err := c.conn.Invoke(ctx, in, out)
    87  	if err != nil {
    88  		return nil, err
    89  	}
    90  	return out, api.RetvalToVPPApiError(out.Retval)
    91  }
    92  
    93  func (c *serviceClient) SwInterfaceIP6ndRaConfig(ctx context.Context, in *SwInterfaceIP6ndRaConfig) (*SwInterfaceIP6ndRaConfigReply, error) {
    94  	out := new(SwInterfaceIP6ndRaConfigReply)
    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) SwInterfaceIP6ndRaPrefix(ctx context.Context, in *SwInterfaceIP6ndRaPrefix) (*SwInterfaceIP6ndRaPrefixReply, error) {
   103  	out := new(SwInterfaceIP6ndRaPrefixReply)
   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) WantIP6RaEvents(ctx context.Context, in *WantIP6RaEvents) (*WantIP6RaEventsReply, error) {
   112  	out := new(WantIP6RaEventsReply)
   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  }