Name: JP4Agent
Owner: Juniper Networks
Description: Juniper's P4 Runtime server implementation.
Created: 2017-11-18 02:14:15.0
Updated: 2018-05-19 12:21:02.0
Pushed: 2018-05-04 23:48:49.0
Size: 12795
Language: C++
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
Juniper's P4 Runtime server implementation.
This repository provides:
JP4Agent
|-- LICENSE License
|-- README.md This README file
|-- AFI AFI data model
|-- build Build scripts
|-- cli Command line
|-- config JP4Agent Configurations
|-- docs Documentation
|-- src
| |-- afi AFI HAL
| |-- jp4agent JP4Agent
| |-- pi PI layer
| |-- targets
| | |-- aft AFT target HALP
| | |-- brcm Broadcom target HALP
| | `-- null Null target HALP
| `-- utils Utils
|-- test
| |-- controller Test controller
| `-- gtest GTests for JP4agent
`-- tools
|-- config Setup configuration
|-- docker Dockerfile(s), configuration and scripts for Docker
`-- scripts Setup and regression scripts
VMX tarball provided by Juniper
P4vmx.tgz : Contains all the images/packages needed to run VMX in a container
Note: Please contact Juniper to get 'jnprP4vmx.tgz'.
Contacts are listed at the bottom of this page.
ware requirements
=================
essor:
Any x86 processor (Intel or AMD) with VT-d capability
er of Cores:
4 (1 for VCP and 3 for VFP)
ry:
Minimum:
8 GB (2 GB for VCP, 6 GB for VFP)
Additional
2 GB recommended for host OS
age:
Local or NAS. Minimum 100 GB is recommended.
ware requirements
=================
ating system
Ubuntu 14.04 LTS or 16.04 LTS
er
Community Edition (CE) or Enterprise Edition (EE)
Please refer to instructions provided on the following page to install Docker engine on the host server
https://docs.docker.com/engine/installation/linux/ubuntu/
Note: Docker ID (https://hub.docker.com) is needed for this step.
Please create, if you do not already have one.
Contact Juniper to get access to the Docker image repo.
Contact is listed at the bottom of this page.
er login
nter username and password when prompted
o] docker pull juniper/p4-vmx:latest
'jnprP4vmx.tgz' tarball from Juniper and extract it to any preferred location on the host.
,
rt HOST_VMX_LOC=/home/sandesh/VMX
r $HOST_VMX_LOC
nprP4vmx.tgz $HOST_VMX_LOC
HOST_VMX_LOC
xf jnprP4vmx.tgz
e JP4Agent to any preferred folder on the host.
,
HOME
clone git@github.com:Juniper/JP4Agent.git
rt JP4AGENT_REPO=$HOME/JP4Agent
te the configuration in file $JP4AGENT_REPO/tools/config/vmx-cfg.xml
odify the following:
The 2 host interfaces to use for traffic : by default eth1 & eth2
The management interface to use: by default eth0
Console ports for vCP & vFP: by default 8601 & 8602
Management IPs for vCP & vFP to ssh into it
Location where 'jnprP4vmx.tgz' tarball was extracted.
JP4AGENT_REPO/tools/scripts
o] ./install_packages.sh
NOTE:
JP4AGENT_REPO/tools/scripts
tup-vmx
Please wait for the following message to appear before proceeding with next step.
“VMX Setup Complete!”
Please login to the vCP using ssh and verify that interfaces xe-0/0/0:1 and xe-0/0/0:2 are up
Note: Please go through “Working with VMX” section of 'docs/README.md' to learn
how to work with VMX setup, viz., how to login to VCP and VFP, run Junos CLI commands etc.
JP4AGENT_REPO/tools/scripts
n-regression
Please observe the output. When the output shows 'GTEST RESULT: PASS', you are good to go.
You can open url http://<host ip>:9000
in browser to see the regression results visually.
ect the 2 interfaces specified in vmx-cfg.xml with an external tester
igure Port 1: IP 103.30.120.3/24 and external gateway 103.30.120.2/24
igure Port 2: IP 103.30.130.3/24 and external gateway 103.30.130.2/24
he example below,
eth2
eth3
root/VMX
P4Agent/tools/docker/scripts/stop_vmx.sh
ase docker is stopped accidentally without graceful vmx shutdown, clean up from the host
JP4AGENT_REPO/tools/scripts
o] ./bridge_cleanup.sh
Sandesh Kumar Sodhi
sksodhi at juniper.net