summaryrefslogtreecommitdiffstats
path: root/dpdk/README
blob: 95154dc235f390949d9933dc25c290ea9fb4d4f6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Changes needed to DPDK are stored here as git patch files. Maintaining these
files using “git format-patch” and “git am” will make it simpler to manage
these changes. Patches made to DPDK should only be temporary until they are
accepted upstream and made available in the next DPDK release.

The following is the method used to generate these patches:

1. Git clone the DPDK to a new directory:
 # git clone http://dpdk.org/git/dpdk dpdk

2. Create a branch based on the DPDK release you wish to patch.
Note, “git tag” will show you all the release tags. The following example is
for DPDK release tag “v2.2.0” and will create a branch named “two_dot_two”.
 # cd dpdk
 # git checkout -b two_dot_two v2.2.0

3. Apply all the existing VPP DPDK patches to this new branch.
 # git am <VPP directory>/dpdk/dpdk-2.2.0_patches/*

4. Make your changes and commit your change to your DPDK repository.
 # <edit files>
 # git commit -s

5. Create the patch files with format-patch. This creates all the patch files
for your branch (two_dot_two), with your latest commits as the last ones.
 # git format-patch master..two_dot_two

6. Copy, add and commit the new patches into the VPP patches directory.
 # cp <new patch files> <VPP directory>/dpdk/dpdk-2.2.0_patches
 # cd <VPP directory>
 # git add dpdk/dpdk-2.2.0_patches/<new patch files>
 # git commit -s
c"># Copyright (c) 2015 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. AUTOMAKE_OPTIONS = foreign subdir-objects AM_CFLAGS = -Wall @DPDK@ PRE_DATA_SIZE=@PRE_DATA_SIZE@ lib_LTLIBRARIES = libvlib.la BUILT_SOURCES = vlib/config.h vlib/config.h: echo "#define __PRE_DATA_SIZE" $(PRE_DATA_SIZE) > $@ libvlib_la_SOURCES = \ vlib/cli.c \ vlib/cli.h \ vlib/config.h \ vlib/counter.c \ vlib/error.c \ vlib/format.c \ vlib/init.c \ vlib/main.c \ vlib/mc.c \ vlib/node.c \ vlib/node_cli.c \ vlib/node_format.c \ vlib/pci/pci.c \ vlib/pci/linux_pci.c \ vlib/threads.c \ vlib/trace.c if WITH_DPDK libvlib_la_SOURCES += vlib/dpdk_buffer.c else libvlib_la_SOURCES += vlib/buffer.c endif nobase_include_HEADERS = \ vlib/buffer_funcs.h \ vlib/buffer_node.h \ vlib/buffer.h \ vlib/cli.h \ vlib/cli_funcs.h \ vlib/config.h \ vlib/counter.h \ vlib/defs.h \ vlib/error_funcs.h \ vlib/error.h \ vlib/format_funcs.h \ vlib/global_funcs.h \ vlib/init.h \ vlib/main.h \ vlib/mc.h \ vlib/node_funcs.h \ vlib/node.h \ vlib/physmem.h \ vlib/pci/pci.h \ vlib/pci/pci_config.h \ vlib/threads.h \ vlib/trace_funcs.h \ vlib/trace.h \ vlib/vlib.h lib_LTLIBRARIES += libvlib_unix.la libvlib_unix_la_SOURCES = \ vlib/unix/cj.c \ vlib/unix/cli.c \ vlib/unix/input.c \ vlib/unix/main.c \ vlib/unix/mc_socket.c \ vlib/unix/plugin.c \ vlib/unix/plugin.h \ vlib/unix/physmem.c \ vlib/unix/util.c nobase_include_HEADERS += \ vlib/unix/cj.h \ vlib/unix/mc_socket.h \ vlib/unix/physmem.h \ vlib/unix/plugin.h \ vlib/unix/unix.h if !WITH_DPDK noinst_PROGRAMS = vlib_unix vlib_unix_SOURCES = \ example/main_stub.c \ example/mc_test.c vlib_unix_LDADD = libvlib_unix.la libvlib.la \ -lvppinfra -lpthread -lm -ldl -lrt endif