Age | Commit message (Collapse) | Author | Files | Lines |
|
1) renamed ipsec_api to enable_odp_ipsec, for consistency
2) added crude ASSERTs to make sure the configuration is sane
3) removed passing ipsec_api as argument, as this is a global flag now
4) reorder code - put ipsec initialization before putting
workers in polling mode
5) remove not used recycle vector from esp_encrypt.c/esp_decrypt.c
6) change clib_error_return to clib_error in ipsec.c, as
clib_error_return silently passes when 0 is the first argument
Change-Id: Id2c6da985e872f12c8409918fb9cc6113b486d10
Signed-off-by: Szymon Sliwa <szs@semihalf.com>
|
|
To use inline mode put inline flag in the odp section
of the startup.conf file, like this:
odp {
enable-odp-ipsec
inline
}
Falls back to lookaside mode.
Change-Id: I1292a7254b25a15b25285773a43bae112394827d
Signed-off-by: Szymon Sliwa <szs@semihalf.com>
|
|
To use asynchronous mode put async in the odp section
of the startup.conf file, like this:
odp {
enable-odp-ipsec
async
}
Falls back to synchronous mode.
Change-Id: Iacfdc03158228f4385511e6736fb24a97284320c
Signed-off-by: Szymon Sliwa <szs@semihalf.com>
|
|
Based heavily on the src/vnet/ipsec.
Reuses the pure software VPP IPsec implementation
CLI command. To use enable-odp-crypto needs to be
present in the odp section of startup configuration,
like this:
odp {
enable-odp-crypto
}
Currenlty only IPv4 is supported, and only in transport
mode.
Authentication headers are not supported, this limitation
is inherited from VPP.
Supported crypto algorithms are
aes-cbc-128 for encryption, and
sha-512-256, sha-256-128, sha1-96 for authentication
Change-Id: I08c66f96a73d8cb4ef1095f181ddf47506abc39a
Signed-off-by: Szymon Sliwa <szs@semihalf.com>
|
|
Free lists are required by some VPP nodes e.g. IPv6.
Update copyrigths as lots of code were imported from src/vlib/buffer.c
Change-Id: Ie4c56d3a3104624fe77a04069fe3ba1281d3f0cb
Signed-off-by: Michal Mazur <mkm@semihalf.com>
|
|
Fix support of atomic mode and add two new modes: parallel and ordered.
Three modes of synchronization between threads are supported now:
- parallel - no synchronization between events
- ordered - relative sequence of events is restored in output queues
- atomic - only a single thread may process events from a single queue
Change-Id: I9399aa601f0927042ac0f7f1e5f265f4d47724b8
Signed-off-by: Michal Mazur <mkm@semihalf.com>
|
|
1) Parse multiple output packets in loop.
2) Remove checking for error flags, they are never set because
ODP parser is disabled.
3) Do not call vlib_buffer_advance if not necessary.
4) Remove lock in TX path. Queues are synchronized by ODP.
5) Optimize detection of packet type.
6) Create a wrapper for call to odp_packet_user_area.
Change-Id: Ib50c9be9a62d67824b58ef2cd443b7fc59471655
Signed-off-by: Michal Mazur <mkm@semihalf.com>
|
|
1) Allow to setup size of allocated memory, number of packets in the
pool, number of packets in transmit burst and delay in scheduler
mode from VPP startup file.
More details are in template: src/vpp/conf/startup.conf
2) Separate Rx mode from Tx mode. Traffic Manager is not supported.
3) Devices defined in VPP startup are automatically created at start.
Change-Id: I1f8a3c2900f56cb23ce6997d311cfe55e1c2078c
Signed-off-by: Michal Mazur <mkm@semihalf.com>
|
|
1) Incoming packets can be spread across multiple worker
threads based on IP and TCP/UDP headers.
2) Multiple output queues are used in Burst mode if supported
by hardware (checked in interface capabilities)
3) Synchronization of output traffic can be disabled due to
multiple Tx queues - one for each thread.
Change-Id: Ib5ee18103c860eae3b56ffc453a5953c729bb521
Signed-off-by: Michal Mazur <mkm@semihalf.com>
|
|
This patch allows VPP to run multiple worker threads compatible with ODP.
By default a single thread is assigned to each interface but this
can be changed using "set interface rx-placement" command.
Only Direct input/output mode without RSS is supported.
Change-Id: Ia6af7e5af4950159eb28b7d56bc9c8d34b80f8d4
Signed-off-by: Michal Mazur <mkm@semihalf.com>
|
|
This structure contains data shared among multiple threads and
must be globally accessible.
Change-Id: Ibde8222e9ed3f61561f7902750a1716da5c0bd81
Signed-off-by: Michal Mazur <mkm@semihalf.com>
|
|
Based on patch from Sreejith Surendran Nair.
Change-Id: I32ff73871ce0439378a7e3f0f9a93ac169e770cb
Signed-off-by: Michal Mazur <mkm@semihalf.com>
Signed-off-by: Sreejith Surendran Nair <srsurend@cisco.com>
Signed-off-by: Sachin Saxena <sachin.saxena@nxp.com>
|
|
Change-Id: I5c86cd0a1150ba2e915ce3413c67c504740356b3
Signed-off-by: Michal Mazur <mkm@semihalf.com>
|
|
Change-Id: I364fa14ade5282ec828662894041f9cc784ace7c
Signed-off-by: srsurend <srsurend@cisco.com>
Signed-off-by: sachin saxena <sachin.saxena@nxp.com>
|