summaryrefslogtreecommitdiffstats
path: root/build-root
AgeCommit message (Collapse)AuthorFilesLines
2016-09-30Remove RPM package dependency on vpp-develJohn DeNisco1-1/+1
Change-Id: Ie6e1b3c8c2e0cf64f06aafe13a693686fd4b486a Signed-off-by: John DeNisco <jdenisco@cisco.com>
2016-09-27Fix RPM packaging dependenciesJohn DeNisco1-1/+1
Change-Id: Ife1523e11b7225ea0fd41c06c3b802bb171e91f4 Signed-off-by: John DeNisco <jdenisco@cisco.com>
2016-09-27VPP-308: Added workaround for failed vnet build. For some reasonThomas F Herbert1-0/+1
the clock slew is greater with Vagrant 1.8.5 which causes Makefile.am to be timestamped as newer which causes builds to fail. Change-Id: Id0d35c41ac66a2841c5aae20dd678f4bc125e41b Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2016-09-27FIX sysctl configuration directoryMiroslav Miklus1-3/+3
man sysctl.d: ... Packages should install their configuration files in /usr/lib/. Files in /etc/ are reserved for the local administrator, who may use this logic to override the configuration files installed by vendor packages. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. It is recommended to prefix all filenames with a two-digit number and a dash, to simplify the ordering of the files. If the administrator wants to disable a configuration file supplied by the vendor, the recommended way is to place a symlink to /dev/null in the configuration directory in /etc/, with the same filename as the vendor configuration file. ... Change-Id: I24b8b7fddf64ec287282ae195e07c9592c494ebe Signed-off-by: Miroslav Miklus <mmiklus@cisco.com>
2016-09-26Update CSIT tests 160919 -> 160925Jan1-1/+1
- update of CSIT operational branch to be used for VPP-patch test Change-Id: I5daf02786185159cd2a156144f247d3b45369c33 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2016-09-23Python API: Preparation for RPM/DEB packaging.Ole Troan1-0/+32
Recheck. Repackage the Python API binding to include all necessary modules in a single Python package. Change-Id: I5e35141d413bfb1aad650217e1ca07d85646c349 Signed-off-by: Ole Troan <ot@cisco.com>
2016-09-20Update CSIT tests 160912 -> 160919Jan1-1/+1
- update of CSIT operational branch to be used for VPP-patch test Change-Id: Ibcc937f68311a9809cc31965633f2d21f111e2c7 Signed-off-by: Jan <jgelety@cisco.com>
2016-09-13Update CSIT tests 160904 -> 160912Jan1-1/+1
- update of CSIT operational branch to be used for VPP-patch test Change-Id: I7a8024378dee33c89b58835af1b7de020fac3e5e Signed-off-by: Jan <jgelety@cisco.com>
2016-09-12Provide vpp-plugins rpm packagingEd Warnicke1-0/+31
Change-Id: Ifbd99818ead5f38c5f8ad3ecdb36b24a9fa59798 Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-09-10VPP-367: Peg vpp and vpp-plugins to depend on specific versionsEd Warnicke1-2/+2
vpp now depends on the version of vpp-lib it was built with vpp-plugins now depends on the version of vpp it was built with Change-Id: Idf706f94d3a35bdf51930badf61cac288855873d Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-09-07VPP-390: include *.so symlinks in vpp-libEd Warnicke1-0/+2
Currently, vpp-lib rpm includes symlinks for *.so.0 -> *.so.0.0.0 but not *.so -> *.so.0.0.0 This causes linker issues in cases where vpp-lib and vpp-devel rpms are installed and sources are built that rely on libraries in vpp-lib. Example: libtool: link: gcc -shared -fPIC -DPIC jvpp/.libs/libjvpp_nsh_la-jvpp_nsh.o -lvlibmemoryclient -lvlibapi -lsvm -lvppinfra -lpthread -lm -lrt -ljvpp_common -L/usr/lib64 -O2 -Wl,-soname -Wl,libjvpp_nsh.so.0 -o .libs/libjvpp_nsh.so.0.0.0 /usr/bin/ld: cannot find -lvlibmemoryclient /usr/bin/ld: cannot find -lvlibapi /usr/bin/ld: cannot find -lsvm /usr/bin/ld: cannot find -lvppinfra collect2: error: ld returned 1 exit status Change-Id: Ic8eebc696f973ea348be0b43e7cfb289efbe44fe Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-09-07checkstyle: improve speed by checking only recently changed filesDamjan Marion1-3/+18
This change makes checkstyle much faster by checking only recently changed files. It only checks files changed in last commit and files which are localy modified. Old behavior is preserved by specifying argument "--full" when invoking script. In addition "make checkstyle" and "make "fixstyle" actions are added to the top-level Makefile. Change-Id: I7d86225bd282f32ee508e7f52692a3778ac8dcda Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-09-05Update CSIT tests 160821 -> 160904Jan1-1/+1
- update of CSIT operational branch to be used for VPP-patch test Change-Id: I5159d0a320305fd3a8ca927fa742ddd4df87b271 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2016-09-02VPP-374: getting jvppgen.py into rpm vpp-devel packageEd Warnicke1-0/+11
Change-Id: Ia2643f33170da92fde0f8228c8d8393f23e98d11 Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-09-02VPP-373: stop building from /vpp mountEd Warnicke3-5/+63
Change-Id: I7f8fe8fa6c24b4229b0cb45e6c83e7cb2828e2da Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-08-22Update CSIT tests 160815 -> 160821Jan1-1/+1
- update of CSIT operational branch to be used for VPP-patch test Change-Id: I4791551fa0b161ac0347d992bcda4bc1fb8c74d2 Signed-off-by: Jan <jgelety@cisco.com>
2016-08-17Coding standards cleanup - remove trailing whitespace, fixes VPP-332Damjan Marion1-0/+4
Change-Id: I649a17f8fa47599faf438b2e596f53761790d10c Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-08-15Update CSIT tests 160807 -> 160815Jan1-1/+1
- update of CSIT operational branch to be used for VPP-patch test Change-Id: Ia9cb275d9471f3c25a02f943d0ace65aec425f8d Signed-off-by: Jan <jgelety@cisco.com>
2016-08-12VPP-237: Checkstyle script to check for new checkstyle breakageEd Warnicke1-0/+73
indent is... cantankerous It sometimes happens that if you run indent A resulting in A' and then indent A' you get back A. Since the check here is premised on being able to run indent and not see any changed... we have to run it twice to be sure. Change-Id: I5b73e02f5996d8a01ec2e46741affbc6d62da6c9 Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-08-12VPP-237: Bracket VL_API_PACKED(...) macros, which indent manglesEd Warnicke1-0/+3
Change-Id: I208be749350ddb093ecfae149d420f580846c52a Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-08-12Bracket CLIB_PACKED(...) macros, which indent manglesDave Barach1-0/+4
Change-Id: I39722d7b778e6e0dc5a2d12d005c102845159116 Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-11Don't re-add *INDENT-OFF* ... *INDENT-ON* tagsDave Barach1-24/+58
Change-Id: Ifd2249c0152805e7b23c4629acce31634dca6f04 Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-08VPP-311 Coding standards cleanup for vnet/vnet/*.[ch]Dave Barach1-0/+8
Change-Id: I08ed983f594072bc8c72202e77205a7789eea599 Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-08Update CSIT tests 160731 -> 160807Jan1-1/+1
- update of CSIT operational branch to be used for VPP-patch test Change-Id: If21641bfa958f06a61e5b3534ed1fe809de4eca3 Signed-off-by: Jan <jgelety@cisco.com>
2016-08-07VPP-243 - Coding style changes - updated emacs LISP styleifyKeith Burns (alagalah)1-0/+4
Change-Id: I46ae6badcccd14c0e34f1a19187749980baba3ac Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-08-05VPP-237 Coding standards cleanupDave Barach1-2/+8
Change-Id: I239143f920285050ad85244ece6893236195534f Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-04Update coding style for hash_foreach_memKeith Burns (alagalah)1-0/+4
Change-Id: I2f336331463cedb2703150b003761e5c6e4431e8 Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-08-02Fix for broken vagrant installs when using Vagrant 1.8.5.Thomas F Herbert1-0/+1
I upgraded Fedora23 which installed kernel 4.6.4 which in turn required VirtualBox 5.1.2 which in turn required Vagrant 1.8.5. Workaround for a change in Vagrant 1.8.5 that breaks Centos. The newer version of Vagrant doesn't chmod the ssh directory before trying to copy new public key during installs. This will be fixed upstream in Vagrant 1.8.6. Bug doesn't affect Ubuntu because it uses a different umask whereas Centos uses 0002. Change-Id: I8108d4cc208fc47fa69f8a5cf27b2bba7e34293e Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2016-08-01Update CSIT test 160727 -> 160731Jan1-1/+1
- update of CSIT operational branch to be user for VPP-patch test Change-Id: I4c5200fbf0fcdc2f8fef2913a9b9a5981a6ecec1 Signed-off-by: Jan <jgelety@cisco.com>
2016-07-28Update CSIT test 160710 -> 160727Andrej Kozemcak1-1/+1
Change-Id: Ia6e4e951a409a3b8caef16bb62d9969ae030b667 Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-07-21build-root/vagrant: Fix SSE4.x for VBRay1-0/+4
Number of users are reporting issues using VPP with Vagrant and the VirtualBox provider. VPP quits complaining that SSE support is not enabled. This change explicity enables SSE4.x support in the VirtualBox VM. Change-Id: Ia26dc43276aae4179609febfd705d868fa3e07c6 Signed-off-by: Ray <ray.kinsella@intel.com>
2016-07-18Use oper-160710 CSIT branch for 'verify' jobsMiroslav Miklus1-1/+1
Change-Id: I798a1f4168a6d3e60fc9f115b33cd7a5b2782df6 Signed-off-by: Miroslav Miklus <mmiklus@cisco.com>
2016-07-18Improve "indent foo.c" prep scriptDave Barach1-29/+53
Change-Id: Ibb569b745954a11fb9c7751ad2d4140b922478fe Signed-off-by: Dave Barach <dave@barachs.net>
2016-07-13Add plugins debian packagingDamjan Marion2-0/+18
New debian package "vpp-plugins" is created with enabled plugins. Change-Id: I8920178e8874f12e075858001ec44257dfaf497d Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-07-08fd-io-styleify for svmDave Barach1-25/+55
Change-Id: I816de8b1f255dc3bc6d2904566ea0b0f68fac5d8 Signed-off-by: Dave Barach <dave@barachs.net>
2016-07-08fd-io-styleify passDave Barach1-0/+45
Change-Id: If2d57a213fc2fec996db26df332910c3d2105f97 Signed-off-by: Dave Barach <dave@barachs.net>
2016-07-08Update emacs plugin skeletonDamjan Marion2-25/+16
Change-Id: I52b370abd8b6fec34b8219a274f2de404e072a97 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-07-08Multiple changes in the plugin build infraDamjan Marion1-1/+1
- configure.ac - some plugins are enabled by default - Plugin .so files are placed into corresponding subdirs - WITH_PLUGIN_TOOLKIT macro is retired - not needed anymore - plugins/build-data is removed - plugin makefiles are not building static libs anymore - plugin makefiles are not installing header files to /usr/include anymore Change-Id: I55681bd9ce34811f7eb1b2b24d9f0ca42df1cf04 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-06-25Vagrantfile RAM default is too small.Keith Burns (alagalah)2-2/+2
- Will raise JIRA for someone to convert this to use binaries by default - This means we should be able to get away with smaller VM for non-dev users Change-Id: If3d9283ba2c169792a1ab71ff692c25de82d41f4 Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-06-21Vagrantfile syntax error correction - requires string input instead of integer.Srivatsa Sangli1-1/+1
Change-Id: Ib291662c4ea2f5bef0f2c417b16d256f5c480d5c Signed-off-by: Srivatsa Sangli<srivrama@cisco.com>
2016-06-20Using env.sh file for Vagrantfile inputs, but assume some defaultsKeith Burns (alagalah)4-63/+98
Change-Id: Ia4b45d88be5943d413d61435ff38796d1b6a32a2 Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-06-18Enhanced RPM build process to make rpm for any given platformSachin1-1/+1
- Currently default rpm.spec only look for "install-vpp-native" Change-Id: Iaa78c46ae62d2747bda6ffc1189cb8ac6d578bd8 Signed-off-by: Sachin <sachin.saxena@nxp.com>
2016-06-17Fix generate-deb-changelog to handle YY.MM releaseEd Warnicke1-1/+1
generate-deb-changelog was only properly handling x.y.z releases. This patch fixes it to handle YY.MM. Change-Id: Iaaee8ff747abd6754d021535c889f67ad2c9998f Signed-off-by: Ed Warnicke <eaw@cisco.com> (cherry picked from commit 693f4358deef7db06b3d3cae0d881924dd9cf9fa)
2016-06-09VPP-127 Removed spurious use of sudoEd Warnicke2-2/+2
Change-Id: I1eb18fc6379db30fb802e3b929931788f54e7dc2 Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-06-09VPP-129: Add build-root/scripts/csit-test-branch scriptEd Warnicke1-0/+2
This script returns the csit branch that should be used for testing and verification. Related to csit patch: https://gerrit.fd.io/r/#/c/1344/ Change-Id: I51e44e4ba4dc433056ac8a870f8b7c7f9518189b Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-06-08VPP-127: Make rpm/deb provide vpp group to access vpp-apiEd Warnicke2-0/+8
Change-Id: I80b7f55034d64ad8360e29c669002948317c64ba Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-06-08VPP-124: Fix rpms to work out of the box.Ed Warnicke2-1/+3
Currently, for vpp we are not building any rpms for dpdk or igb_uio. This is because uio_pci_generic as shipped with centos works with vpp. However, our vpp rpms do not install kernel module uio_pci_generic at start up and the /etc/vpp/startup.conf does not configure vpp to use uio_pci_generic. vpp rpms should do both, so that when the vpp rpm is installed and vpp started, it just works out of the box. This patch fixes the rpms to do so. Change-Id: Ib934b51f9271cded466d235aa4044bef75c35960 Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-06-05VPP-94: Add build-data directory for plugins and Makefile targetPierre Pfister1-1/+1
Commit e36af5f3153 moved sample-plugin a dedicated directory. The build system could not find sources for sample-plugin-* targets. This commit adds a dedicated build-data/packages directory for plugins and moves sample-plugin.mk there. Change-Id: I9e3ee8858580e86ff6d4f7317300df0a5e239a01 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-06-05VPP-112: linux kernel info missing from build logDave Wallace1-0/+9
Change-Id: I343418d409d682b00e74e41236382fdc6b3c780c Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2016-06-03Sample plugin moved to .../plugins/sample-pluginDave Barach1-4/+4
Change-Id: I6de20c9883d6918899c4b5b03e900814961e824d Signed-off-by: Dave Barach <dave@barachs.net>
with the off_link parameter else YMMV @param is_no - add/delete @param val_lifetime - The length of time in seconds (relative to the time the packet is sent) that the prefix is valid for the purpose of on-link determination. A value of all one bits (0xffffffff) represents infinity @param pref_lifetime - The length of time in seconds (relative to the time the packet is sent) that addresses generated from the prefix via stateless address autoconfiguration remain preferred [ADDRCONF]. A value of all one bits (0xffffffff) represents infinity. */ autoreply define sw_interface_ip6nd_ra_prefix { u32 client_index; u32 context; u32 sw_if_index; u8 address[16]; u8 address_length; u8 use_default; u8 no_advertise; u8 off_link; u8 no_autoconfig; u8 no_onlink; u8 is_no; u32 val_lifetime; u32 pref_lifetime; }; /** \brief IPv6 ND proxy config @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param sw_if_index - The interface the host is on @param address - The address of the host for which to proxy for @param is_add - Adding or deleting */ autoreply define ip6nd_proxy_add_del { u32 client_index; u32 context; u32 sw_if_index; u8 is_del; u8 address[16]; }; /** \brief IPv6 ND proxy details returned after request @param context - sender context, to match reply w/ request @param retval - return code for the request */ define ip6nd_proxy_details { u32 client_index; u32 context; u32 sw_if_index; u8 address[16]; }; /** \brief IPv6 ND proxy dump request @param context - sender context, to match reply w/ request @param retval - return code for the request @param sw_if_index - The interface the host is on @param address - The address of the host for which to proxy for */ define ip6nd_proxy_dump { u32 client_index; u32 context; }; /** \brief Start / stop sending router solicitation @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param irt - initial retransmission time @param mrt - maximum retransmission time @param mrc - maximum retransmission count @param mrd - maximum retransmission duration @param sw_if_index - software interface index of interface for sending router solicitation @param stop - if non-zero then stop sending router solicitation, otherwise start sending router solicitation */ autoreply define ip6nd_send_router_solicitation { u32 client_index; u32 context; u32 irt; u32 mrt; u32 mrc; u32 mrd; u32 sw_if_index; u8 stop; }; /** \brief IPv6 interface enable / disable request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param sw_if_index - interface used to reach neighbor @param enable - if non-zero enable ip6 on interface, else disable */ autoreply define sw_interface_ip6_enable_disable { u32 client_index; u32 context; u32 sw_if_index; u8 enable; /* set to true if enable */ }; /** \brief IPv6 set link local address on interface request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param sw_if_index - interface to set link local on @param address[] - the new link local address */ autoreply define sw_interface_ip6_set_link_local_address { u32 client_index; u32 context; u32 sw_if_index; u8 address[16]; }; /** \brief Add / del route request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param sw_if_index - software index of the new vlan's parent interface @param vrf_id - fib table /vrf associated with the route @param lookup_in_vrf - @param classify_table_index - @param is_add - 1 if adding the route, 0 if deleting @param is_drop - Drop the packet @param is_unreach - Drop the packet and rate limit send ICMP unreachable @param is_prohibit - Drop the packet and rate limit send ICMP prohibited @param is_ipv6 - 0 if an ip4 route, else ip6 @param is_local - The route will result in packets sent to VPP IP stack @param is_udp_encap - The path describes a UDP-o-IP encapsulation. @param is_classify - @param is_multipath - Set to 1 if this is a multipath route, else 0 @param is_dvr - Does the route resolve via a DVR interface. @param is_source_lookup - The the path is a deaggregate path (i.e. a lookup in another table) is the lookup on the packet's source address or destination. @param next_hop_weight - Weight for Unequal cost multi-path @param next_hop_preference - Path that are up that have the best preference are are used for forwarding. lower value is better. @param next_hop_id - Used when the path resolves via an object that has a unique identifier. @param dst_address_length - @param dst_address[16] - @param next_hop_address[16] - @param next_hop_n_out_labels - the number of labels in the label stack @param next_hop_out_label_stack - the next-hop output label stack, outer most first @param next_hop_via_label - The next-hop is a resolved via a local label */ autoreply define ip_add_del_route { u32 client_index; u32 context; u32 next_hop_sw_if_index; u32 table_id; u32 classify_table_index; u32 next_hop_table_id; u32 next_hop_id; u8 is_add; u8 is_drop; u8 is_unreach; u8 is_prohibit; u8 is_ipv6; u8 is_local; u8 is_classify; u8 is_multipath; u8 is_resolve_host; u8 is_resolve_attached; u8 is_dvr; u8 is_source_lookup; u8 is_udp_encap; u8 next_hop_weight; u8 next_hop_preference; u8 next_hop_proto; u8 dst_address_length; u8 dst_address[16]; u8 next_hop_address[16]; u8 next_hop_n_out_labels; u32 next_hop_via_label; vl_api_fib_mpls_label_t next_hop_out_label_stack[next_hop_n_out_labels]; }; /** \brief Add / del route request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param sw_if_index - software index of the new vlan's parent interface @param vrf_id - fib table /vrf associated with the route @param next_hop_afi - Use dpo_proto_t FIXME */ autoreply define ip_mroute_add_del { u32 client_index; u32 context; u32 next_hop_sw_if_index; u32 table_id; u32 entry_flags; u32 itf_flags; u32 rpf_id; u32 bier_imp; u16 grp_address_length; u8 next_hop_afi; u8 is_add; u8 is_ipv6; u8 is_local; u8 grp_address[16]; u8 src_address[16]; u8 nh_address[16]; }; /** \brief Dump IP multicast fib table @param client_index - opaque cookie to identify the sender */ define ip_mfib_dump { u32 client_index; u32 context; }; /** \brief IP Multicast FIB table response @param table_id - IP fib table id @address_length - mask length @grp_address - Group address/prefix @src_address - Source address @param count - the number of fib_path in path @param path - array of of fib_path structures */ manual_endian manual_print define ip_mfib_details { u32 context; u32 table_id; u32 entry_flags; u32 rpf_id; u8 address_length; u8 grp_address[4]; u8 src_address[4]; u32 count; vl_api_fib_path_t path[count]; }; /** \brief Dump IP6 multicast fib table @param client_index - opaque cookie to identify the sender */ define ip6_mfib_dump { u32 client_index; u32 context; }; /** \brief IP6 Multicast FIB table response @param table_id - IP fib table id @address_length - mask length @grp_address - Group address/prefix @src_address - Source address @param count - the number of fib_path in path @param path - array of of fib_path structures */ manual_endian manual_print define ip6_mfib_details { u32 context; u32 table_id; u8 address_length; u8 grp_address[16]; u8 src_address[16]; u32 count; vl_api_fib_path_t path[count]; }; define ip_address_details { u32 client_index; u32 context; u8 ip[16]; u8 prefix_length; u32 sw_if_index; u8 is_ipv6; }; define ip_address_dump { u32 client_index; u32 context; u32 sw_if_index; u8 is_ipv6; }; define ip_details { u32 sw_if_index; u32 context; u8 is_ipv6; }; define ip_dump { u32 client_index; u32 context; u8 is_ipv6; }; define mfib_signal_dump { u32 client_index; u32 context; }; define mfib_signal_details { u32 client_index; u32 context; u32 sw_if_index; u32 table_id; u16 grp_address_len; u8 grp_address[16]; u8 src_address[16]; u16 ip_packet_len; u8 ip_packet_data[256]; }; /** \brief IP punt policer @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param is_add - 1 to add neighbor, 0 to delete @param is_ipv6 - 1 for IPv6 neighbor, 0 for IPv4 @param policer_index - Index of policer to use */ autoreply define ip_punt_police { u32 client_index; u32 context; u32 policer_index; u8 is_add; u8 is_ip6; }; /** \brief IP punt redirect @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param is_add - 1 to add neighbor, 0 to delete @param is_ipv6 - 1 for IPv6 neighbor, 0 for IPv4 @param tx_sw_if_index - the TX interface to which traffic shoulde be redirected. @param nh - The next-hop to redirect the traffic to. */ autoreply define ip_punt_redirect { u32 client_index; u32 context; u32 rx_sw_if_index; u32 tx_sw_if_index; u8 is_add; u8 is_ip6; u8 nh[16]; }; autoreply define ip_container_proxy_add_del { u32 client_index; u32 context; u8 ip[16]; u8 is_ip4; u8 plen; u32 sw_if_index; u8 is_add; }; /** \brief Configure IP source and L4 port-range check @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param is_ip6 - 1 if source address type is IPv6 @param is_add - 1 if add, 0 if delete @param mask_length - mask length for address entry @param address - array of address bytes @param number_of_ranges - length of low_port and high_port arrays (must match) @param low_ports[32] - up to 32 low end of port range entries (must have corresponding high_ports entry) @param high_ports[32] - up to 32 high end of port range entries (must have corresponding low_ports entry) @param vrf_id - fib table/vrf id to associate the source and port-range check with @note To specify a single port set low_port and high_port entry the same */ autoreply define ip_source_and_port_range_check_add_del { u32 client_index; u32 context; u8 is_ipv6; u8 is_add; u8 mask_length; u8 address[16]; u8 number_of_ranges; u16 low_ports[32]; u16 high_ports[32]; u32 vrf_id; }; /** \brief Set interface source and L4 port-range request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param interface_id - interface index @param tcp_vrf_id - VRF associated with source and TCP port-range check @param udp_vrf_id - VRF associated with source and TCP port-range check */ autoreply define ip_source_and_port_range_check_interface_add_del { u32 client_index; u32 context; u8 is_add; u32 sw_if_index; u32 tcp_in_vrf_id; u32 tcp_out_vrf_id; u32 udp_in_vrf_id; u32 udp_out_vrf_id; }; /** \brief IP probe neighbor address on an interface by sending an ARP request (for IP4) or ICMP6 Neighbor Solicitation (for IP6) @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param sw_if_index - interface index @param dst_address - target IP address to send IP addr resolution request @param is_ipv6 - [1|0] to indicate if address family is IPv[6|4] */ autoreply define ip_probe_neighbor { u32 client_index; u32 context; u32 sw_if_index; u8 dst_address[16]; u8 is_ipv6; }; /** \brief Register for IP4 ARP resolution event on receing ARP reply or MAC/IP info from ARP requests in L2 BDs @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param enable_disable - 1 => register for events, 0 => cancel registration @param pid - sender's pid @param address - exact IP4 address of interested arp resolution event, or 0 to get MAC/IP info from ARP requests in BDs */ autoreply define want_ip4_arp_events { u32 client_index; u32 context; u8 enable_disable; u32 pid; u32 address; }; /** \brief Tell client about an IP4 ARP resolution event or MAC/IP info from ARP requests in L2 BDs @param client_index - opaque cookie to identify the sender @param address - the exact ip4 address of interest @param pid - client pid registered to receive notification @param sw_if_index - interface which received ARP packet @param new_mac - the new mac address @param mac_ip - 0: ARP resolution event, 1: MAC/IP info from L2 BDs */ define ip4_arp_event { u32 client_index; u32 address; u32 pid; u32 sw_if_index; u8 new_mac[6]; u8 mac_ip; }; service { rpc want_ip4_arp_events returns want_ip4_arp_events_reply events ip4_arp_event; }; /** \brief Register for IP6 ND resolution event on recieving NA reply MAC/IP info from ICMP6 Neighbor Solicitation in L2 BDs @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param enable_disable - 1 => register for events, 0 => cancel registration @param pid - sender's pid @param address - the exact IP6 address of interested ND resolution event, or 0 to get MAC/IP info from ICMP6 NS in L2 BDs. */ autoreply define want_ip6_nd_events { u32 client_index; u32 context; u8 enable_disable; u32 pid; u8 address[16]; }; /** \brief Tell client about an IP6 ND resolution or MAC/IP info from ICMP6 Neighbor Solicitation in L2 BDs. @param client_index - opaque cookie to identify the sender @param pid - client pid registered to receive notification @param sw_if_index - interface which received ARP packet @param address - the exact ip6 address of interest @param new_mac - the new mac address @param mac_ip - 0: ND resolution event, 1: MAC/IP info from L2 BDs */ define ip6_nd_event { u32 client_index; u32 pid; u32 sw_if_index; u8 address[16]; u8 new_mac[6]; u8 mac_ip; }; service { rpc want_ip6_ra_events returns want_ip6_ra_events_reply events ip6_ra_event; }; /** \brief Register for ip6 router advertisement events @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param enable_disable - 1 => register for events, 0 => cancel registration @param pid - sender's pid */ autoreply define want_ip6_ra_events { u32 client_index; u32 context; u8 enable_disable; u32 pid; }; /** \brief Struct representing RA prefix info @param dst_address - RA prefix info destination address @param dst_address_length - RA prefix info destination address length @param flags - RA prefix info flags @param valid_time - RA prefix info valid time @param preferred_time - RA prefix info preferred time */ typeonly define ip6_ra_prefix_info { u8 dst_address[16]; u8 dst_address_length; u8 flags; u32 valid_time; u32 preferred_time; }; /** \brief Tell client about a router advertisement event @param client_index - opaque cookie to identify the sender @param pid - client pid registered to receive notification @param current_hop_limit - RA current hop limit @param flags - RA flags @param router_lifetime_in_sec - RA lifetime in seconds @param neighbor_reachable_time_in_msec - RA neighbor reachable time in msec @param time_in_msec_between_retransmitted_neighbor_solicitations - time in msec between retransmitted neighbor solicitations @param n_prefixes - @param prefixes - */ define ip6_ra_event { u32 client_index; u32 pid; u32 sw_if_index; u8 router_address[16]; u8 current_hop_limit; u8 flags; u16 router_lifetime_in_sec; u32 neighbor_reachable_time_in_msec; u32 time_in_msec_between_retransmitted_neighbor_solicitations; u32 n_prefixes; vl_api_ip6_ra_prefix_info_t prefixes[n_prefixes]; }; service { rpc want_ip6_nd_events returns want_ip6_nd_events_reply events ip6_nd_event; }; /** \brief Proxy ARP add / del request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param vrf_id - VRF / Fib table ID @param is_add - 1 if adding the Proxy ARP range, 0 if deleting @param low_address[4] - Low address of the Proxy ARP range @param hi_address[4] - High address of the Proxy ARP range */ autoreply define proxy_arp_add_del { u32 client_index; u32 context; u32 vrf_id; u8 is_add; u8 low_address[4]; u8 hi_address[4]; }; /** \brief Proxy ARP add / del request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param sw_if_index - Which interface to enable / disable Proxy Arp on @param enable_disable - 1 to enable Proxy ARP on interface, 0 to disable */ autoreply define proxy_arp_intfc_enable_disable { u32 client_index; u32 context; u32 sw_if_index; /* 1 = on, 0 = off */ u8 enable_disable; }; /** \brief Reset fib table request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param vrf_id - vrf/table id of the fib table to reset @param is_ipv6 - an ipv6 fib to reset if non-zero, else ipv4 */ autoreply define reset_fib { u32 client_index; u32 context; u32 vrf_id; u8 is_ipv6; }; /** \brief Set max allowed ARP or ip6 neighbor entries request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param is_ipv6 - neighbor limit if non-zero, else ARP limit @param arp_neighbor_limit - the new limit, defaults are ~ 50k */ autoreply define set_arp_neighbor_limit { u32 client_index; u32 context; u8 is_ipv6; u32 arp_neighbor_limit; }; /** \brief IOAM enable : Enable in-band OAM @param id - profile id @param seqno - To enable Seqno Processing @param analyse - Enabling analysis of iOAM at decap node @param pow_enable - Proof of Work enabled or not flag @param trace_enable - iOAM Trace enabled or not flag */ autoreply define ioam_enable { u32 client_index; u32 context; u16 id; u8 seqno; u8 analyse; u8 pot_enable; u8 trace_enable; u32 node_id; }; /** \brief iOAM disable @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param index - MAP Domain index */ autoreply define ioam_disable { u32 client_index; u32 context; u16 id; }; autoreply define ip_reassembly_set { u32 client_index; u32 context; u32 timeout_ms; u32 max_reassemblies; u32 expire_walk_interval_ms; u8 is_ip6; }; define ip_reassembly_get { u32 client_index; u32 context; u8 is_ip6; }; define ip_reassembly_get_reply { u32 client_index; u32 context; i32 retval; u32 timeout_ms; u32 max_reassemblies; u32 expire_walk_interval_ms; u8 is_ip6; }; /** \brief Enable/disable reassembly feature @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param sw_if_index - interface to enable/disable feature on @param enable_ip4 - enable ip4 reassembly if non-zero, disable if 0 @param enable_ip6 - enable ip6 reassembly if non-zero, disable if 0 */ autoreply define ip_reassembly_enable_disable { u32 client_index; u32 context; u32 sw_if_index; u8 enable_ip4; u8 enable_ip6; }; /* * Local Variables: * eval: (c-set-style "gnu") * End: */