aboutsummaryrefslogtreecommitdiffstats
path: root/src/scripts/vnet/mpls-tunnel
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2019-08-28 17:12:32 -0700
committerAndrew Yourtchenko <ayourtch@gmail.com>2019-09-27 09:36:42 +0000
commit154e4a6cb75df40093540e60ecea8352ca00e479 (patch)
tree21a37c1ab02e70ebb14673cf5ba767746e06d48c /src/scripts/vnet/mpls-tunnel
parent997f95e11a23c7d90a1d29464841a7ad6a413a6c (diff)
svm: fix fifo hdr freelist allocation
Type: fix Change-Id: Ia362ad821db1fd506e973e1844cc3ec74703cc17 Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit 73cad33b56ffc08943e9c0d73ecb14466558baae)
Diffstat (limited to 'src/scripts/vnet/mpls-tunnel')
0 files changed, 0 insertions, 0 deletions
Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
How to construct a complete plugin using the emacs skeletons

0. Install open-vpp, including the development package.

1. Load emacs skeletons

   M-x find-file all-skel.el
   M-x eval-buffer

2. Pick a single-word, lower-case name for your plugin. For example: macswap.
Hereafter, we'll refer to the selected name as <plugin-name>.

3. Generate the entire plugin:

   M-x make-plugin
   Plugin-name: <plugin-name>

Or, generate each file individually:

3. Create the required directories, e.g. under .../vpp

   $ mkdir -p <plugin-name>-plugin/<plugin-name>

4. Create <plugin-name>-plugin/{configure.ac,Makefile.am}

   M-x find-file <plugin-name>-plugin/configure.ac
   M-x plugin-configure-skel
   
   M-x find-file <plugin-name>-plugin/Makefile.am
   M-x skel-plugin-makefile

5. Create the api skeleton
   M-x find-file <plugin-name>-plugin/<plugin-name>/<plugin-name>.api
   M-x skel-plugin-api

6. Create the api message enumeration header file
   M-x find-file <plugin-name>-plugin/<plugin-name>/<plugin-name>_msg_enum.h
   M-x skel-plugin-msg-enum

7. Create the "all-api" header file
   M-x find-file <plugin-name>-plugin/<plugin-name>/<plugin-name>_all_api_h.h
   M-x skel-plugin-all-apih

8. Create the main data structure definition header file
   M-x find-file <plugin-name>-plugin/<plugin-name>/<plugin-name>.h
   M-x skel-plugin-h

9. Create the plugin main C file
   M-x find-file <plugin-name>-plugin/<plugin-name>/<plugin-name>.c
   M-x skel-plugin-main

10. Create the vpp-api-test plugin main C file
   M-x find-file <plugin-name>-plugin/<plugin-name>/<plugin-name>_test.c
   M-x skel-plugin-test

11. Create the data plane packet processing node
   M-x find-file <plugin-name>-plugin/<plugin-name>/node.c
   M-x skel-plugin-node

12. Process autotools input files

   $ cd <plugin-name>-plugin
   $ autoreconf -i -f

13. Build the plugin skeleton

   $ mkdir build
   $ cd build
   $ ../configure --with-plugin-toolkit
   $ make
   $ sudo make install