diff --git a/README.md b/README.md
index e112254bd..01fd7f702 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,6 @@
+
# MULTUS CNI plugin
-Please read [CNI](https://github.com/containernetworking/cni) for more information on container networking.
-
- *Multus* is the latin word for “Multi”
- As the name suggests, it acts as the Multi plugin in the Kubernetes and provides the Multi interface support in a pod
@@ -18,6 +17,7 @@ Please read [CNI](https://github.com/containernetworking/cni) for more informati
- The "masterplugin" is the only net conf option of multus cni, it identifies the primary network. The default route will point to the primary network
+Please read [CNI](https://github.com/containernetworking/cni) for more information on container networking.
## Build
@@ -28,6 +28,10 @@ Go 1.5 users will need to set `GO15VENDOREXPERIMENT=1` to get vendored dependenc
```
#./build
```
+## Work flow
+
+
+
## Network configuration reference
* `name` (string, required): the name of the network
@@ -42,7 +46,7 @@ Given the following network configuration:
```
# tee /etc/cni/net.d/multus-cni.conf <<-'EOF'
{
- "name": "minion1-multus-demo-network",
+ "name": "multus-demo-network",
"type": "multus",
"delegates": [
{
@@ -86,4 +90,71 @@ EOF
```
## Testing the Multus CNI with docker
-Make sure that the multus, [sriov](https://github.com/Intel-Corp/sriov-cni) and [flannel](https://github.com/containernetworking/cni/blob/master/Documentation/flannel.md) binaries are in the /opt/cni/bin directories and follow the steps as mention in the [CNI](https://github.com/containernetworking/cni)
+Make sure that the multus, [sriov](https://github.com/Intel-Corp/sriov-cni), [flannel](https://github.com/containernetworking/cni/blob/master/Documentation/flannel.md), and [ptp](https://github.com/containernetworking/cni/blob/master/Documentation/ptp.md) binaries are in the `/opt/cni/bin` directories and follow the steps as mention in the [CNI](https://github.com/containernetworking/cni/#running-a-docker-container-with-network-namespace-set-up-by-cni-plugins)
+
+## Testing the Multus CNI with Kubernetes
+Refer the Kubernetes User Guide and network plugin
+* [Single Node](https://kubernetes.io/docs/getting-started-guides/fedora/fedora_manual_config/)
+* [Multi Node](https://kubernetes.io/docs/getting-started-guides/fedora/flannel_multi_node_cluster/)
+* [Network Plugin](https://kubernetes.io/docs/admin/network-plugins/)
+
+Kubelet must be configured to run with the CNI `--network-plugin`, with the following configuration information.
+Edit `/etc/default/kubelet` file and add `KUBELET_OPTS`:
+```
+KUBELET_OPTS="...
+--network-plugin-dir=/etc/cni/net.d
+--network-plugin=cni
+"
+```
+Restart the kubelet
+```
+# systemctl restart kubelet.service
+```
+### Launching workloads in Kubernetes
+Launch the workload using yaml file in the kubernetes master, with above configuration in the multus CNI, each pod should have multiple interfaces.
+> Note: To verify whether Multus CNI plugin is working fine create a pod containing one “busybox” container and execute “ip link” command to check if interfaces management follows configuration.
+
+1. Create “multus-test.yaml” file containing below configuration. Created pod will consist of one “busybox” container running “top” command.
+```
+apiVersion: v1
+kind: Pod
+metadata:
+ name: multus-test
+spec: # specification of the pod's contents
+ restartPolicy: Never
+ containers:
+ - name: test1
+ image: "busybox"
+ command: ["top"]
+ stdin: true
+ tty: true
+
+```
+2. Create pod using command:
+```
+# kubectl create -f multus-test.yaml
+pod "multus-test" created
+```
+3. Run “ip link” command inside the container:
+```
+# 1: lo: mtu 65536 qdisc noqueue qlen 1
+ link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
+3: eth0@if41: mtu 1500 qdisc noqueue
+ link/ether 26:52:6b:d8:44:2d brd ff:ff:ff:ff:ff:ff
+20: net0: mtu 1500 qdisc mq qlen 1000
+ link/ether f6:fb:21:4f:1d:63 brd ff:ff:ff:ff:ff:ff
+21: net1: mtu 1500 qdisc mq qlen 1000
+ link/ether 76:13:b1:60:00:00 brd ff:ff:ff:ff:ff:ff As seen in the above output 3 interfaces are created.
+```
+Interface name | Description
+------------ | -------------
+lo | loopback
+eth0@if41 | Flannel network tap interface
+net0 | VF assigned to the container by [SR_IOV CNI](https://github.com/Intel-Corp/sriov-cni) plugin
+net1 | ptp localhost interface
+
+### Contacts
+For any questions about Multus CNI, please reach out on github issue or contact the developer
+
+- Kuralamudhan Ramakrishnan
+- David M O Neill