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

     1  // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
     2  
     3  package vxlan
     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 vxlan.
    15  type RPCService interface {
    16  	SwInterfaceSetVxlanBypass(ctx context.Context, in *SwInterfaceSetVxlanBypass) (*SwInterfaceSetVxlanBypassReply, error)
    17  	VxlanAddDelTunnel(ctx context.Context, in *VxlanAddDelTunnel) (*VxlanAddDelTunnelReply, error)
    18  	VxlanAddDelTunnelV2(ctx context.Context, in *VxlanAddDelTunnelV2) (*VxlanAddDelTunnelV2Reply, error)
    19  	VxlanAddDelTunnelV3(ctx context.Context, in *VxlanAddDelTunnelV3) (*VxlanAddDelTunnelV3Reply, error)
    20  	VxlanOffloadRx(ctx context.Context, in *VxlanOffloadRx) (*VxlanOffloadRxReply, error)
    21  	VxlanTunnelDump(ctx context.Context, in *VxlanTunnelDump) (RPCService_VxlanTunnelDumpClient, error)
    22  	VxlanTunnelV2Dump(ctx context.Context, in *VxlanTunnelV2Dump) (RPCService_VxlanTunnelV2DumpClient, error)
    23  }
    24  
    25  type serviceClient struct {
    26  	conn api.Connection
    27  }
    28  
    29  func NewServiceClient(conn api.Connection) RPCService {
    30  	return &serviceClient{conn}
    31  }
    32  
    33  func (c *serviceClient) SwInterfaceSetVxlanBypass(ctx context.Context, in *SwInterfaceSetVxlanBypass) (*SwInterfaceSetVxlanBypassReply, error) {
    34  	out := new(SwInterfaceSetVxlanBypassReply)
    35  	err := c.conn.Invoke(ctx, in, out)
    36  	if err != nil {
    37  		return nil, err
    38  	}
    39  	return out, api.RetvalToVPPApiError(out.Retval)
    40  }
    41  
    42  func (c *serviceClient) VxlanAddDelTunnel(ctx context.Context, in *VxlanAddDelTunnel) (*VxlanAddDelTunnelReply, error) {
    43  	out := new(VxlanAddDelTunnelReply)
    44  	err := c.conn.Invoke(ctx, in, out)
    45  	if err != nil {
    46  		return nil, err
    47  	}
    48  	return out, api.RetvalToVPPApiError(out.Retval)
    49  }
    50  
    51  func (c *serviceClient) VxlanAddDelTunnelV2(ctx context.Context, in *VxlanAddDelTunnelV2) (*VxlanAddDelTunnelV2Reply, error) {
    52  	out := new(VxlanAddDelTunnelV2Reply)
    53  	err := c.conn.Invoke(ctx, in, out)
    54  	if err != nil {
    55  		return nil, err
    56  	}
    57  	return out, api.RetvalToVPPApiError(out.Retval)
    58  }
    59  
    60  func (c *serviceClient) VxlanAddDelTunnelV3(ctx context.Context, in *VxlanAddDelTunnelV3) (*VxlanAddDelTunnelV3Reply, error) {
    61  	out := new(VxlanAddDelTunnelV3Reply)
    62  	err := c.conn.Invoke(ctx, in, out)
    63  	if err != nil {
    64  		return nil, err
    65  	}
    66  	return out, api.RetvalToVPPApiError(out.Retval)
    67  }
    68  
    69  func (c *serviceClient) VxlanOffloadRx(ctx context.Context, in *VxlanOffloadRx) (*VxlanOffloadRxReply, error) {
    70  	out := new(VxlanOffloadRxReply)
    71  	err := c.conn.Invoke(ctx, in, out)
    72  	if err != nil {
    73  		return nil, err
    74  	}
    75  	return out, api.RetvalToVPPApiError(out.Retval)
    76  }
    77  
    78  func (c *serviceClient) VxlanTunnelDump(ctx context.Context, in *VxlanTunnelDump) (RPCService_VxlanTunnelDumpClient, error) {
    79  	stream, err := c.conn.NewStream(ctx)
    80  	if err != nil {
    81  		return nil, err
    82  	}
    83  	x := &serviceClient_VxlanTunnelDumpClient{stream}
    84  	if err := x.Stream.SendMsg(in); err != nil {
    85  		return nil, err
    86  	}
    87  	if err = x.Stream.SendMsg(&vpe.ControlPing{}); err != nil {
    88  		return nil, err
    89  	}
    90  	return x, nil
    91  }
    92  
    93  type RPCService_VxlanTunnelDumpClient interface {
    94  	Recv() (*VxlanTunnelDetails, error)
    95  	api.Stream
    96  }
    97  
    98  type serviceClient_VxlanTunnelDumpClient struct {
    99  	api.Stream
   100  }
   101  
   102  func (c *serviceClient_VxlanTunnelDumpClient) Recv() (*VxlanTunnelDetails, error) {
   103  	msg, err := c.Stream.RecvMsg()
   104  	if err != nil {
   105  		return nil, err
   106  	}
   107  	switch m := msg.(type) {
   108  	case *VxlanTunnelDetails:
   109  		return m, nil
   110  	case *vpe.ControlPingReply:
   111  		err = c.Stream.Close()
   112  		if err != nil {
   113  			return nil, err
   114  		}
   115  		return nil, io.EOF
   116  	default:
   117  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   118  	}
   119  }
   120  
   121  func (c *serviceClient) VxlanTunnelV2Dump(ctx context.Context, in *VxlanTunnelV2Dump) (RPCService_VxlanTunnelV2DumpClient, error) {
   122  	stream, err := c.conn.NewStream(ctx)
   123  	if err != nil {
   124  		return nil, err
   125  	}
   126  	x := &serviceClient_VxlanTunnelV2DumpClient{stream}
   127  	if err := x.Stream.SendMsg(in); err != nil {
   128  		return nil, err
   129  	}
   130  	if err = x.Stream.SendMsg(&vpe.ControlPing{}); err != nil {
   131  		return nil, err
   132  	}
   133  	return x, nil
   134  }
   135  
   136  type RPCService_VxlanTunnelV2DumpClient interface {
   137  	Recv() (*VxlanTunnelV2Details, error)
   138  	api.Stream
   139  }
   140  
   141  type serviceClient_VxlanTunnelV2DumpClient struct {
   142  	api.Stream
   143  }
   144  
   145  func (c *serviceClient_VxlanTunnelV2DumpClient) Recv() (*VxlanTunnelV2Details, error) {
   146  	msg, err := c.Stream.RecvMsg()
   147  	if err != nil {
   148  		return nil, err
   149  	}
   150  	switch m := msg.(type) {
   151  	case *VxlanTunnelV2Details:
   152  		return m, nil
   153  	case *vpe.ControlPingReply:
   154  		err = c.Stream.Close()
   155  		if err != nil {
   156  			return nil, err
   157  		}
   158  		return nil, io.EOF
   159  	default:
   160  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   161  	}
   162  }