vpp.git
2 years agoipsec: Derive the TUNNEL_V6 flag from the configured address types 94/32894/2
Neale Ranns [Thu, 24 Jun 2021 15:41:03 +0000 (15:41 +0000)]
ipsec: Derive the TUNNEL_V6 flag from the configured address types

Type: improvement

There's no need for the user to set the TUNNEL_V6 flag, it can be
derived from the tunnel's address type.

Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: I073073dc970b8a3f2b2645bc697fc00db1adbb47

2 years agosession: free ctrl event data on connect rpc 53/32953/2
Florin Coras [Tue, 29 Jun 2021 20:27:45 +0000 (13:27 -0700)]
session: free ctrl event data on connect rpc

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I56c4682aef59ed0e69073f9001341c425e65bd48

2 years agoipsec: Fix setting the hi-sequence number for decrypt 38/32938/3
Neale Ranns [Mon, 28 Jun 2021 13:31:28 +0000 (13:31 +0000)]
ipsec: Fix setting the hi-sequence number for decrypt

Type: fix

two problems;
 1 - just because anti-reply is not enabled doesn't mean the high sequence
number should not be used.
   - fix, there needs to be some means to detect a wrapped packet, so we
use a window size of 2^30.
 2 - The SA object was used as a scratch pad for the high-sequence
number used during decryption. That means that once the batch has been
processed the high-sequence number used is lost. This means it is not
possible to distinguish this case:
      if (seq < IPSEC_SA_ANTI_REPLAY_WINDOW_LOWER_BOUND (tl))
{
  ...
  if (post_decrypt)
    {
      if (hi_seq_used == sa->seq_hi)
/* the high sequence number used to succesfully decrypt this
 * packet is the same as the last-sequnence number of the SA.
 * that means this packet did not cause a wrap.
 * this packet is thus out of window and should be dropped */
return 1;
      else
/* The packet decrypted with a different high sequence number
 * to the SA, that means it is the wrap packet and should be
 * accepted */
return 0;
    }
  - fix: don't use the SA as a scratch pad, use the 'packet_data' - the
same place that is used as the scratch pad for the low sequence number.

other consequences:
 - An SA doesn't have seq and last_seq, it has only seq; the sequence
numnber of the last packet tx'd or rx'd.
 - there's 64bits of space available on the SA's first cache line. move
the AES CTR mode IV there.
 - test the ESN/AR combinations to catch the bugs this fixes. This
doubles the amount of tests, but without AR on they only run for 2
seconds. In the AR tests, the time taken to wait for packets that won't
arrive is dropped from 1 to 0.2 seconds thus reducing the runtime of
these tests from 10-15 to about 5 sceonds.

Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: Iaac78905289a272dc01930d70decd8109cf5e7a5

2 years agotcp: add ACK flag to RST packet 45/32945/2
liuyacan [Tue, 29 Jun 2021 08:45:11 +0000 (16:45 +0800)]
tcp: add ACK flag to RST packet

According to RFC 793, the ACK control bit is always sent once
the connection is established.

Type: fix

Signed-off-by: liuyacan <liuyacan@corp.netease.com>
Change-Id: Id0fe19114a0cc468dbce4c0938b345c2ac339e73

2 years agovcl: improvements to epoll lt 59/32859/39
Florin Coras [Wed, 23 Jun 2021 03:04:46 +0000 (20:04 -0700)]
vcl: improvements to epoll lt

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: If585b9c48f67599c56a8c4b4a5139375bc4287f6

2 years agoipsec: increment SPD policy counters for bypass and discard actions in ipsec4_input_node 11/32611/3
Zachary Leaf [Mon, 7 Jun 2021 08:01:07 +0000 (03:01 -0500)]
ipsec: increment SPD policy counters for bypass and discard actions in ipsec4_input_node

ipsec_spd_policy_counters are incremented only for matched inbound
PROTECT actions (:273 and :370). BYPASS + DISCARD actions also have
SPD policy counters that should be incremented on match.

This fix increments the counters for inbound BYPASS and DISCARD actions.

Type: fix
Signed-off-by: Zachary Leaf <zachary.leaf@arm.com>
Change-Id: Iac3c6d344be25ba5326e1ed45115ca299dee5f49

2 years agovcl: Don't use app_socket_api to notify VPP in parent when child exited 44/32944/2
wanghanlin [Tue, 29 Jun 2021 08:01:55 +0000 (16:01 +0800)]
vcl: Don't use app_socket_api to notify VPP in parent when child exited

Type: fix

Signed-off-by: wanghanlin <wanghanlin@corp.netease.com>
Change-Id: Icd2fc3cc2d0a0a6060abfb262044cf9e09ab4ba2

2 years agovcl: Don't memset events to optimize CPU usage 00/32900/4
wanghanlin [Fri, 25 Jun 2021 09:40:13 +0000 (17:40 +0800)]
vcl: Don't memset events to optimize CPU usage

In stress test case, memset may consume a lot of CPU because
vls_epoll_wait is called very frequently.

Type: improvement

Signed-off-by: wanghanlin <wanghanlin@corp.netease.com>
Change-Id: I9b4e1d6e1c4d7217cf0b2529d8efed792dea7b40

2 years agovcl: epoll fix postponed evt handling 42/32942/1
Florin Coras [Tue, 29 Jun 2021 02:13:29 +0000 (19:13 -0700)]
vcl: epoll fix postponed evt handling

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I3d208f8ef4638e7557929f4b2bca4d640af85baa

2 years agoipsec: Split the SA add_del API into an separate add and del 93/32893/3
Neale Ranns [Thu, 24 Jun 2021 14:57:56 +0000 (14:57 +0000)]
ipsec: Split the SA add_del API into an separate add and del

Type: improvement

the rationale being that the del only requires the SA's ID, so it's a
bit mean to require the client to fill out all the other information as
well.

Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: Ibbc20405e74d6a0e1a3797465ead5271f15888e4

2 years agoipsec: Enable the extended Sequence Number IPSec tests for GCM 04/32904/2
Neale Ranns [Fri, 25 Jun 2021 13:30:50 +0000 (13:30 +0000)]
ipsec: Enable the extended Sequence Number IPSec tests for GCM

Type: test

Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: Ie691b1c8841f5e195525bfff990f12ab918ba394

2 years agovrrp: prevent segfault in multicast join due to missing LL Addr 06/32906/2
Jon Loeliger [Fri, 25 Jun 2021 15:24:57 +0000 (11:24 -0400)]
vrrp: prevent segfault in multicast join due to missing LL Addr

If an IPv6 Link Layer Address is missing from an interface,
treat it as a down interface.  While this fails to send a
VRRP multicast group join, it also prevents a seg fault.

Type: fix
Fixes: 39e9428b90bc74d1bb15fc17759c8ef6ad712418
Signed-off-by: Jon Loeliger <jdl@netgate.com>
Change-Id: Iebf69bb30604a96de6587655eb872aa818158a56

2 years agostats: reverts part of a fix on Python client 09/32909/2
Arthur de Kerhor [Fri, 25 Jun 2021 16:03:24 +0000 (18:03 +0200)]
stats: reverts part of a fix on Python client

Puts return statements back inside code blocks under the lock

Type: fix

Change-Id: I76d426f336200035026b92bcb0ffe2b472a3142d
Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
2 years agostats: revert "add a retry mechanism in a symlink test" 20/32920/3
Beno�t Ganne [Fri, 25 Jun 2021 15:45:05 +0000 (15:45 +0000)]
stats: revert "add a retry mechanism in a symlink test"

This reverts commit d70777aa60a87001f323f3b226d7e5cee2cd23d8.

Reason for revert: wrong fix

Type: fix

Change-Id: Ibff1b977eae8d2cc85888165ebf83c42eb661698
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2 years agostats: fix race conditions in vpp-api stats client 97/32897/4
Arthur de Kerhor [Thu, 24 Jun 2021 17:39:44 +0000 (19:39 +0200)]
stats: fix race conditions in vpp-api stats client

Type: fix

Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: Ie5c197f6ec0d41d5e405b22662701d83ad94d29e

2 years agosession: fix session formated str output truncated in cli 67/32867/5
Xiaoming Jiang [Wed, 23 Jun 2021 09:07:57 +0000 (09:07 +0000)]
session: fix session formated str output truncated in cli

Type: fix
Signed-off-by: Xiaoming Jiang <jiangxiaoming@outlook.com>
Change-Id: I2c2b739a5aa246bbf53d6663efd403c3aee9dddd

2 years agolinux-cp: stop managing adjacencies for tunnels 90/32890/1
Alexander Chernavin [Thu, 24 Jun 2021 14:46:19 +0000 (10:46 -0400)]
linux-cp: stop managing adjacencies for tunnels

Type: fix

Outbound packets which arrive on tun/L3 interfaces use a default
adjacency for the interface & address family from the corresponding
interface pair. However, there are entries in the linux-cp adj table
that are created for them. Managing these entries might cause a
segfault because the rewrite data might exceed the reserved space for
it of 28 bytes in the linux-cp adj key (e.g. in case of GRE IPv6).

With this change, stop creating adjacencies for tun/L3 interfaces in
the linux-cp adj table and delegating them.

Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Change-Id: I4bcd685860053ab87c65064c182e3ed53fd4fae9

2 years agosvm: fix asan check failed @svm_map_region on arm 85/32885/2
Tianyu Li [Thu, 17 Jun 2021 07:08:32 +0000 (07:08 +0000)]
svm: fix asan check failed @svm_map_region on arm

==283032==AddressSanitizer CHECK failed: compiler-rt/lib/asan/asan_mapping.h:366
          "((AddrIsInMem(p))) != (0)" (0x0, 0x0)
    #0 0x49c128 in __asan::AsanCheckFailed
    #1 0x4ae8dc in __sanitizer::CheckFailed
    #2 0x495dec in __asan::ShadowSegmentEndpoint::ShadowSegmentEndpoint
    #3 0x495e48 in __asan_unpoison_memory_region
    #4 0xfffff4e851f8 in svm_map_region /home/vpp/src/svm/svm.c:611:7
    #5 0xfffff4e86d9c in svm_region_init_internal /home/vpp/src/svm/svm.c:797:8
    #6 0xfffff4e87ce4 in svm_region_init_args /home/vpp/src/svm/svm.c:880:3
    #7 0xfffff7f30d30 in vlibmemory_init /home/vpp/src/vlibmemory/memory_api.c:974:3
    #8 0xfffff4fd5368 in vlib_main /home/vpp/src/vlib/main.c:1986:16

svm_global_region_base_va 0x200000000000 is not in the aarch64 mapping range,
leading check failure and vpp cannot start.

aarch64 asan mapping
|| `[0x201000000000, 0xffffffffffff]` || HighMem    ||
|| `[0x041200000000, 0x200fffffffff]` || HighShadow ||
|| `[0x001200000000, 0x0411ffffffff]` || ShadowGap  ||
|| `[0x001000000000, 0x0011ffffffff]` || LowShadow  ||
|| `[0x000000000000, 0x000fffffffff]` || LowMem     ||

x86 asan mapping
|| `[0x10007fff8000, 0x7fffffffffff]` || HighMem    ||
|| `[0x02008fff7000, 0x10007fff7fff]` || HighShadow ||
|| `[0x00008fff7000, 0x02008fff6fff]` || ShadowGap  ||
|| `[0x00007fff8000, 0x00008fff6fff]` || LowShadow  ||
|| `[0x000000000000, 0x00007fff7fff]` || LowMem     ||

Type: fix

Signed-off-by: Tianyu Li <tianyu.li@arm.com>
Change-Id: I55ddbdcd361d66d4cfaf6459b2fa20fd8b64af37

2 years agovcl: fix vcl_session_write_ready when connecting 89/32889/2
liuyacan [Thu, 24 Jun 2021 12:39:02 +0000 (20:39 +0800)]
vcl: fix vcl_session_write_ready when connecting

Applications like curl will poll the fd after a non-blocking
connect, so we need to avoid returning the wrong event.

Type: fix

Signed-off-by: liuyacan <liuyacan@corp.netease.com>
Change-Id: I7ea146fc954fda631b3d88b46bb80adfbcdf137c

2 years agol2: api cleanup 61/32861/8
Filip Tehlar [Tue, 22 Jun 2021 21:20:29 +0000 (21:20 +0000)]
l2: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I7b84767e75d5f8310ec071036a5780fa4530f79f

2 years agolinux-cp: add callbacks for pair management 77/32877/4
Matthew Smith [Tue, 22 Jun 2021 14:36:50 +0000 (09:36 -0500)]
linux-cp: add callbacks for pair management

Type: improvement

Allow callbacks to be registered which will be called when an
interface pair is added or deleted.

Change-Id: I1c413ac2ada802021f9e56e2f878ce67e5eda2f5
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2 years agovirtio: api cleanup 64/32864/5
Filip Tehlar [Wed, 23 Jun 2021 00:23:05 +0000 (00:23 +0000)]
virtio: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I4f9316b16f16a48e2042aa17db596bfd181bd314

2 years agomss_clamp: iterate enabled direction as a vector, not pool 73/32773/2
Jon Loeliger [Thu, 17 Jun 2021 21:30:49 +0000 (17:30 -0400)]
mss_clamp: iterate enabled direction as a vector, not pool

Type: fix
Fixes: bf55e9931ce203049385fbf55dde291ead556679
Signed-off-by: Jon Loeliger <jdl@netgate.com>
Change-Id: I5410a7a5a8cdc1d41abcc42fe5b42e6e2991dc06

2 years agonat: ICMP handling fixes 70/32870/5
Klement Sekera [Tue, 22 Jun 2021 13:56:36 +0000 (15:56 +0200)]
nat: ICMP handling fixes

If ICMP comes from a router on path, source address must not be
rewritten in o2i path to avoid getting wrong checksum.

Fix ICMP checksum computations.

Type: fix
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: I035debccf966d7dbd63c364cb1e43380d641f708

2 years agompls: api cleanup 63/32863/2
Filip Tehlar [Tue, 22 Jun 2021 22:01:19 +0000 (22:01 +0000)]
mpls: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I148022278a792b3687402b6915fe6fb513858a2a

2 years agospan: api cleanup 65/32865/3
Filip Tehlar [Tue, 22 Jun 2021 22:22:58 +0000 (22:22 +0000)]
span: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I7ec4bbb21a079c6f6adfb4f954054b2b07bf19c5

2 years agosyslog: api cleanup 66/32866/1
Filip Tehlar [Tue, 22 Jun 2021 22:33:02 +0000 (22:33 +0000)]
syslog: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I0971f12b7b82d5134d06ed0539d41624429c992b

2 years agotcp: api cleanup 60/32860/1
Filip Tehlar [Tue, 22 Jun 2021 20:39:03 +0000 (20:39 +0000)]
tcp: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I3c06e9cb3fabdcdce9c17e93cfedfd771295f589

2 years agosession: avoid reordering unlisten and connect msg 56/32856/5
Florin Coras [Tue, 22 Jun 2021 21:20:39 +0000 (14:20 -0700)]
session: avoid reordering unlisten and connect msg

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ibe32f7965f8cf457c39845713b029c8a4647ee55

2 years agovirtio: api cleanup 46/32846/4
Filip Tehlar [Tue, 22 Jun 2021 12:18:17 +0000 (12:18 +0000)]
virtio: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I047310b8c9fcc51dcfb187710ff59b7895abe217

2 years agomisc: punt: api cleanup 53/32853/4
Filip Tehlar [Tue, 22 Jun 2021 14:10:41 +0000 (14:10 +0000)]
misc: punt: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I13dae61ddb7150c7fe9a7fd0eae73055ff3f2816

2 years agodpdk: enable igc devices 20/32720/3
Matthew Smith [Wed, 9 Jun 2021 12:52:11 +0000 (07:52 -0500)]
dpdk: enable igc devices

Type: improvement

Set port type and supported flow actions on 2.5G Intel NICs which are
managed by the igc PMD.

Change-Id: Id144eaa158e24a3f10effb6b517d1c62fba0d2e8
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2 years agodevices: af_packet api cleanup 42/32842/3
Filip Tehlar [Tue, 22 Jun 2021 11:47:09 +0000 (11:47 +0000)]
devices: af_packet api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: Ic7979755494a2fd23b9fa3d74e14f6b9ea0a46d0

2 years agoqos: api cleanup 52/32852/2
Filip Tehlar [Tue, 22 Jun 2021 13:55:13 +0000 (13:55 +0000)]
qos: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I39505763371c98b75ff7b697dacd3eeb0d41d40a

2 years agoapi: asan: use vec_set_len() so ASan can keep track of buffer len 35/32835/3
Benoît Ganne [Tue, 22 Jun 2021 09:58:27 +0000 (11:58 +0200)]
api: asan: use vec_set_len() so ASan can keep track of buffer len

ASan poison/unpoison vectors based on the vector length, but _vec_len()
bypass ASan annotations, contrary to vec_set_len().

Type: fix

Change-Id: I5265a5adcddef1aa11c77e0c3827346b1a66c306
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2 years agovcl: validate vep handle when copying sessions on fork 34/32834/2
wanghanlin [Tue, 22 Jun 2021 09:34:08 +0000 (17:34 +0800)]
vcl: validate vep handle when copying sessions on fork

When copying sessions from parent on fork, we should validate vep handle
in order to EPOLL_CTL_DEL in vcl_session_cleanup correctly when child
exit.

Type: fix

Signed-off-by: wanghanlin <wanghanlin@corp.netease.com>
Change-Id: I7696ecd898460c9a296d2800e46c7140e2218ed7

2 years agovcl: move child wrk cleanup from sighandler to vls_epoll_wait 85/32285/10
wanghanlin [Wed, 12 May 2021 09:00:29 +0000 (17:00 +0800)]
vcl: move child wrk cleanup from sighandler to vls_epoll_wait

Main process may enter sighandler with a lock, such as lock in localtime
or in mspace_free, and child wrk cleanup may try to get such locks and
cause deadlock.
The patch move cleanup to vls_epoll_wait to wait app's next call.

Type: fix

Signed-off-by: wanghanlin <wanghanlin@corp.netease.com>
Change-Id: I9b208038a0f49b0ace44684189234aeac9d94730

2 years agodevices: tapv2 api cleanup 45/32845/2
Filip Tehlar [Tue, 22 Jun 2021 12:03:55 +0000 (12:03 +0000)]
devices: tapv2 api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I0a2c1cbbe798ddf9d08da78bf0b458a0f54fa13a

2 years agosr: api cleanup 47/32847/2
Filip Tehlar [Tue, 22 Jun 2021 13:00:40 +0000 (13:00 +0000)]
sr: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I0bdf870e2e9b0ebc11a3ce252fbd0667a83de4e6

2 years agodevices: api cleanup 40/32840/3
Filip Tehlar [Tue, 22 Jun 2021 11:28:25 +0000 (11:28 +0000)]
devices: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I03f51393a92bae45608d9fc9f53164f3b0add3cd

2 years agobonding: api cleanup 32/32832/2
Filip Tehlar [Tue, 22 Jun 2021 09:24:06 +0000 (09:24 +0000)]
bonding: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I1de45c4db57444d2d2c9fb91b8a66a4f01be699b

2 years agonat: don't drop packet with ttl=1 if output feature 15/32815/3
Klement Sekera [Mon, 21 Jun 2021 14:04:40 +0000 (16:04 +0200)]
nat: don't drop packet with ttl=1 if output feature

TTL was already decremented in ip4-rewrite so it's okay if it's 1.

Type: fix
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: I587dc343737c15247eb62837a06d5e44c0d11acc

2 years agoipsec: api cleanup 28/32828/3
Filip Tehlar [Tue, 22 Jun 2021 08:21:31 +0000 (08:21 +0000)]
ipsec: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I0db7343e907524af5adb2f4771b45712927d5833

2 years agoethernet: api cleanup 14/32814/4
Filip Tehlar [Mon, 21 Jun 2021 13:45:44 +0000 (13:45 +0000)]
ethernet: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: Iacaefbf04834f000a14f151c4b848f280ac46d63

2 years agopolicer: api cleanup 29/32829/2
Filip Tehlar [Tue, 22 Jun 2021 08:37:26 +0000 (08:37 +0000)]
policer: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I5dd30870443a22a7da65f6b5a6d3967991e2aceb

2 years agobfd: api cleanup 12/32812/4
Filip Tehlar [Mon, 21 Jun 2021 13:21:59 +0000 (13:21 +0000)]
bfd: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I7a0a189ce635a4a74e63ac4cb133686b8b7ba53a

2 years agostats: add a retry mechanism in a symlink test 13/32813/4
Arthur de Kerhor [Mon, 21 Jun 2021 13:35:01 +0000 (15:35 +0200)]
stats: add a retry mechanism in a symlink test

When creating a new node, a corresponding node symlink is created when
the nodes counters update. To be sure we are able to access this
symlink, a retry mechanism was added.

Type: fix

Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
Change-Id: Ieb08d8554b4fd13d01e79062b5f820b235be9a13

2 years agobuild: vpp-ext-deps rpm version check may fail if system language is not English 59/30559/3
jiangxiaoming [Wed, 30 Dec 2020 07:25:15 +0000 (15:25 +0800)]
build: vpp-ext-deps rpm version check may fail if system language is not English

Type: fix

Signed-off-by: Xiaoming Jiang <jiangxiaoming@outlook.com>
Change-Id: Ib691d8f66b0d6047d23a0bdc4f3d15e6380f31eb

2 years agovlib: fix coverity warning 16/32816/2
Dave Barach [Mon, 21 Jun 2021 14:31:35 +0000 (10:31 -0400)]
vlib: fix coverity warning

Type: fix

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Ib563e2c09d46cc26fb983ffde3d5fcb88166f6a5

2 years agovppinfra: asan: fix overflow support 64/32764/2
Benoît Ganne [Wed, 9 Jun 2021 15:20:16 +0000 (17:20 +0200)]
vppinfra: asan: fix overflow support

In some part of VPP we are accessing memory past what was allocated for
efficiency when we know it is safe to do so. We need to tell ASan about
it so it does not complain.
The initial attempt was too simple and could not manage cases where the
poisoned memory was scattered. This new attempt is more robust as we
save and restore the full shadow state.
Note it will still not work properly if we poison/unpoison memory while
in an overflow context, but this should not be a big issue as overflow
should only be temporary.

Type: fix

Change-Id: I636f44eb59aa8455a4d13929a3791b56619af7b4
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2 years agoudp: api cleanup 11/32811/3
Filip Tehlar [Mon, 21 Jun 2021 13:01:24 +0000 (13:01 +0000)]
udp: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I0994241df94ad7536be323b9d7c48caf38cc4267

2 years agofeature: api cleanup 10/32810/2
Filip Tehlar [Mon, 21 Jun 2021 12:43:35 +0000 (12:43 +0000)]
feature: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I76be91715953c7cbe704961d1a56c48334656e19

2 years agopg: api cleanup 08/32808/2
Filip Tehlar [Mon, 21 Jun 2021 12:11:28 +0000 (12:11 +0000)]
pg: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: Idf0c24c9c8f8f3c267285c6a231c9c1a364a902a

2 years agomisc: ipfix api cleanup 07/32807/2
Filip Tehlar [Mon, 21 Jun 2021 10:57:49 +0000 (10:57 +0000)]
misc: ipfix api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Change-Id: I864979ce490651bf1f5fed107620e9bc4ca4bf93
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2 years agoflow: api cleanup 03/32803/2
Filip Tehlar [Mon, 21 Jun 2021 09:49:31 +0000 (09:49 +0000)]
flow: api cleanup

Use autogenerated code

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I02f53486723f7ac7e9026ff092b63e86dff13232

2 years agogso: api cleanup 04/32804/2
Filip Tehlar [Mon, 21 Jun 2021 10:08:43 +0000 (10:08 +0000)]
gso: api cleanup

Use autogenerated code

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: Id373c7828d77cca0121baf9c7635cfe2c5f938d7

2 years agovxlan: api cleanup 23/32723/8
Filip Tehlar [Fri, 4 Jun 2021 13:37:00 +0000 (13:37 +0000)]
vxlan: api cleanup

use autogenerated code

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I163eefa86f3248260481181818d70fa1b6eaa220

2 years agoclassify: api cleanup 24/32724/5
Filip Tehlar [Fri, 4 Jun 2021 13:50:34 +0000 (13:50 +0000)]
classify: api cleanup

Use autogenerated code.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: Id7d4d23e4fe707f7049828fec44df7ff0419d23c

2 years agobier: api cleanup 22/32722/9
Filip Tehlar [Thu, 17 Jun 2021 01:28:22 +0000 (01:28 +0000)]
bier: api cleanup

use autogenerated code

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I86459d918ac46bed523e847db9f9c7179147d022

2 years agofib: Add unit test for RR source using covers labels 57/32757/3
Neale Ranns [Thu, 17 Jun 2021 08:43:55 +0000 (08:43 +0000)]
fib: Add unit test for RR source using covers labels

Type: test

UT for patch: 4fc68ee

Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: I96fac9a6407a7f3ebeecc5e68a7683e541063de7

2 years agosession: improve ct locking with multiple workers 74/32774/11
Florin Coras [Thu, 17 Jun 2021 22:53:38 +0000 (15:53 -0700)]
session: improve ct locking with multiple workers

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Id91c3be57d49745cb3db6c768a8d5d14133f899e

2 years agosession: udp accept session state should be updated by app 75/32775/1
jxm [Fri, 18 Jun 2021 03:42:31 +0000 (03:42 +0000)]
session: udp accept session state should be updated by app

Type: fix
Signed-off-by: jxm <jiangxiaoming@outlook.com>
Change-Id: I6fb2620e7076e1e38a2ab85a70febe614b079e67

2 years agosession: optimize ct fifo segment allocations 51/32651/29
Florin Coras [Wed, 9 Jun 2021 21:55:24 +0000 (14:55 -0700)]
session: optimize ct fifo segment allocations

Allocate per app pair segments with space for more than one fifo.

Type: feature

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ib96fe12b899cb14ff20c0be607814011e2c3fc6a

2 years agotls: increase engine bits room in handle to support custom engine type 53/32753/3
jxm [Thu, 17 Jun 2021 04:44:40 +0000 (04:44 +0000)]
tls: increase engine bits room in handle to support custom engine type

Type: improvement
Signed-off-by: jxm <jiangxiaoming@outlook.com>
Change-Id: I80a51e841f9727b68d1de713b6b6d51675ef53c5

2 years agofib: changing parsing order to avoid corner case 55/32755/2
Arthur de Kerhor [Thu, 17 Jun 2021 07:34:12 +0000 (09:34 +0200)]
fib: changing parsing order to avoid corner case

mfib interface flags are parsed before the interface name. For some
specific names, this creates a bug when adding routes.

ex: ip route add 10.0.2.0/24 via FortyGigabitEthernetd8/0/0
The 'F' at the beginnig of the interface name is parsed as the
"Forward" flag. Because of that, the interface name parsed is
"ortyGigabitEthernetd8/0/0" which results in a parsing error.

Type: fix

Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
Change-Id: Ib76c2f86416455841f910f7b466b467001072b70

2 years agotests: Tests for cross AF routing 64/32464/3
Neale Ranns [Thu, 27 May 2021 12:18:52 +0000 (12:18 +0000)]
tests: Tests for cross AF routing

Type: test

Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: Iebee39d0974c6f458863ce6144c6a83bc3cf4cb7

2 years agompls: CLI to show the MPLS forwarding state of an interface 34/32734/3
Neale Ranns [Tue, 15 Jun 2021 12:43:12 +0000 (12:43 +0000)]
mpls: CLI to show the MPLS forwarding state of an interface

Type: improvement

Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: I28b98154bbff36e8391a09a2b30302dda4349946

2 years agovcl: fix fifo sharing 52/32752/3
Florin Coras [Wed, 16 Jun 2021 21:46:57 +0000 (14:46 -0700)]
vcl: fix fifo sharing

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Iec1fe8315a057214901250d5fb06d1c1e33dda46

2 years agovcl: fix worker cleanup 51/32751/2
Florin Coras [Wed, 16 Jun 2021 21:41:01 +0000 (14:41 -0700)]
vcl: fix worker cleanup

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I575068df56623f24c0290fa42b8d301548a089d4

2 years agovcl: basic support for epoll level-triggered evts 99/32599/15
Florin Coras [Fri, 4 Jun 2021 17:07:55 +0000 (10:07 -0700)]
vcl: basic support for epoll level-triggered evts

Type: feature

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I2d5039cd35edd02ffa2439bcac119d0647234385

2 years agofib: copy the path extentions when creating fib src rr entry 76/31276/2
Stanislav Zaikin [Sat, 13 Feb 2021 13:32:15 +0000 (16:32 +0300)]
fib: copy the path extentions when creating fib src rr entry

Type: fix
Signed-off-by: Stanislav Zaikin <zstaseg@gmail.com>
Change-Id: Ib4957bfc03b0dfc90fd28689d5b32cc3d82e7b74

2 years agonat: test all intf addrs in is_interface_addr() 53/32453/4
Alexander Chernavin [Wed, 26 May 2021 13:55:42 +0000 (09:55 -0400)]
nat: test all intf addrs in is_interface_addr()

Type: fix

Currently, is_interface_addr() tests if a given IPv4 address belongs to
an interface by a given sw_if_index. However, there are several issues:
 * only the first found address on the interface is actually tested,
 * sw_if_index is always cached even if the interface hasn't been
   assigned any addresses yet.

With this change, is_interface_addr() tests all IPv4 addresses on an
interface by a given sw_if_index and caches sw_if_index only if there
are addresses present.

Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Change-Id: If1acc4a534647a5f0ce8e9b565b867c92a016dc3

2 years agonat: fix crash when translate unknown proto packets 67/32467/2
Alexander Chernavin [Thu, 27 May 2021 14:05:17 +0000 (10:05 -0400)]
nat: fix crash when translate unknown proto packets

Type: fix

Currently, there might be a crash in NAT ED mode:
 * if a session for an unknown proto packet cannot be created in2out,
 * if a session for an unknown proto packet cannot be found out2in.

With this change, translate packets only if a session is given in NAT
ED mode.

Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Change-Id: Iafb332db1ae9a3e76435964ad636037d1b8a51e8

2 years agostats: fix counters name overflow 43/32643/2
Benoît Ganne [Tue, 8 Jun 2021 14:27:38 +0000 (16:27 +0200)]
stats: fix counters name overflow

sm_directory_vector_by_name is a C-string hashtable, make sure the names
are NULL-terminated.

Type: fix

Change-Id: If44456ef9da69ed012f2b981b58ce732663af67d
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2 years agoapi: remove custom dump 28/32728/3
Filip Tehlar [Tue, 15 Jun 2021 10:29:54 +0000 (10:29 +0000)]
api: remove custom dump

Type: improvement
Change-Id: I4b9b2be8817be10e46accc19219deb2b544f266b
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2 years agoipsec: fix length check when adding footer+icv 25/32725/2
Benoît Ganne [Mon, 14 Jun 2021 15:23:56 +0000 (17:23 +0200)]
ipsec: fix length check when adding footer+icv

Length check must also take current_data into account.

Type: fix

Change-Id: I7a1b1752868892d40f59490d05452ef24565cca6
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2 years agotcp: prevent timer handler being called frequently 18/32718/3
liuyacan [Mon, 14 Jun 2021 10:09:01 +0000 (18:09 +0800)]
tcp: prevent timer handler being called frequently

In the current implement, tcp would start or up an one tick
retransmit timer for that connection if vlib_buffer_alloc()
return 0. Now the tick is 0.1ms, this means that if VPP is
in a buffer shortage state, there would be a large number of
burst timer expirations.

This commit limits the minimum interval of the retransmission
timer to 100ms.

Type: fix

Signed-off-by: liuyacan <liuyacan@corp.netease.com>
Change-Id: Ia11d693fe46119c5dc16b24ca93c30c31109057a

2 years agonsh: api cleanup 21/32721/2
Filip Tehlar [Fri, 4 Jun 2021 11:55:48 +0000 (11:55 +0000)]
nsh: api cleanup

use autogenerated code

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I91a55412f96b138c3c00cbb8943d271c8a6452c9

2 years agovcl: improve shutdown() 92/32692/3
liuyacan [Sun, 13 Jun 2021 06:54:55 +0000 (14:54 +0800)]
vcl: improve shutdown()

This commit does following:

- Change the behavior of shutdown() with SHUT_RDWR flag.
- Check SHUT_RD flag when read()
- Change the errno when write() after SHUT_WR
- Remove unused code

All the above modification passed the packetdrill test.

Type: improvement

Signed-off-by: liuyacan <liuyacan@corp.netease.com>
Change-Id: I0c81f52e563562e58580d70976526b898e65e915

2 years agolinux-cp: Add tests for tun devices 13/32613/3
Neale Ranns [Mon, 7 Jun 2021 09:34:07 +0000 (09:34 +0000)]
linux-cp: Add tests for tun devices

Type: test

Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: Iec69d8624b15766ed65e7d09777819d2242dee17

2 years agopg: A Tunnel mode variant of a pg interface 64/32564/5
Neale Ranns [Thu, 3 Jun 2021 14:43:21 +0000 (14:43 +0000)]
pg: A Tunnel mode variant of a pg interface

Type: feature

this allows VPP to simulate linux tun devices.

Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: I3adf38b49a254804370f78edd5d275d192fd00a6

2 years agovlib: fix dangling reference in node_by_name hash 88/32688/2
Dave Barach [Fri, 11 Jun 2021 16:57:23 +0000 (12:57 -0400)]
vlib: fix dangling reference in node_by_name hash

When recycling a debug CLI process node, unix_cli_file_add() needs to
delete and recreate the related node_by_name hash table entry.

Type: fix

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I635da4918509d5b22eae37627c2d9b3608380ca6

2 years agosession: fix listener ct transport retrieval on accept 91/32691/4
Florin Coras [Sat, 12 Jun 2021 18:56:19 +0000 (11:56 -0700)]
session: fix listener ct transport retrieval on accept

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ied2608e7a28c59c908803ca676abbe93072fadb8

2 years agotcp: fix proto in port reuse check 90/32690/2
Florin Coras [Sat, 12 Jun 2021 18:47:37 +0000 (11:47 -0700)]
tcp: fix proto in port reuse check

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I338e61654a62ed6308ecd8bb15e1a8b13cd859b9

2 years agosession: half-open free only on main thread 80/32680/4
Florin Coras [Fri, 11 Jun 2021 05:50:26 +0000 (22:50 -0700)]
session: half-open free only on main thread

TCP and (D)TLS clean up half-opens on main without a lock/barrier so
cleanup initiated from first worker, e.g., cut-throughs, can corrupt the
session pool.

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I2e5162831c0e201b22454f17fe55bfac44b85fa9

2 years agogso: fix the gro re-ordering for packets with PSH 68/32568/6
Mohsin Kazmi [Fri, 28 May 2021 15:11:23 +0000 (17:11 +0200)]
gso: fix the gro re-ordering for packets with PSH

Type: fix

This prevents reordering when a push flag is received.
GRO appends the segment with the push flag to the existing
flow and flushes it immediately.

Change-Id: I61b36209b3381f340594a9cb3ed816d43b02bdff
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2 years agodocs: cleanup, remove stale material 45/32645/2
Dave Barach [Wed, 9 Jun 2021 11:49:34 +0000 (07:49 -0400)]
docs: cleanup, remove stale material

Point https://fd.io/docs/vpp/master/links/index.html at docs.fd.io/vpp
instead of at one specific stale release

Remove https://fd.io/docs/vpp/master/featuresbyrelease/index.html

Remove https://fd.io/docs/vpp/master/events/index.html

Remove dead projects from
https://fd.io/docs/vpp/master/relatedprojects/index.html

Remove unsupported distros from
https://fd.io/docs/vpp/master/whatisvpp/supported.html

Reduce (doxygen) list of test framework doc files to actively
supported releases

Type: docs

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I179966fbbe09ac123e5f2647787a8dea93190b5c

2 years agomemif: fix crash with zero-copy slave 79/32679/2
Damjan Marion [Thu, 10 Jun 2021 15:41:57 +0000 (17:41 +0200)]
memif: fix crash with zero-copy slave

Type: fix
Change-Id: I456cc0b0a6f2dc32b14791baf9d4a7f67279e8df
Signed-off-by: Damjan Marion <damarion@cisco.com>
2 years agovcl: touch fifo on epoll del only if session open 78/32678/3
Florin Coras [Thu, 10 Jun 2021 15:08:53 +0000 (08:08 -0700)]
vcl: touch fifo on epoll del only if session open

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I0971c18a183319d09486459b0da08d44ce38acef

2 years agomemif: fix the spinlock and unlock issue. 08/32608/4
fangtong [Sat, 5 Jun 2021 13:45:36 +0000 (21:45 +0800)]
memif: fix the spinlock and unlock issue.

when the configuration of tx queues is larger than the worker-threads,
the clib_spinlock_lock_if_init will not be executed, and then this function
will executed the clib_spinlock_unlock_if_init, so this may caused the issue.

Type: fix

Signed-off-by: fangtong <fangtong2007@163.com>
Change-Id: I3ce244cd5e1f410e9f14bd060b929238f069b9fa

2 years agol2: fix vrrp prefix mac comparison 38/32638/3
Tianyu Li [Wed, 26 May 2021 06:20:57 +0000 (14:20 +0800)]
l2: fix vrrp prefix mac comparison

VRRP prefix length is 5 bytes, doesn't make sense
to compare with 6 bytes mac address

Type: fix

Signed-off-by: Tianyu Li <tianyu.li@arm.com>
Change-Id: I70a9c9ca769f34a81cd568f9e6b9a3538e6ec710

2 years agocnat: fix spinlock 71/32571/2
Nathan Skrzypczak [Fri, 4 Jun 2021 09:17:40 +0000 (11:17 +0200)]
cnat: fix spinlock

Type: fix

Change-Id: Id6406702061ada54e51ebcf5c367328605de2b6b
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2 years agofib: make sure dpo is valid even when path pool expands 44/32644/1
Benoît Ganne [Tue, 8 Jun 2021 16:44:37 +0000 (18:44 +0200)]
fib: make sure dpo is valid even when path pool expands

The path pool can expand during in fib_path_attached_next_hop_get_adj()
when calling adj_nbr_add_or_lock(). If dpo points to a path->fp_dpo, its
reference becomes stale.
Use a temporary copy instead.

Type: fix

Change-Id: Ie966cb5f3f7b416425964dca12f1f586bfc2010c
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2 years agofib: make sure adj is valid during walk 42/32642/2
Benoît Ganne [Tue, 8 Jun 2021 14:25:14 +0000 (16:25 +0200)]
fib: make sure adj is valid during walk

The adj can be deleted during fib_walk_sync(), make sure it can happen
only after clearing the SYNC_WALK_ACTIVE flag.

Type: fix

Change-Id: I68be00e9602e2783d9dced71c51547c38b7e8a00
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2 years agoipsec: fix async crypto frame leak 96/32596/3
Matthew Smith [Fri, 4 Jun 2021 14:18:37 +0000 (09:18 -0500)]
ipsec: fix async crypto frame leak

Type: fix

If an async crypto frame is allocated during ESP encrypt/decrypt but
a buffer/op is not subsequently added to the frame, the frame leaks. It
is not submitted if the count of async ops is zero nor is it
returned to the frame pool. This happens frequently if >= 2 worker
threads are configured and a vector of buffers all have to be handed
off to other threads.

Wait until it is almost certain that the buffer will be added to the
frame before allocating the frame to make it more unlikely that an
allocated frame will not have any operations added to it.

For encrypt this is sufficient to ressolve the leak. For decrypt there
is still a chance that the buffer will fail to be added to the frame, so
remove the counter of async ops and ensure that all frames that were
allocated get either submitted or freed at the end.

Change-Id: I4778c3265359b192d8a88ab9f8c53519d46285a2
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2 years agovppinfra: pool_free_elts() now supports fixed-size pools 50/32550/3
Dave Barach [Wed, 2 Jun 2021 22:18:18 +0000 (18:18 -0400)]
vppinfra: pool_free_elts() now supports fixed-size pools

Test added to the unittest plugin / test_vlib.py

Type: improvement
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I73445e57918347c102ff6f5e8c9ddb9bd96f1407

2 years agovcl: accept zero length writes 06/32606/4
Florin Coras [Sat, 5 Jun 2021 00:31:53 +0000 (17:31 -0700)]
vcl: accept zero length writes

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I84985f59274e77219a38ea6ac865fc73ac635d72

2 years agovcl: avoid multiple reads on peek 05/32605/5
Florin Coras [Fri, 4 Jun 2021 23:28:18 +0000 (16:28 -0700)]
vcl: avoid multiple reads on peek

Only try once and return what was found.

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I50b1d26babf1b7431d36f6b7472a1fb01475bb35

2 years agotls: change picotls plugin crypto module to accommodate new version picotls 09/32609/3
Simon Zhang [Mon, 7 Jun 2021 15:19:33 +0000 (23:19 +0800)]
tls: change picotls plugin crypto module to accommodate new version picotls

Type: fix

Change-Id: I58931e235535be7d596ca578790f389b64a4fbd2
Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
2 years agopg: Reduce the inclusion of pg.h 57/32557/2
Neale Ranns [Thu, 3 Jun 2021 14:59:47 +0000 (14:59 +0000)]
pg: Reduce the inclusion of pg.h

Type: style

reduce the number of files recompiled after changing pg.h from 1110 to
102.

Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: I50611eba818eeb3a2dffd437a3c72c77766bed80