/* * Mausezahn - A fast versatile traffic generator * Copyright (C) 2008 Herbert Haas * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License version 2 as published by the * Free Software Foundation. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License along with * this program; if not, see http://www.gnu.org/licenses/gpl-2.0.html * */ // *************************************************************************** // // This sections contains: // // - complexity() ... calculates and reports how many frames will // be generated. // - send_frame() ... the general and mighty SENDING FUNCTION. // // *************************************************************************** #include "mz.h" #include "cli.h" // Calculates the number of frames to be sent. // Should be used as standard output except the // 'quiet' option (-q) has been specified. int complexity(void) { unsigned long int nr_sqnr = 1, nr_dp = 1, nr_sp = 1, nr_da = 1, nr_sa = 1; u_int32_t sn1, sn2, delta; long double ref; if (tx.count==0) goto infinity; total_d = 1.0; // How many sequence numbers? if (tx.tcp_seq_delta) { sn1 = tx.tcp_seq_start; sn2 = tx.tcp_seq_stop; delta = tx.tcp_seq_delta; if (sn1ref) { fprintf(stderr, "You must be crazy...\n"); } else if (total_d>0xffffffff) { fprintf(stderr, "Do you REALLY know what you are doing?\n"); } else if (total_d>0xffffff) { fprintf(stderr, "Do you know what you are doing?\n"); } if (mz_port) { cli_print(gcli, "Mausezahn will send %.Lf frames...\r", total_d); } else { fprintf(stderr, "Mausezahn will send %.Lf frames... ", total_d); fflush(stderr); if (verbose) fprintf(stderr,"\n"); } mz_start = clock(); infinity: if (tx.count==0) { if (mz_port) { cli_print(gcli, "Mausezahn will send frames infinitely...\n"); } else { fprintf(stderr, "Mausezahn will send frames infinitely...\n"); } } return 0; } /////////////////////////////////////////////////////////////////////// // // Send complete frame (layers 2, 3, 4) multiple times if required // // int send_frame (libnet_t *l, libnet_ptag_t t3, libnet_ptag_t t4) { int i=0, count; int // local vars are faster ;-) tcp_seq_delta, dp_isrange, sp_isrange, ip_dst_isrange, ip_src_isrange, rtp_mode=0; count = tx.count; tcp_seq_delta = tx.tcp_seq_delta; dp_isrange = tx.dp_isrange; sp_isrange = tx.sp_isrange; ip_dst_isrange = tx.ip_dst_isrange; ip_src_isrange = tx.ip_src_isrange | tx.ip_src_rand; if (mode == RTP) rtp_mode = 1; if (count==0) goto AGAIN; for (i=0; i (diff)
crypto: caam - do not register AES-XTS mode on LP units
When using AES-XTS on a Wandboard, we receive a Mode error: caam_jr 2102000.jr1: 20001311: CCB: desc idx 19: AES: Mode error. According to the Security Reference Manual, the Low Power AES units of the i.MX6 do not support the XTS mode. Therefore we must not register XTS implementations in the Crypto API. Signed-off-by: Sven Ebenfeld <sven.ebenfeld@gmail.com> Reviewed-by: Horia Geantă <horia.geanta@nxp.com> Cc: <stable@vger.kernel.org> # 4.4+ Fixes: c6415a6016bf "crypto: caam - add support for acipher xts(aes)" Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'Documentation')