From 09f6ceb4a70a64b999af5c8e0960ae0a81168172 Mon Sep 17 00:00:00 2001 From: Michal Mazur Date: Wed, 21 Feb 2018 20:25:30 +0100 Subject: odp: Update readme file and include odp patches Restore odp-linux section in readme file as it can now be build with minor modification. Required patches are included in odp directory. Slightly improve other sections. Change-Id: I2e7f8bc7802627bc15b07b81ddf2e9b4f72f5d41 Signed-off-by: Michal Mazur Signed-off-by: Szymon Sliwa --- .../0003-HACK-enable-inline-in-dpdk-pktio.patch | 59 ++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 odp/odp-linux/0003-HACK-enable-inline-in-dpdk-pktio.patch (limited to 'odp/odp-linux/0003-HACK-enable-inline-in-dpdk-pktio.patch') diff --git a/odp/odp-linux/0003-HACK-enable-inline-in-dpdk-pktio.patch b/odp/odp-linux/0003-HACK-enable-inline-in-dpdk-pktio.patch new file mode 100644 index 00000000..036b5f99 --- /dev/null +++ b/odp/odp-linux/0003-HACK-enable-inline-in-dpdk-pktio.patch @@ -0,0 +1,59 @@ +From 566de3dd20df4a4d7d68091e934f59a8849e678c Mon Sep 17 00:00:00 2001 +From: Szymon Sliwa +Date: Wed, 31 Jan 2018 14:51:23 +0100 +Subject: [PATCH 3/4] [HACK] enable inline in dpdk pktio + +Added simple lines which enable IPsec inline mode +on RX using dpdk pktio. The changes are not intended to be +pushed to main odp repository - these are only minimal changes +to make use of the functionality. + +Signed-off-by: Szymon Sliwa +--- + platform/linux-generic/pktio/dpdk.c | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +diff --git a/platform/linux-generic/pktio/dpdk.c b/platform/linux-generic/pktio/dpdk.c +index 54fd0bd..ce835d8 100644 +--- a/platform/linux-generic/pktio/dpdk.c ++++ b/platform/linux-generic/pktio/dpdk.c +@@ -22,6 +22,7 @@ + + #include + #include ++#include + #include + #include + +@@ -1285,6 +1286,8 @@ static void dpdk_init_capability(pktio_entry_t *pktio_entry, + capa->config.pktout.bit.udp_chksum; + capa->config.pktout.bit.tcp_chksum_ena = + capa->config.pktout.bit.tcp_chksum; ++ capa->config.inbound_ipsec = 1; ++ capa->config.outbound_ipsec = 1; + } + + static int dpdk_open(odp_pktio_t id ODP_UNUSED, +@@ -1566,6 +1569,19 @@ static int dpdk_recv(pktio_entry_t *pktio_entry, int index, + else + nb_rx = mbuf_to_pkt(pktio_entry, pkt_table, rx_mbufs, + nb_rx, ts); ++ ++ /* Try IPsec inline processing */ ++ for (i = 0; i < nb_rx; i++) { ++ odp_packet_t pkt = pkt_table[i]; ++ odp_packet_hdr_t *pkt_hdr = odp_packet_hdr(pkt); ++ ++ packet_parse_layer(pkt_hdr, ODP_PROTO_LAYER_L4); ++ ++ if(odp_packet_has_ipsec(pkt_table[i])) ++ _odp_ipsec_try_inline(pkt_table[i]); ++ ++ } ++ + } + + return nb_rx; +-- +2.7.4 + -- cgit 1.2.3-korg