go.ligato.io/vpp-agent/v3@v3.5.0/plugins/vpp/binapi/vpp2101/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/vpp2101/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 VxlanOffloadRx(ctx context.Context, in *VxlanOffloadRx) (*VxlanOffloadRxReply, error) 19 VxlanTunnelDump(ctx context.Context, in *VxlanTunnelDump) (RPCService_VxlanTunnelDumpClient, error) 20 } 21 22 type serviceClient struct { 23 conn api.Connection 24 } 25 26 func NewServiceClient(conn api.Connection) RPCService { 27 return &serviceClient{conn} 28 } 29 30 func (c *serviceClient) SwInterfaceSetVxlanBypass(ctx context.Context, in *SwInterfaceSetVxlanBypass) (*SwInterfaceSetVxlanBypassReply, error) { 31 out := new(SwInterfaceSetVxlanBypassReply) 32 err := c.conn.Invoke(ctx, in, out) 33 if err != nil { 34 return nil, err 35 } 36 return out, api.RetvalToVPPApiError(out.Retval) 37 } 38 39 func (c *serviceClient) VxlanAddDelTunnel(ctx context.Context, in *VxlanAddDelTunnel) (*VxlanAddDelTunnelReply, error) { 40 out := new(VxlanAddDelTunnelReply) 41 err := c.conn.Invoke(ctx, in, out) 42 if err != nil { 43 return nil, err 44 } 45 return out, api.RetvalToVPPApiError(out.Retval) 46 } 47 48 func (c *serviceClient) VxlanOffloadRx(ctx context.Context, in *VxlanOffloadRx) (*VxlanOffloadRxReply, error) { 49 out := new(VxlanOffloadRxReply) 50 err := c.conn.Invoke(ctx, in, out) 51 if err != nil { 52 return nil, err 53 } 54 return out, api.RetvalToVPPApiError(out.Retval) 55 } 56 57 func (c *serviceClient) VxlanTunnelDump(ctx context.Context, in *VxlanTunnelDump) (RPCService_VxlanTunnelDumpClient, error) { 58 stream, err := c.conn.NewStream(ctx) 59 if err != nil { 60 return nil, err 61 } 62 x := &serviceClient_VxlanTunnelDumpClient{stream} 63 if err := x.Stream.SendMsg(in); err != nil { 64 return nil, err 65 } 66 if err = x.Stream.SendMsg(&vpe.ControlPing{}); err != nil { 67 return nil, err 68 } 69 return x, nil 70 } 71 72 type RPCService_VxlanTunnelDumpClient interface { 73 Recv() (*VxlanTunnelDetails, error) 74 api.Stream 75 } 76 77 type serviceClient_VxlanTunnelDumpClient struct { 78 api.Stream 79 } 80 81 func (c *serviceClient_VxlanTunnelDumpClient) Recv() (*VxlanTunnelDetails, error) { 82 msg, err := c.Stream.RecvMsg() 83 if err != nil { 84 return nil, err 85 } 86 switch m := msg.(type) { 87 case *VxlanTunnelDetails: 88 return m, nil 89 case *vpe.ControlPingReply: 90 err = c.Stream.Close() 91 if err != nil { 92 return nil, err 93 } 94 return nil, io.EOF 95 default: 96 return nil, fmt.Errorf("unexpected message: %T %v", m, m) 97 } 98 }