diff --git a/go/src/v.io/x/p2b/vdl/p2b.vdl.go b/go/src/v.io/x/p2b/vdl/p2b.vdl.go
index 2765844..d8679d4 100644
--- a/go/src/v.io/x/p2b/vdl/p2b.vdl.go
+++ b/go/src/v.io/x/p2b/vdl/p2b.vdl.go
@@ -16,7 +16,7 @@
 	"v.io/v23"
 	"v.io/v23/context"
 	"v.io/v23/rpc"
-	"v.io/v23/vdl"
+	"v.io/v23/vom"
 )
 
 // ViewerClientMethods is the client interface
@@ -89,7 +89,7 @@
 	// Calling Finish is mandatory for releasing stream resources, unless the call
 	// has been canceled or any of the other methods return an error.  Finish should
 	// be called at most once.
-	Finish() (*vdl.Value, error)
+	Finish() (*vom.RawBytes, error)
 }
 
 type implViewerPipeClientCall struct {
@@ -113,7 +113,7 @@
 func (c implViewerPipeClientCallSend) Close() error {
 	return c.c.CloseSend()
 }
-func (c *implViewerPipeClientCall) Finish() (o0 *vdl.Value, err error) {
+func (c *implViewerPipeClientCall) Finish() (o0 *vom.RawBytes, err error) {
 	err = c.ClientCall.Finish(&o0)
 	return
 }
@@ -127,7 +127,7 @@
 	// Pipe creates a bidirectional pipe between client and viewer
 	// service, returns total number of bytes received by the service
 	// after streaming ends
-	Pipe(*context.T, ViewerPipeServerCall) (*vdl.Value, error)
+	Pipe(*context.T, ViewerPipeServerCall) (*vom.RawBytes, error)
 }
 
 // ViewerServerStubMethods is the server interface containing
@@ -138,7 +138,7 @@
 	// Pipe creates a bidirectional pipe between client and viewer
 	// service, returns total number of bytes received by the service
 	// after streaming ends
-	Pipe(*context.T, *ViewerPipeServerCallStub) (*vdl.Value, error)
+	Pipe(*context.T, *ViewerPipeServerCallStub) (*vom.RawBytes, error)
 }
 
 // ViewerServerStub adds universal methods to ViewerServerStubMethods.
@@ -170,7 +170,7 @@
 	gs   *rpc.GlobState
 }
 
-func (s implViewerServerStub) Pipe(ctx *context.T, call *ViewerPipeServerCallStub) (*vdl.Value, error) {
+func (s implViewerServerStub) Pipe(ctx *context.T, call *ViewerPipeServerCallStub) (*vom.RawBytes, error) {
 	return s.impl.Pipe(ctx, call)
 }
 
@@ -195,7 +195,7 @@
 			Name: "Pipe",
 			Doc:  "// Pipe creates a bidirectional pipe between client and viewer\n// service, returns total number of bytes received by the service\n// after streaming ends",
 			OutArgs: []rpc.ArgDesc{
-				{"", ``}, // *vdl.Value
+				{"", ``}, // *vom.RawBytes
 			},
 		},
 	},
