-This set of packages provide the API for communication with VPP from Go.
-
-It consists of the following packages:
-- [adapter](adapter/): adapter between GoVPP core and the VPP binary API
-- [api](api/api.go): API for communication with GoVPP core
-- [binapi-generator](cmd/binapi-generator/): generator for the VPP binary API definitions in JSON format to Go code
-- [codec](codec/): handles encoding/decoding of generated messages into binary form
-- [core](core/): main functionality of the GoVPP
-- [examples](examples/): examples that use the GoVPP API in real use-cases of VPP management application
-- [extras](extras/): contains Go implementation for libmemif library
-- [govpp](govpp.go): provides the entry point to GoVPP functionality
-
-The design with separated GoVPP [API package](api/api.go) and the GoVPP [core package](core/) enables
-plugin-based infrastructure, where one entity acts as a master responsible for talking with VPP and multiple
-entities act as clients that are using the master for the communication with VPP.
-The clients can be built into standalone shared libraries without the need
-of linking the GoVPP core and all its dependencies into them.
-
-```
- +--------------+
- +--------------+ | |
- | | | App plugin |
- | | | |
- | App | +--------------+
- | | +------+ GoVPP API |
- | | | +--------------+
- +--------------+ Go |
- | | channels | +--------------+
- | GoVPP core +------------+ | |
- | | | | App plugin |
- +------+-------+ | | |
- | | +--------------+
-binary API | +------+ GoVPP API |
- (shmem) | +--------------+
- |
- +------+-------+
- | |
- | VPP process |
- | |
- +--------------+
-```
+[![stable](https://img.shields.io/github/v/tag/fdio/govpp.svg?label=release&logo=github)](https://github.com/ligato/vpp-agent/releases/latest) [![PkgGoDev](https://pkg.go.dev/badge/git.fd.io/govpp.git)](https://pkg.go.dev/git.fd.io/govpp.git)
+
+The GoVPP repository contains a Go client library for interacting with the VPP,
+generator of Go bindings for the VPP binary API and various other tooling for VPP.
+
+## Overview
+
+Here is a brief overview for the repository structure.
+
+- [govpp](govpp.go) - the entry point for the GoVPP client
+ - [adapter](adapter) - VPP binary & stats API interface
+ - [mock](adapter/mock) - Mock adapter used for testing
+ - [socketclient](adapter/socketclient) - Go implementation of VPP API client for unix socket
+ - [statsclient](adapter/statsclient) - Go implementation of VPP Stats client for shared memory
+ - [vppapiclient](adapter/vppapiclient) - CGo wrapper of vppapiclient library (DEPRECATED!)
+ - [api](api) - GoVPP client API
+ - [binapigen](binapigen) - library for generating code from VPP API
+ - [vppapi](binapigen/vppapi) - VPP API parser
+ - cmd/
+ - [binapi-generator](cmd/binapi-generator) - VPP binary API generator
+ - [vpp-proxy](cmd/vpp-proxy) - VPP proxy for remote access
+ - [codec](codec) - handles encoding/decoding of generated messages into binary form
+ - [core](core) - implementation of the GoVPP client
+ - [docs](docs) - documentation
+ - [examples](examples) - examples demonstrating GoVPP functionality
+ - [internal](internal) - packages used internally by GoVPP
+ - [proxy](proxy) - contains client/server implementation for proxy
+ - [test](test) - integration tests, benchmarks and performance tests