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
m"> * 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. *------------------------------------------------------------------ */ #ifndef SRC_VLIBMEMORY_SOCKET_CLIENT_H_ #define SRC_VLIBMEMORY_SOCKET_CLIENT_H_ #include <vppinfra/file.h> #include <vppinfra/time.h> #include <vlibmemory/memory_shared.h> typedef struct { int socket_fd; int socket_enable; /**< Can temporarily disable the connection but still can keep it around... */ u32 client_index; /**< Client index allocated by VPP */ clib_socket_t client_socket; u32 socket_buffer_size; u8 *socket_tx_buffer; u8 *socket_rx_buffer; u32 socket_tx_nbytes; int control_pings_outstanding; u8 *name; clib_time_t clib_time; ssvm_private_t memfd_segment; int want_shm_pthread; } socket_client_main_t; extern socket_client_main_t socket_client_main; #define SOCKET_CLIENT_DEFAULT_BUFFER_SIZE 4096 int vl_socket_client_connect (char *socket_path, char *client_name, u32 socket_buffer_size); void vl_socket_client_disconnect (void); int vl_socket_client_read (int wait); int vl_socket_client_write (void); void vl_socket_client_enable_disable (int enable); void *vl_socket_client_msg_alloc (int nbytes); int vl_socket_client_init_shm (vl_api_shm_elem_config_t * config, int want_pthread); clib_error_t *vl_socket_client_recv_fd_msg (int fds[], int n_fds, u32 wait); #endif /* SRC_VLIBMEMORY_SOCKET_CLIENT_H_ */ /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */