aboutsummaryrefslogtreecommitdiff
path: root/platform/linux-generic/odp_packet.c
diff options
context:
space:
mode:
authorJere Leppänen <jere.leppanen@nokia.com>2022-06-06 16:51:39 +0300
committerMatias Elo <matias.elo@nokia.com>2022-06-21 08:39:24 +0300
commit23d1f6a96a7bd334b7a0810cc3005fbfa1d1f5bf (patch)
tree4c23962f0773dc1b0941b15f5782008b3eadea69 /platform/linux-generic/odp_packet.c
parentb06d4d30479bdc94346b75b76103c115879d92b9 (diff)
linux-gen: drop packet on L4 checksum error if configured to do so
Drop packet on L4 checksum error if configured to do so. Signed-off-by: Jere Leppänen <jere.leppanen@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
Diffstat (limited to 'platform/linux-generic/odp_packet.c')
-rw-r--r--platform/linux-generic/odp_packet.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/platform/linux-generic/odp_packet.c b/platform/linux-generic/odp_packet.c
index 89de5130d..0f3e9418b 100644
--- a/platform/linux-generic/odp_packet.c
+++ b/platform/linux-generic/odp_packet.c
@@ -1964,6 +1964,8 @@ int _odp_packet_l4_chksum(odp_packet_hdr_t *pkt_hdr,
pkt_hdr->p.flags.l4_chksum_err = 1;
pkt_hdr->p.flags.udp_err = 1;
ODP_DBG("UDP chksum fail (%x)!\n", sum);
+ if (opt.bit.drop_udp_err)
+ return -1;
}
}
@@ -1982,6 +1984,8 @@ int _odp_packet_l4_chksum(odp_packet_hdr_t *pkt_hdr,
pkt_hdr->p.flags.l4_chksum_err = 1;
pkt_hdr->p.flags.tcp_err = 1;
ODP_DBG("TCP chksum fail (%x)!\n", sum);
+ if (opt.bit.drop_tcp_err)
+ return -1;
}
}
@@ -2013,6 +2017,8 @@ int _odp_packet_l4_chksum(odp_packet_hdr_t *pkt_hdr,
pkt_hdr->p.flags.sctp_err = 1;
ODP_DBG("SCTP chksum fail (%x/%x)!\n", sum,
sctp->chksum);
+ if (opt.bit.drop_sctp_err)
+ return -1;
}
}