Compare commits

...

66 Commits

Author SHA1 Message Date
Neale Ranns
a8f93f87b9 VPP debug image with worker threads hit assert on adding IP route with traffic (VPP-892)
When stacking DPOs the VLIB graph is also updated to add the edge between the nodes, if this edge does not yet exist. This addition should be done with the workers stopped.

Change-Id: I327e4d7d26f0b23eb280f17e4619ff2093ff7940
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit c02bd03ddf5eec9e9c79811360685f13e4ba8ee1)
2017-06-30 11:56:59 +00:00
Igor Mikhailov (imichail)
65ebc02dc9 vlib: make runtime_data handling thread-local
Change-Id: Ic2f2dc234199a5f882846880cbacff20fc8d477b
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
(cherry picked from commit 8249a588e9a60a813719475adf33cf793e420839)
2017-06-22 20:50:37 +00:00
Ole Troan
fc69a97116 Release: Script to generate LF release template.
Change-Id: I88d46c71dffd15e31ce8852af224a4f95a76b1ab
Signed-off-by: Ole Troan <ot@cisco.com>
2017-06-16 22:40:16 +02:00
Damjan Marion
2fe427dfb0 Move scripts to extras/
Change-Id: I2abd6367915d4652fcf45025bd251046f3f206ab
Signed-off-by: Damjan Marion <damarion@cisco.com>
(cherry picked from commit 5ef1fef692182dabc986995390d46552d88fb9df)
2017-06-16 20:32:20 +00:00
Marek Gradzki
6bfd8d13b0 Bump vpp version to 17.04.2 for next development cycle
17.04.2 was used, because 17.04.1 tag was already laid.

One of the reasons to bump version for bux fix release
is to have correct version of jvpp artifacts in nexus.

Currently jvpp jars are published as 17.04-SNAPSHOT
and (by nexus desing) are cleaned up on daily basis
because 17.04 artifacts are already in release repository.

Change-Id: Id541c7423c9616cf7baef90c1c784bb442660f0e
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-06-06 17:51:06 +02:00
Neale Ranns
0a796ae993 MPLS lookup DPO does not pop the label (nor does it handle replicate)
Change-Id: I7de6b96631d1645d0eadd38525860d84d78e316d
Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-05-30 01:39:33 -07:00
Robert Varga
e3b7ad7ade Fix JNI templates
The JNI templates around array and object handling are wrong in the
sense that they fail to delete local references for objects which
have been assigned to fields/arrays. Fix this by invoking
DeleteLocalRef.

Change-Id: I1c31d81f4235d821ccd51c96be7b176f64284928
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: Robert Varga <nite@hq.sk>
2017-05-25 17:07:44 +00:00
Neale Ranns
2cf8430826 MPLS trace fixes
Change-Id: I141a14e1098e562bdb3c3ac576754f4f19dbcb04
Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-05-24 13:58:10 -07:00
Jan Gelety
8e177979f8 Update CSIT tests 170313 -> rls1704
- update of CSIT operational branch to be used for VPP-patch test

Change-Id: I8e598987ea44fffdd100004b492008df63ca2eef
Signed-off-by: Jan Gelety <jgelety@cisco.com>
2017-05-22 08:47:00 +02:00
Steven
7d68ec6134 vhost: buffers leak and interface disable upon vring descriptor out of mmap
When processing a vring descriptor which is outside of mmap, we disable
the interface and spit a message to shut/no shut the interface. This is
not practical as application using vhost cannot constantly checking the
logs and do the recovery. The proposed fix is to log an error, like
other errors that we encounter.

The other bug is buffer leak in the function rewind. At the end of the
while loop when b_current != b_head, we still have to give back 1 more
buffer or add 1 to rx_buffers_len.

Change-Id: I68c0b24f070e644cd8878f42272a7b518f14393f
Signed-off-by: Steven <sluong@cisco.com>
(cherry picked from commit 95827e430762a2858f4e56e1248a4a93d629a938)
2017-05-20 17:50:58 +00:00
flyingeagle23
7ebd374e18 ping command does not work when there is woker thread (VPP-844)
Change-Id: Ic896b237a7d141243e1b7d6d4fbb2a120f44363e
Signed-off-by: flyingeagle23 <wang.hui56@zte.com.cn>
(cherry picked from commit 92a838b14a1862ef07c631412069e968f303639b)
2017-05-17 16:15:51 +00:00
Pierre Pfister
c4352553ee vhost: Fix mmap size calculation
I had a bug where a requested size of 1G was resulting in
an aligned size of '1G + 2M', resulting in an OOM error.

Previous code was adding one huge page size
when memory is already aligned.

Change-Id: Idd3aa0e9b893fb3efccba6ae1c7161e26d3f9456
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2017-05-17 12:02:17 +00:00
Neale Ranns
1985c93bd7 ARP learning fixes (VPP-843)
learn ARP peers if, 1) it's a reply to a local address, 2) we are sending a response to a request.
send proxy ARP responses only in the interface the request was sent.

Change-Id: I22b949c65122824233076492b7dd537daca07bc2
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit d5b6aa139856a1447f7bc5377058202110eaa4cf)
2017-05-17 12:02:04 +00:00
Steven
1da79ed899 vhost: bad packet assembled from descriptor chaining
When the descriptor is chained via multiple parts, vhost is supposed
to reassemble the different parts to form a packet prior to passing
the packet to the next input node. However, bad packet was seen, having
bad ethertype, source, and destination mac addresses.

The problem was due to the destination pointer not being incremented as
each chain is processed. THe result was the first chain is copied to the
beginning of the buffer, the next chain is copied, then the last chain
is also copied to the beginning of the buffer. As a result, the ethertype,
source and destination mac, etc, are being overwritten by the very last
chain of the descriptor.

Change-Id: I78f9a91de68c85574047912576dcc311d7597e21
Signed-off-by: Steven <sluong@cisco.com>
2017-05-17 11:50:27 +02:00
Florin Coras
99c0734e54 Validate ip6 interface fib tables early on
This should avoid random crashes due to reception of packets (multicast
in particular) before ip6 addresses are configured on the interfaces.

Change-Id: Ibcf1a5a2ae2fa75f8b57da1b2f09f32c081210d7
Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-05-15 20:16:20 +00:00
Marek Gradzki
307cfd8eb1 jvpp: fix memory allocation for variable lenght messages (VPP-841)
Change-Id: I9a46125e3cf9815c08cf8cca17713ec6e9121eae
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-05-15 08:49:56 +02:00
Neale Ranns
cbc9aa025f Fix FIB recursion loops via cover (VPP-842)
Change-Id: Ia91c3e8cb27b9e4c1cccefc0a4857dd9995450ab
Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-05-13 09:07:39 -07:00
Andrew Yourtchenko
4c72e629e5 acl-plugin: unapply the ACLs if interface is being deleted
(HC2VPP-137 is the client behavior triggering this)

If the user does not unapply the ACLs off the interface,
but deletes the interface, the subsequent reuse of the
sw_if_index might find itself with the datapath
hooked up for ACL processing even though there is
no ACL configured. The fix is to unapply any ACLs
in the callback which is called upon the sw_if_index
addition/deletion.

Change-Id: Icea413d7fbf1ef891844a4818626e1b34fe79cbf
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2017-05-11 15:39:26 +00:00
Andrew Yourtchenko
2f8fa30f34 Avoid active connection prevent timeout of idle conns after it
Fix a logic error related to timing out of the connections
following the active one. To avoid this class of issue in
the future, create corresponding testcases, as well as some
trivial sanity testcases for both IPv4 and IPv6.

Since these tests are timing-dependent and take up time,
mark them as extended tests.

Change-Id: I2c72bad5efda7db8aa9cb05801fe47928dc47927
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit 57d7dbc8bf8a49ee2421fe97bd3ed7099d2384bf)
2017-05-11 10:06:32 +00:00
Hongjun Ni
4deb95592e Fix mac check issue for vitual tunnel interface with no mac address
Change-Id: I6ce21317fcaa25781199f4329be815f076ab8b09
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2017-05-08 07:57:16 +00:00
Shwetha Bhandari
1407883372 ioam: adding missing setup api msg crc table
Change-Id: Ic95fe6179de1151796188813cc595187d4c842a0
Signed-off-by: Shwetha Bhandari <shwethab@cisco.com>
(cherry picked from commit 851a37a78f80427a910a9cb571e5a7d70c120e38)
2017-04-27 10:49:49 +00:00
Milan Lenco
d351fbf2fc Temporary workaround for the bug VPP-698
Change-Id: Ie0548868154ef5e9bdc7a57a16f68284683ad9a5
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
2017-04-26 15:02:16 +02:00
Ole Troan
08cf5f2b17 Python API: Missing python-cffi dependency for RPM.
Change-Id: I36852524f8a8bb38031e4e7bf92828e89abbb984
Signed-off-by: Ole Troan <ot@cisco.com>
2017-04-21 21:15:53 +02:00
Ole Troan
511ee63cbb make test: mark all BFD tests as extended
Change-Id: Id6c482cf01f49257a05600ae1458f5db09c13cf0
Signed-off-by: Ole Troan <ot@cisco.com>
2017-04-21 17:15:26 +02:00
Damjan Marion
c39ed3da62 Fix issue with gre protocol registration when running multithreaded
Change-Id: Ic5bd7da08f8a46b548d56516e4633f0b8badf2a1
Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-04-21 11:31:09 +00:00
Damjan Marion
e23680056e Fix issue with udp port registration when running multithreaded
Change-Id: I16606757176649e61f0a51895329586311144766
Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-04-21 11:30:22 +00:00
Klement Sekera
128254a1c3 make test: fix broken plugin paths
Change-Id: I25a6882ec503fc5bb3694411fbdc2eb1f1e1fafc
Signed-off-by: Klement Sekera <ksekera@cisco.com>
(cherry picked from commit 6abbc2884a0d2006f2b7cc1d9f5b74cefbb7ac78)
2017-04-21 11:24:05 +00:00
Klement Sekera
8a74f2a480 make test: properly propagate exit status
Change-Id: Ie9f48a0d5e0a9cd08eb8f07d49149eee40f04131
Signed-off-by: Klement Sekera <ksekera@cisco.com>
(cherry picked from commit 0c8ad446db72078a2255329c2cfaced517829c78)
2017-04-21 11:22:34 +00:00
Damjan Marion
4cb2357443 Comment out dpdk section in startup.conf
It is empty anyway and it is causing problems if dpdk plugin is not
loaded.

Change-Id: I7b49afec39c78cbaf0c57b50621fb3e6848e3469
Signed-off-by: Damjan Marion <damarion@cisco.com>
(cherry picked from commit 60750434fce12e320968a5bbc14cca080048ffd1)
2017-04-20 08:56:46 +00:00
Ole Troan
2c91879e7f 1704: Release notes update. Including old 17.01.
Change-Id: Ifd6e9ce769297534f8de088f583c23ad3f2c51df
Signed-off-by: Ole Troan <ot@cisco.com>
2017-04-20 08:55:44 +02:00
Florin Coras
5d0137bbd0 Update release notes
Change-Id: Ie554934b86ab24e82ca22680f6b3d772f5d6e8f9
Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-04-19 13:49:56 -07:00
Ole Troan
282accc2b3 1704: Release notes.
Change-Id: I2881ae9c68a4edf60e83923e6409cbd767ada914
Signed-off-by: Ole Troan <ot@cisco.com>
2017-04-19 13:32:59 +02:00
Juraj Sloboda
012e4bab6c Support ping from outside network in 1:1 NAT (VPP-695)
Change-Id: Iec8fd4c2bd26874bd8bda82172af797e9b92592c
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2017-04-19 08:01:59 +00:00
Juraj Sloboda
1604a9c0ca Make fixes in SNAT code
Change-Id: I691d1bfb2923a07c0003485b1d0272aaf9ed27ee
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2017-04-19 07:05:59 +00:00
Neale Ranns
d8d09d15e2 Memory leak in load-balance maps
Change-Id: Iec67ae1232e346d5e0000e0b4c997fdc31865bc6
Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-04-18 12:56:45 -07:00
Vengada
68df5a51f6 VPP-341: IOAM documentation
Change-Id: I24139082c795ccdfe19d398637a287523ec7a4cc
Signed-off-by: Vengada <venggovi@cisco.com>
Signed-off-by: Shwetha <shwethab@cisco.com>
Signed-off-by: AkshayaNadahalli <anadahal@cisco.com>
2017-04-15 12:37:48 +00:00
Neale Ranns
2594216a9a Remove unsed parameter from fib_table_entry_special_add() (only used in FIB tests). The DPO was incorrectly initialised with FIB_PROTO_MAX
Change-Id: I962df9e162e4dfb6837a5ce79ea795d5ff2d7315
Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-04-13 09:20:30 +00:00
shwethab
00c14a94c3 VPP-693: IOAM configuration for SRv6 localsid
This add debug cli to accept SRv6 localsid that will be
used to attract the return traffic for M-Anycast flows.

Change-Id: I8f8dd115c36498141ae4cb143c6584141950b1d3
Signed-off-by: shwethab <shwetha.bhandari@gmail.com>
2017-04-13 08:50:21 +00:00
Filip Tehlar
5e189f1a88 LSIP: make LISP statistics collecting thread safe, VPP-692
Change-Id: If884835c0f63de162ecf75fecd2a63a1240ee910
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2017-04-11 06:30:06 +00:00
Marek Gradzki
92bcecfdcc jvpp: remove redundant libvlib.la dependency
Follows https://gerrit.fd.io/r/#/c/5681/
Should fix VPP-689.

Change-Id: I5514c3d2657f4ee0a932d14c80f55d1471f5d56f
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-04-10 13:15:22 +00:00
Eyal Bari
0f0ff322b1 BRIDGE-DOMAIN:enable arp term,mac/ip learning on local ints
we should not suppress arps on remote interface instead we should  flood them to the local one
used shg != 0 to identify packets from remote interfaces and disable arp term l2 input feature for them

Change-Id: I701537c05df7451a25ccb5bfc9e2b03ea70cff20
Signed-off-by: Eyal Bari <ebari@cisco.com>
(cherry picked from commit a0623f8d26501a230801908cd4bc38d67a35dd23)
2017-04-10 09:44:19 +00:00
John Lo
16c76de9b5 Fix init of ENIC driver to allow receiving of jumbo packets
Set rxmode.enable_scatter field in DPDK port config parameter so ENIC
driver will use multiple mbuf's for receiving jumbo packets.
Also remove ENIC driver check to disable setting ENIC MTU as this
capability is now working with the new ENIC driver, subject to 9002B
limit.

Change-Id: I563976201c4968d4538c0759505cef2de876934a
Signed-off-by: John Lo <loj@cisco.com>
(cherry picked from commit 250b95b71babdfb558554c788a82cf45ccc34ab8)
2017-04-08 17:16:33 +00:00
Florin Coras
b970bb7f01 Fix gpe dp args to allow for 32 bit bridge domain ids, VPP-690
Change-Id: I4e3df197eed33acbceaff495279def8716773303
Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-04-07 00:00:04 +00:00
Marek Gradzki
77ff34d550 jvpp: remove unused print&endian headers (fixes VPP-688)
Change-Id: I97e03d98758a08b1f75a9a1f35f0181385a10ae8
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-04-06 08:15:00 +00:00
Sergio Gonzalez Monroy
12cb0c4cdb Fix name typo
Change-Id: Ic7128d4f8a13c021e0fd4731a717193d050431d2
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2017-04-05 16:41:55 +00:00
Klement Sekera
5d0b86b8ef BFD: add ARP-awareness, fix bugs
Make BFD ARP-aware when sending out packets.
Fix a few one-liner bugs discovered while integrating with cisco
nexus. Enhance CLI view to better observe session state.

Change-Id: I266c29492f351207b84328ab665d9d697969da9c
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-04-05 16:18:53 +00:00
Milan Lenco
f7f4535510 Fix two more memif coverity issues
Change-Id: Iff7e1562d395f1f2e000fa8c2e98bb85969479d7
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
2017-04-05 15:34:10 +00:00
Filip Tehlar
c6cd26d520 LISP: fix crash when GPE interface is re-added, VPP-685
Change-Id: Ib83baf6ddec4ac192f6b4123d9eb599fb370fd0c
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2017-04-05 15:19:47 +00:00
Andrew Yourtchenko
7fd3f513c7 acl-plugin: fix pretty-printing in "api trace custom-dump" (VPP-683)
Change-Id: Id15b401223aabe7dacb7566c871ebefc17fbb1fc
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2017-04-05 10:13:29 +00:00
Filip Tehlar
517f72fe18 LISP: fix crash when adding a negative forwarding entry, VPP-681
Change-Id: I190696da5555c05074ee0eee32eb914bd16e38fb
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2017-04-05 06:17:37 +00:00
Andrew Yourtchenko
9fc0c26c6b acl-plugin: make the IPv4/IPv6 non-first fragment handling in line with ACL (VPP-682)
This fixes the previously-implicit "drop all non-first fragments" behavior
to be more in line with security rules: a non-first fragment is treated
for the purposes of matching the ACL as a packet with the port
match succeeding. This allows to change the behavior to permit
the fragmented packets for the default "permit specific rules"
ruleset, but also gives the flexibility to block the non-initial
fragments by inserting into the begining a bogus rule
which would deny the L4 traffic.

Also, add a knob which allows to potentially turn this behavior off
in case of a dire need (and revert to dropping all non-initial fragments),
via a debug CLI.

Change-Id: I546b372b65ff2157d9c68b1d32f9e644f1dd71b4
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2017-04-04 19:45:05 +00:00
Pierre Pfister
ec06222ae1 Fix typo in minimal epoll polling time
epoll was supposed to not sleep when timeout
is less than 1ms, but a typo made it not sleep
any time the requested timeout is lower than
1000 seconds (in practice, never...).

This patch replaces "1e3" with "1e-3", which
represents 1ms.

Change-Id: I731851b27a6bf6ab8e41586e017e94b962b09bf3
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2017-04-04 15:55:21 +01:00
Milan Lenco
de9a7eacd5 Fix memif coverity issues
Change-Id: I1cd649e1d4582792f75d0db60a9524471fc76a9f
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
2017-04-03 10:25:38 +02:00
Dave Barach
f6fc6b674d vpp-678: Rename "show interfaces" -> "show interface"
To line up with "show interface placement," recently added. Otherwise,
"show int" refers only to "show interface placement," which tends to
annoy the cash customers...

Change-Id: Iea9e3681aeb051e2b0e1ecbf06706d98af9a3abf
Signed-off-by: Dave Barach <dave@barachs.net>
(cherry picked from commit 13ad1f02922858177915b1cb1450041d2e4d85de)
2017-03-30 15:03:55 -04:00
Pablo Camarillo
5d2495d550 VPP-673 Fix L2 steering.
Change-Id: I1eab03525f234139ceefbc9b9895a35a03a56910
Signed-off-by: Pablo Camarillo <pcamaril@cisco.com>
2017-03-30 12:20:24 +00:00
Andrew Yourtchenko
097051a3bd acl-plugin: cleaner node bugfixes (VPP-675)
- use the counters in a private struct rather than node error counters
- ensure the timer for the non-idle connections is restarted
- fix the deletion of conn at the current tail the list

Change-Id: I632f63574d2ced95fb75c5e7fb588c78fb3cce1c
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2017-03-30 09:38:39 +00:00
Filip Tehlar
65d5f03793 LISP: fix IID in decap, VPP-676
Change-Id: I3f67d32d5d76069a27176deef6cba0c1a194b7ec
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2017-03-30 09:26:16 +02:00
Jim Gibson
ee403b722f af_packet driver failure to check VLIB_BUFFER_NEXT_PRESENT flag
af_packet driver must check that VLIB_BUFFER_NEXT_PRESENT flag is set
when walking vlib_buffer_t next_buffer chain on transmit.
On buffer allocation:
- next_buffer is not and may contain a stale invalid value that
  should be ignored if not overwritten by a valid value.
- VLIB_BUFFER_NEXT_PRESENT flag is cleared and only set
  if a valid value is written to next_buffer.

Change-Id: Iebf76ce8eea24a0d63c7bf749e672d6a232c80e7
Signed-off-by: Jim Gibson <gibson+fdio@cisco.com>
2017-03-29 21:50:40 +00:00
Neale Ranns
39cdca35c5 Coverity Error: logically dead code in IP unnumbered CLI
Change-Id: Id3398bd4b7a56c168aaab37942b92715e19d4025
Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-03-29 19:21:40 +00:00
Pablo Camarillo
f60b77c159 Bugfixing and documentation for SRv6
- Fixed three coverity issues
- Linked SRv6 docs
- Moved sample plugin to examples folder
- Fixed bug with hash. Now everything is using mhash. Potentially in the future we want to do bihash.

Change-Id: Ie03a13c8fecb1e315e67d0596cbd23220779aaf2
Signed-off-by: Pablo Camarillo <pcamaril@cisco.com>
2017-03-29 14:01:49 +00:00
shwethab
ff077a0401 SR replicate mheap corruption fix VPP-672
Change-Id: If1c68fc63fa71fab198f2bf4f79bdd7a9841c2e8
Signed-off-by: shwethab <shwetha.bhandari@gmail.com>
Signed-off-by: Pablo Camarillo <pcamaril@cisco.com>
2017-03-29 13:57:13 +00:00
Ole Troan
0679760dc5 Python API: Fixup of debian package after cFFI changes.
Change-Id: I4c2a1a818f28d4c6cf52af45f3b7dbfa41d77ccb
Signed-off-by: Ole Troan <ot@cisco.com>
(cherry picked from commit afaa85f873a7bff1cf1e32c22f909af3018ccfee)
2017-03-28 23:37:43 +00:00
John Lo
58f061dca4 Implement MAC Flush for BD or Interface from the L2FIB
Allow non-static MACs in the L2FIB which is associated with an
interface or a bridge domain (BD) be flushed. MAC flush are
initiated automatically when an interface is removed from a BD
or when a BD is deleted. MAC flush can also be invoked manually
via the following CLI:
 l2fib mac-flush interface <if-name>
 l2fib mac-flush bridge-domain <bd-id>

Change-Id: Ie33243622834810a765f48ebcd22bdb8e8fc87a4
Signed-off-by: John Lo <loj@cisco.com>
2017-03-28 22:36:13 +00:00
Ole Troan
45e526f36f Python-API: debian packaging now depends on python-all (for pybuild)
Change-Id: I6b1dd6bdf03fa506c4b114d15800d9fe03e36395
Signed-off-by: Ole Troan <ot@cisco.com>
(cherry picked from commit 9f81d4fe5cfab856e23926bfdb11c03c04838478)
2017-03-28 19:13:55 +00:00
AkshayaNadahalli
f9bb3b45d1 Fix output feature processing (VPP-670)
Double committing to 17.04 as its a bug-fix.

Change-Id: I94539812191ad0eb8abe78e2dad25ab96c780f30
Signed-off-by: AkshayaNadahalli <anadahal@cisco.com>
2017-03-28 12:19:54 +05:30
Ole Troan
cb92fc6edc Change default branch in .gitreview
Change-Id: I204a6125615accaa96b94657e7f76b243c9305d1
Signed-off-by: Ole Troan <ot@cisco.com>
2017-03-22 21:15:07 +01:00
156 changed files with 4290 additions and 2005 deletions

View File

@ -2,3 +2,4 @@
host=gerrit.fd.io
port=29418
project=vpp
defaultbranch=stable/1704

View File

@ -57,7 +57,7 @@ M: Damjan Marion <damarion@cisco.com>
F: src/vnet/devices/
VNET Device Drivers - DPDK Crypto
M: Sergio Gonzales Monroy <sergio.gonzalez.monroy@intel.com>
M: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
F: src/devices/dpdk/ipsec/
VNET Feature Arcs
@ -81,7 +81,7 @@ M: Pablo Camarillo <pcamaril@cisco.com>
F: src/vnet/sr/
VNET IPSec
M: Sergio Gonzales Monroy <sergio.gonzalez.monroy@intel.com>
M: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
M: Matus Fabian <matfabia@cisco.com>
F: src/vnet/ipsec/

View File

@ -40,7 +40,7 @@ DEB_DEPENDS = curl build-essential autoconf automake bison libssl-dev ccache
DEB_DEPENDS += debhelper dkms git libtool libganglia1-dev libapr1-dev dh-systemd
DEB_DEPENDS += libconfuse-dev git-review exuberant-ctags cscope pkg-config
DEB_DEPENDS += lcov chrpath autoconf nasm
DEB_DEPENDS += python-dev python-virtualenv python-pip libffi6
DEB_DEPENDS += python-all python-dev python-virtualenv python-pip libffi6
ifeq ($(OS_VERSION_ID),14.04)
DEB_DEPENDS += openjdk-8-jdk-headless
else

View File

@ -1,12 +1,105 @@
# Release Notes {#release_notes}
* @subpage release_notes_1704
* @subpage release_notes_17011
* @subpage release_notes_1701
* @subpage release_notes_1609
* @subpage release_notes_1606
@page release_notes_1704 Release notes for VPP 17.04
More than 500 commits since the 1701 release.
## Features
- Infrastructure
- make test improvements
- vnet: add device-input threadplacement infra
- 64 bit per-thread counters
- process restart cli
- High performance timer wheels
- Plugin infrastructure improvements
- Support for .default_disabled, .version_required
- Added MAINTAINERS file
- Host stack
- TCP stack (experimental)
- DHCPv4 / DHCPv6 relay multi-destination
- DHCPv4 option 82
- ND proxy
- Attached hosts
- Consolidated DHCPv4 and DHCPv6 implementation
- Interfaces
- DPDK 17.02 (retire support for DPDK 16.07)
- Add memif - packet memory interface for intra-host communication
- vhost: support interrupt mode
- DPDK as plugin (retired vpp_lite)
- DPDPK input optimizations
- Loopback interface allocation scheme
- Network features
- IP Multicast FIB
- Bridging
- Learning on local interfaces
- Flushing of MACs from the L2 FIB
- SNAT
- CGN (Deterministic and dynamic)
- CGN configurable port allocation algorithm
- ICMP support
- Tentant VRF id for SNAT outside addresses
- Session dump / User dump
- Port allocation per protocol
- Security groups
- Routed interface support
- L2+L3 unified processing node
- Improve fragment handling
- Segement routing v6
- SR policies with weighted SID lists
- Binding SID
- SR steering policies
- SR Local SIDs
- Framework to expand local SIDs w/plugins
- Documentation
- IOAM
- UDP Pinger w/path fault isolation
- IOAM as type 2 metadata in NSH
- IAOM raw IPFIX collector and analyzer
- Anycast active server selection
- Documentation
- SRv6 Local SID
- IP6 HBH header and SR header co-existence
- Active probe
- LISP
- Statistics collection
- Generalize encap for overlay transport (vxlan-gpe support)
- Improve data plane speed
- GPE
- CLI
- NSH added to encap/decap path
- Renamed LISP GPE API to GPE
- MPLS
- Performance improvements (quad loop)
- BFD
- Command line interface
- Echo function
- Remote demand mode
- SHA1 authentication
- IPsec
- IKEv2 initiator features
- VXLAN
- unify IP4/IP6 control plane handling
## API changes
- Python API: To avoid conflicts between VPP API messages names and
@ -23,23 +116,112 @@
For backwards compatibility VPP API methods are left in the main
name space (VPP), but will be removed from 17.07.
- Python API: Change from cPython to CFFI.
- create_loopback message to be replaced with create_loopback_instance
create_loopback will be removed from 17.07.
https://gerrit.fd.io/r/#/c/5572/
@todo Release 17.04 needs release notes.
## Known issues
For the full list of issues please reffer to fd.io [JIRA](https://jira.fd.io).
## Issues fixed
For the full list of fixed issues please reffer to:
- fd.io [JIRA](https://jira.fd.io)
- git [commit log](https://git.fd.io/vpp/log/?h=stable/1704)
@page release_notes_17011 Release notes for VPP 17.01.1
This is bug fix release.
For the full list of fixed issues please reffer to:
- fd.io [JIRA](https://jira.fd.io)
- git [commit log](https://git.fd.io/vpp/log/?h=stable/1701)
@page release_notes_1701 Release notes for VPP 17.01
@note This release was for a while known as 16.12.
@todo Release 17.01 needs release notes. It will show up here soon...
## Features
- [Integrated November 2016 DPDK release](http://www.dpdk.org/doc/guides/rel_notes/release_16_11.html)
- Complete rework of Forwarding Information Base (FIB)
- Performance Improvements
- Improvements in DPDK input and output nodes
- Improvements in L2 path
- Improvmeents in IPv4 lookup node
- Feature Arcs Improvements
- Consolidation of the code
- New feature arcs
- device-input
- interface-output
- DPDK Cryptodev Support
- Software and Hardware Crypto Support
- DPDK HQoS support
- Simple Port Analyzer (SPAN)
- Bidirectional Forwarding Detection
- Basic implementation
- IPFIX Improvements
- L2 GRE over IPSec tunnels
- Link Layer Discovery Protocol (LLDP)
- Vhost-user Improvements
- Performance Improvements
- Multiqueue
- Reconnect
- LISP Enhancements
- Source/Dest control plane support
- L2 over LISP and GRE
- Map-Register/Map-Notify/RLOC-probing support
- L2 API improvements, overall code hardening
- Plugins:
- New: ACL
- New: Flow per Packet
- Improved: SNAT
- Mutlithreading
- Flow export
- Doxygen Enhancements
- Luajit API bindings
- API Refactoring
- file split
- message signatures
- Python and Scapy based unit testing infrastructure
- Infrastructure
- Various tests
- Packet Generator improvements
- TUN/TAP jumbo frames support
- Other various bug fixes and improvements
## Known issues
For the full list of issues please reffer to fd.io [JIRA](https://jira.fd.io).
## Issues fixed
For the full list of fixed issues please reffer to:
- fd.io [JIRA](https://jira.fd.io)
- git [commit log](https://git.fd.io/vpp/log/?h=stable/1701)
@page release_notes_1609 Release notes for VPP 16.09

View File

@ -59,10 +59,6 @@ install-deb: $(patsubst %,%-find-source,$(ROOT_PACKAGES))
./scripts/find-vpp-api-java-contents $(INSTALL_PREFIX)$(ARCH) \
deb/debian/vpp-api-java.install ; \
\
: vpp-api-python package ; \
./scripts/find-vpp-api-python-contents $(INSTALL_PREFIX)$(ARCH) \
deb/debian/vpp-api-python.install ; \
\
: bin package needs startup config ; \
echo ../../src/vpp/conf/startup.conf /etc/vpp \
>> deb/debian/vpp.install ; \

View File

@ -2,7 +2,7 @@ Source: vpp
Section: net
Priority: extra
Maintainer: Cisco OpenVPP Packaging Team <bogus.address@cisco.com>
Build-Depends: debhelper (>= 9), dh-systemd, dh-python, chrpath
Build-Depends: debhelper (>= 9), dh-systemd, dh-python, chrpath, python-all
Standards-Version: 3.9.4
Package: vpp

View File

@ -16,9 +16,15 @@ include /usr/share/dpkg/default.mk
# package maintainers to append LDFLAGS
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
export PYBUILD_NAME = vpp-api-python
export PYBUILD_DIR = ../../src/vpp-api/python
export PYBUILD_DESTDIR_python2=debian/vpp-api-python/
export PYBUILD_DISABLE_python2=test
export PYBUILD_SYSTEM=distutils
# main packaging script based on dh7 syntax
%:
dh $@ --with systemd,python2
dh $@ --with systemd,python2 --buildsystem=pybuild
override_dh_install:
dh_install --exclude .git

View File

@ -1,5 +0,0 @@
#!/bin/sh -e
# after installing python-api files
python2_sitedir=$(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
easy_install --install-dir=$python2_sitedir -z $python2_sitedir/vpp_papi/vpp_papi-*.egg

View File

@ -1,8 +0,0 @@
#!/bin/sh -e
# before removing python-api files
python2_sitedir=$(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
easy_install --install-dir=$python2_sitedir -mxNq vpp_papi
# the egg has been copied during install
rm $python2_sitedir/vpp_papi-*.egg

View File

@ -89,7 +89,7 @@ This package contains the java bindings for the vpp api
%package api-python
Summary: VPP api python bindings
Group: Development/Libraries
Requires: vpp = %{_version}-%{_release}, vpp-lib = %{_version}-%{_release}, python-setuptools libffi-devel
Requires: vpp = %{_version}-%{_release}, vpp-lib = %{_version}-%{_release}, python-setuptools libffi-devel python-cffi
%description api-python
This package contains the python bindings for the vpp api

View File

@ -1,2 +1,2 @@
#!/bin/sh
echo oper-170313
echo rls1704

View File

@ -53,7 +53,8 @@ DOXY_SRC_DIRECTORIES = \
$(DOXY_SRC)/vlibsocket \
$(DOXY_SRC)/vnet \
$(DOXY_SRC)/vpp \
$(DOXY_SRC)/vpp-api
$(DOXY_SRC)/vpp-api \
$(DOXY_SRC)/examples
# Input directories and files
DOXY_INPUT ?= \
@ -72,9 +73,8 @@ DOXY_INPUT := $(subst $(WS_ROOT)/,,$(DOXY_INPUT))
# These must be left-anchored paths for the regexp below to work.
DOXY_EXCLUDE ?= \
$(DOXY_SRC)/vlib/vlib/buffer.c \
$(DOXY_SRC)/vlib/example \
$(DOXY_SRC)/vpp-api/lua \
plugins/sample-plugin
$(DOXY_SRC)/examples/sample-plugin
# Generate a regexp for filenames to exclude
DOXY_EXCLUDE_REGEXP = ($(subst .,\.,$(shell echo '$(strip $(DOXY_EXCLUDE))' | sed -e 's/ /|/g')))

View File

@ -4,13 +4,14 @@ User Documentation {#user_doc}
Several modules provide operational, dataplane-user focused documentation.
- [GUI guided user demo](https://wiki.fd.io/view/VPP_Sandbox/vpp-userdemo)
- @subpage qos_doc
- @subpage ipsec_gre_doc
- @subpage dpdk_crypto_ipsec_doc
- @subpage map_doc
- @subpage lldp_doc
- @subpage ioam_plugin_doc
- @subpage lb_plugin_doc
- @subpage flowperpkt_plugin_doc
- @subpage span_doc
- @subpage bfd_doc
- @subpage ioam_plugin_doc
- @subpage ipsec_gre_doc
- @subpage lb_plugin_doc
- @subpage lldp_doc
- @subpage map_doc
- @subpage dpdk_crypto_ipsec_doc
- @subpage flowperpkt_plugin_doc
- @subpage qos_doc
- @subpage span_doc
- @subpage srv6_doc

11
extras/scripts/lf-release.sh Executable file
View File

@ -0,0 +1,11 @@
#!/bin/bash
VPP_DIR=`dirname $0`
VER=$($VPP_DIR/version)
MAJOR=$(echo $VER | sed -r 's/(.{5}).*/\1/')
MAJOR_NODOT=$(echo $MAJOR | sed -e "s/\.//")
FULL=$(echo $VER | sed -e "s/-release//")
sed -e "s/\${major_release_nodot}/$MAJOR_NODOT/g" \
-e "s/\${major_release}/$MAJOR/g" \
-e "s/\${full_release}/$FULL/g" \
$VPP_DIR/lf-release.txt

View File

@ -0,0 +1,47 @@
To: helpdesk@fd.io
Subject: Publish vpp release artifacts
vpp has completed release ${full_release}.
Please copy:
https://nexus.fd.io/content/repositories/fd.io.stable.${major_release_nodot}.centos7/io/fd/vpp/*/${full_release}-release.x86_64/*.rpm
to
https://nexus.fd.io/content/repositories/fd.io.centos7/io/fd/vpp/*/${major_release}-release.x86_64/*.rpm
Please note: the groupId will be io.fd.vpp, the maven version will be ${major_release}-release.x86_64, the artifactId will be the '*' between io/fd/vpp/ and ${major_release}-release.x86_64
Please copy:
https://nexus.fd.io/content/repositories/fd.io.stable.${major_release_nodot}.ubuntu.trusty.main/io/fd/vpp/*/${full_release}_amd64/*.deb
to
https://nexus.fd.io/content/repositories/fd.io.ubuntu.trusty.main/io/fd/vpp/*/${major_release}_amd64/*.deb
Please note: the groupId will be io.fd.vpp, the maven version will be ${major_release}_amd64, the artifactId will be the '*' between io/fd/vpp/ and ${major_release}_amd64
Please copy:
https://nexus.fd.io/content/repositories/fd.io.stable.${major_release_nodot}.ubuntu.xenial.main/io/fd/vpp/*/${full_release}_amd64/*.deb
to
https://nexus.fd.io/content/repositories/fd.io.ubuntu.xenial.main/io/fd/vpp/*/${major_release}_amd64/*.deb
Please note: the groupId will be io.fd.vpp, the maven version will be ${major_release}_amd64, the artifactId will be the '*' between io/fd/vpp/ and ${major_release}_amd64
Please copy
https://nexus.fd.io/content/repositories/fd.io.snapshot/io/fd/vpp/*/${full_release}-SNAPSHOT/*.jar
where you select the jar file with the highest build number
to
https://nexus.fd.io/content/repositories/fd.io.release/io/fd/vpp/*/${full_release}/*.jar
Please note: the groupId will be io.fd.vpp, the maven version will be ${full_release}, the artifactId will be the '*' between io/fd/vpp/ and ${full_release}
When performing all of these copies, please make sure to *not* copy the .pom files.

View File

@ -1,4 +1,4 @@
AC_INIT([vpp], [17.04], [vpp-dev@fd.io])
AC_INIT([vpp], [17.04.2], [vpp-dev@fd.io])
LT_INIT
AC_CONFIG_AUX_DIR([.])
AM_INIT_AUTOMAKE([subdir-objects])
@ -154,7 +154,6 @@ PLUGIN_ENABLED(lb)
PLUGIN_ENABLED(memif)
PLUGIN_ENABLED(sixrd)
PLUGIN_ENABLED(snat)
PLUGIN_DISABLED(srv6sample)
###############################################################################
# Dependency checks

View File

@ -1,12 +1,4 @@
# SRv6 Sample LocalSID documentation {#srv6_plugin_doc}
## Disclaimer
This is a memo intended to contain documentation for the sample SRv6 LocalSID behavior plugin
Everything that is not directly obvious should come here.
For any feedback on content that should be explained please mailto:pcamaril@cisco.com
This plugin refers to Segment Routing. Please read the SR documentation first.
# Sample SRv6 LocalSID documentation {#srv6_plugin_doc}
## Introduction

View File

@ -69,10 +69,6 @@ if ENABLE_SNAT_PLUGIN
include snat.am
endif
if ENABLE_SRV6SAMPLE_PLUGIN
include sample_srv6_localsid.am
endif
include ../suffix-rules.mk
# Remove *.la files

View File

@ -22,6 +22,7 @@ acl_plugin_la_SOURCES = \
acl/l2sess.c \
acl/l2sess_node.c \
acl/l2sess.h \
acl/manual_fns.h \
acl/acl_plugin.api.h
API_FILES += acl/acl.api
@ -29,8 +30,9 @@ API_FILES += acl/acl.api
nobase_apiinclude_HEADERS += \
acl/acl_all_api_h.h \
acl/acl_msg_enum.h \
acl/manual_fns.h \
acl/acl.api.h
acl_test_plugin_la_SOURCES = acl/acl_test.c acl/acl_plugin.api.h
acl_test_plugin_la_SOURCES = acl/acl_test.c acl/acl_plugin.api.h acl/acl_all_api.h
# vi:syntax=automake

View File

@ -60,7 +60,7 @@ define acl_plugin_get_version_reply
@param tcp_flags_value - if proto==6, mask to AND the TCP flags in the packet with
*/
typeonly manual_print manual_endian define acl_rule
typeonly manual_print define acl_rule
{
u8 is_permit;
u8 is_ipv6;
@ -104,7 +104,7 @@ typeonly manual_print manual_endian define acl_rule
@param src_ip_prefix_len - Source prefix length
*/
typeonly manual_print manual_endian define macip_acl_rule
typeonly manual_print define macip_acl_rule
{
u8 is_permit;
u8 is_ipv6;
@ -161,7 +161,7 @@ define acl_add_replace_reply
@param acl_index - ACL index to delete
*/
define acl_del
manual_print define acl_del
{
u32 client_index;
u32 context;
@ -190,7 +190,7 @@ define acl_del_reply
@param acl_index - index of ACL for the operation
*/
define acl_interface_add_del
manual_print define acl_interface_add_del
{
u32 client_index;
u32 context;
@ -224,7 +224,7 @@ define acl_interface_add_del_reply
@param acls - vector of ACL indices
*/
manual_endian define acl_interface_set_acl_list
manual_print define acl_interface_set_acl_list
{
u32 client_index;
u32 context;
@ -266,7 +266,7 @@ define acl_dump
@param r - Array of rules within this ACL
*/
manual_print manual_endian define acl_details
manual_endian manual_print define acl_details
{
u32 context;
u32 acl_index;
@ -296,7 +296,7 @@ define acl_interface_list_dump
@param acls - the vector of ACL indices
*/
manual_endian define acl_interface_list_details
define acl_interface_list_details
{
u32 context;
u32 sw_if_index;
@ -313,7 +313,7 @@ manual_endian define acl_interface_list_details
@param r - vector of MACIP ACL rules
*/
manual_print manual_endian define macip_acl_add
manual_endian manual_print define macip_acl_add
{
u32 client_index;
u32 context;
@ -341,7 +341,7 @@ define macip_acl_add_reply
@param acl_index - MACIP ACL index to delete
*/
define macip_acl_del
manual_print define macip_acl_del
{
u32 client_index;
u32 context;
@ -367,7 +367,7 @@ define macip_acl_del_reply
@param acl_index - MACIP ACL index
*/
define macip_acl_interface_add_del
manual_print define macip_acl_interface_add_del
{
u32 client_index;
u32 context;
@ -409,7 +409,7 @@ define macip_acl_dump
@param r - rules comprising this ACL
*/
manual_print manual_endian define macip_acl_details
manual_endian manual_print define macip_acl_details
{
u32 context;
u32 acl_index;

View File

@ -1767,8 +1767,6 @@ vl_api_macip_acl_interface_get_t_handler (vl_api_macip_acl_interface_get_t *
vl_msg_api_send_shmem (q, (u8 *) & rmp);
}
/* Set up the API message handling tables */
static clib_error_t *
acl_plugin_api_hookup (vlib_main_t * vm)
@ -1968,6 +1966,10 @@ acl_sw_interface_add_del (vnet_main_t * vnm, u32 sw_if_index, u32 is_add)
if (0 == is_add) {
vlib_process_signal_event (am->vlib_main, am->fa_cleaner_node_index,
ACL_FA_CLEANER_DELETE_BY_SW_IF_INDEX, sw_if_index);
/* also unapply any ACLs in case the users did not do so. */
macip_acl_interface_del_acl(am, sw_if_index);
acl_interface_reset_inout_acls (sw_if_index, 0);
acl_interface_reset_inout_acls (sw_if_index, 1);
}
return 0;
}
@ -2010,6 +2012,11 @@ acl_set_aclplugin_fn (vlib_main_t * vm,
}
goto done;
}
if (unformat (input, "l4-match-nonfirst-fragment %u", &val))
{
am->l4_match_nonfirst_fragment = (val != 0);
goto done;
}
if (unformat (input, "session")) {
if (unformat (input, "clear")) {
acl_main_t *am = &acl_main;
@ -2120,10 +2127,15 @@ acl_show_aclplugin_fn (vlib_main_t * vm,
u64 n_dels = sw_if_index < vec_len(am->fa_session_dels_by_sw_if_index) ? am->fa_session_dels_by_sw_if_index[sw_if_index] : 0;
out0 = format(out0, "sw_if_index %d: add %lu - del %lu = %lu\n", sw_if_index, n_adds, n_dels, n_adds - n_dels);
}));
out0 = format(out0, "\n\nConn cleaner thread counters:\n");
#define _(cnt, desc) out0 = format(out0, " %20lu: %s\n", am->cnt, desc);
foreach_fa_cleaner_counter;
#undef _
vlib_cli_output(vm, "\n\n%s\n\n", out0);
vlib_cli_output(vm, "Sessions per interval: min %lu max %lu increment: %f ms current: %f ms",
am->fa_min_deleted_sessions_per_interval, am->fa_max_deleted_sessions_per_interval,
am->fa_cleaner_wait_time_increment * 1000.0, ((f64)am->fa_current_cleaner_timer_wait_interval) * 1000.0/(f64)vm->clib_time.clocks_per_second);
vec_free(out0);
}
return error;
@ -2190,10 +2202,20 @@ acl_init (vlib_main_t * vm)
am->fa_max_deleted_sessions_per_interval = ACL_FA_DEFAULT_MAX_DELETED_SESSIONS_PER_INTERVAL;
am->fa_cleaner_wait_time_increment = ACL_FA_DEFAULT_CLEANER_WAIT_TIME_INCREMENT;
am->fa_cleaner_cnt_delete_by_sw_index = 0;
am->fa_cleaner_cnt_delete_by_sw_index_ok = 0;
am->fa_cleaner_cnt_unknown_event = 0;
am->fa_cleaner_cnt_deleted_sessions = 0;
am->fa_cleaner_cnt_timer_restarted = 0;
am->fa_cleaner_cnt_wait_with_timeout = 0;
#define _(N, v, s) am->fa_ipv6_known_eh_bitmap = clib_bitmap_set(am->fa_ipv6_known_eh_bitmap, v, 1);
foreach_acl_eh
#undef _
am->l4_match_nonfirst_fragment = 1;
return error;
}

View File

@ -181,6 +181,9 @@ typedef struct {
/* EH values that we can skip over */
uword *fa_ipv6_known_eh_bitmap;
/* whether to match L4 ACEs with ports on the non-initial fragment */
int l4_match_nonfirst_fragment;
/* conn table per-interface conn table parameters */
u32 fa_conn_table_hash_num_buckets;
uword fa_conn_table_hash_memory_size;
@ -209,6 +212,22 @@ typedef struct {
u32 fa_conn_list_head[ACL_N_TIMEOUTS];
u32 fa_conn_list_tail[ACL_N_TIMEOUTS];
/* Counters for the cleaner thread */
#define foreach_fa_cleaner_counter \
_(fa_cleaner_cnt_delete_by_sw_index, "delete_by_sw_index events") \
_(fa_cleaner_cnt_delete_by_sw_index_ok, "delete_by_sw_index handled ok") \
_(fa_cleaner_cnt_unknown_event, "unknown events received") \
_(fa_cleaner_cnt_deleted_sessions, "sessions deleted") \
_(fa_cleaner_cnt_timer_restarted, "session idle timers restarted") \
_(fa_cleaner_cnt_wait_with_timeout, "event wait with timeout called") \
_(fa_cleaner_cnt_wait_without_timeout, "event wait w/o timeout called") \
_(fa_cleaner_cnt_event_cycles, "total event cycles") \
_(fa_cleaner_cnt_already_deleted, "try to delete already deleted conn") \
/* end of counters */
#define _(id, desc) u32 id;
foreach_fa_cleaner_counter
#undef _
/* convenience */
vlib_main_t * vlib_main;
@ -219,6 +238,7 @@ typedef struct {
_(HOPBYHOP , 0 , "IPv6ExtHdrHopByHop") \
_(ROUTING , 43 , "IPv6ExtHdrRouting") \
_(DESTOPT , 60 , "IPv6ExtHdrDestOpt") \
_(FRAGMENT , 44 , "IPv6ExtHdrFragment") \
_(MOBILITY , 135, "Mobility Header") \
_(HIP , 139, "Experimental use Host Identity Protocol") \
_(SHIM6 , 140, "Shim6 Protocol") \
@ -231,7 +251,6 @@ typedef struct {
Also, Fragment header needs special processing.
_(NONEXT , 59 , "NoNextHdr") \
_(FRAGMENT , 44 , "IPv6ExtHdrFragment") \
ESP is hiding its internal format, so no point in trying to go past it.

File diff suppressed because it is too large Load Diff

View File

@ -164,14 +164,14 @@ vl_api_acl_rule_t_pretty_format (u8 *out, vl_api_acl_rule_t * a)
inet_ntop(af, a->src_ip_addr, (void *)src, sizeof(src));
inet_ntop(af, a->dst_ip_addr, (void *)dst, sizeof(dst));
out = format(out, "%s action %d src %s/%d dst %s/%d proto %d sport %d-%d dport %d-%d tcpflags %d %d",
out = format(out, "%s action %d src %s/%d dst %s/%d proto %d sport %d-%d dport %d-%d tcpflags %d mask %d",
a->is_ipv6 ? "ipv6" : "ipv4", a->is_permit,
src, a->src_ip_prefix_len,
dst, a->dst_ip_prefix_len,
a->proto,
a->srcport_or_icmptype_first, a->srcport_or_icmptype_last,
a->dstport_or_icmpcode_first, a->dstport_or_icmpcode_last,
a->tcp_flags_mask, a->tcp_flags_value);
a->tcp_flags_value, a->tcp_flags_mask);
return(out);
}
@ -326,6 +326,7 @@ static int api_acl_add_replace (vat_main_t * vam)
vl_api_acl_rule_t *rules = 0;
int rule_idx = 0;
int n_rules = 0;
int n_rules_override = -1;
u32 proto = 0;
u32 port1 = 0;
u32 port2 = 0;
@ -363,6 +364,10 @@ static int api_acl_add_replace (vat_main_t * vam)
vec_validate_acl_rules(rules, rule_idx);
rules[rule_idx].is_permit = 1;
}
else if (unformat (i, "count %d", &n_rules_override))
{
/* we will use this later */
}
else if (unformat (i, "action %d", &action))
{
vec_validate_acl_rules(rules, rule_idx);
@ -430,6 +435,12 @@ static int api_acl_add_replace (vat_main_t * vam)
rules[rule_idx].tcp_flags_value = tcpflags;
rules[rule_idx].tcp_flags_mask = tcpmask;
}
else if (unformat (i, "tcpflags %d mask %d", &tcpflags, &tcpmask))
{
vec_validate_acl_rules(rules, rule_idx);
rules[rule_idx].tcp_flags_value = tcpflags;
rules[rule_idx].tcp_flags_mask = tcpmask;
}
else if (unformat (i, "proto %d", &proto))
{
vec_validate_acl_rules(rules, rule_idx);
@ -455,6 +466,9 @@ static int api_acl_add_replace (vat_main_t * vam)
else
n_rules = 0;
if (n_rules_override >= 0)
n_rules = n_rules_override;
msg_size += n_rules*sizeof(rules[0]);
mp = vl_msg_api_alloc_as_if_client(msg_size);
@ -812,6 +826,7 @@ static int api_macip_acl_add (vat_main_t * vam)
vl_api_macip_acl_rule_t *rules = 0;
int rule_idx = 0;
int n_rules = 0;
int n_rules_override = -1;
u32 src_prefix_length = 0;
u32 action = 0;
ip4_address_t src_v4address;
@ -843,6 +858,10 @@ static int api_macip_acl_add (vat_main_t * vam)
vec_validate_macip_acl_rules(rules, rule_idx);
rules[rule_idx].is_permit = 0;
}
else if (unformat (i, "count %d", &n_rules_override))
{
/* we will use this later */
}
else if (unformat (i, "action %d", &action))
{
vec_validate_macip_acl_rules(rules, rule_idx);
@ -856,6 +875,10 @@ static int api_macip_acl_add (vat_main_t * vam)
rules[rule_idx].src_ip_prefix_len = src_prefix_length;
rules[rule_idx].is_ipv6 = 0;
}
else if (unformat (i, "src"))
{
/* Everything in MACIP is "source" but allow this verbosity */
}
else if (unformat (i, "ip %U/%d",
unformat_ip6_address, &src_v6address, &src_prefix_length))
{
@ -897,6 +920,9 @@ static int api_macip_acl_add (vat_main_t * vam)
else
n_rules = 0;
if (n_rules_override >= 0)
n_rules = n_rules_override;
msg_size += n_rules*sizeof(rules[0]);
mp = vl_msg_api_alloc_as_if_client(msg_size);

Some files were not shown because too many files have changed in this diff Show More