/* * Mausezahn - A fast versatile traffic generator * Copyright (C) 2008-2010 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 * */ #include "mz.h" #include "cli.h" #include "mops.h" int launch_bpdu (struct cli_def *cli, const char *command, char *argv[], int argc) { int conf=0; struct mops_ext_bpdu * pd; if ( (strncmp(argv[argc-1],"?",2)==0) || (argc>1) ) { cli_print(cli, "Launch a(nother) BPDU process:\n"); cli_print(cli, " Per default a TCN-BPDU is sent.\r"); cli_print(cli, "conf Use this keyword to emit configuration BPDUs\r"); cli_print(cli, " (with this host as root bridge)\n"); return CLI_OK; } if (argc==1) { if (mz_strcmp(argv[0], "conf", 1)==0) conf=1; } if ((clipkt = mops_alloc_packet(mp_head)) == NULL) { // Problem, memory full? cli_print(cli, "Cannot allocate additional memory!\n"); return CLI_OK; } strncpy (clipkt->packet_name, "sysBPDU", 7); // OK, created a new packet cli_print(cli, "Allocated new packet %s at slot %i",clipkt->packet_name, clipkt->id); mops_set_defaults(clipkt); if (mops_ext_add_pdesc (clipkt, MOPS_BPDU)) cli_print(cli, "Cannot configure BPDU parameters!?\n"); else { clipkt->use_ETHER = 1; clipkt->use_SNAP = 1; clipkt->count = 0; clipkt->ndelay.tv_sec = 2; clipkt->ndelay.tv_nsec = 0; pd = clipkt->p_desc; if (conf) pd->bpdu_type = 0x00; else pd->bpdu_type = 0x80; mops_set_conf(clipkt); if (mops_tx_simple (clipkt)) { cli_print(cli, "Cannot create sending process.\r"); } } return CLI_OK; } int launch_synflood (struct cli_def *cli, const char *command, char *argv[], int argc) { u_int8_t IP[4]; int valid_ip=0, valid_port=0; if ( (strncmp(argv[argc-1],"?",2)==0) || (argc>2) || (argc==0)) { cli_print(cli, "Launch a(nother) TCP SYN-Flood process:\n"); cli_print(cli, " At least you must specify the destination IP address\r"); cli_print(cli, " Optionally specify the destination port (default: range from 1-1023)\n"); return CLI_OK; } if (mops_pdesc_ip (IP, argv[0])==0) { // check if format is really an IP address valid_ip=1; } else { cli_print(cli, "Invalid IP address\n"); return CLI_OK; } if (argc==2) { if (mz_strisnum(argv[1])==0) { cli_print(cli, "Invalid port number\n"); return CLI_OK; } valid_port = (int) str2int(argv[1]); if (valid_port>65535) { cli_print(cli, "Invalid port number\n"); return CLI_OK; } } if ((clipkt = mops_alloc_packet(mp_head)) == NULL) { // Problem, memory full? cli_print(cli, "Cannot allocate additional memory!\n"); return CLI_OK; } strncpy (clipkt->packet_name, "sysFlood_TCPSYN", 15); // OK, created a new packet cli_print(cli, "Allocated new packet %s at slot %i",clipkt->packet_name, clipkt->id); mops_set_defaults(clipkt); clipkt->use_ETHER = 1; clipkt->use_IP = 1; clipkt->use_TCP = 1; clipkt->ip_proto = 6; clipkt->count = 0; clipkt->ip_dst = str2ip32(argv[0]); clipkt->ip_src_israndom=1; if (valid_port) { clipkt->dp = valid_port; } else { clipkt->dp_isrange=1; clipkt->dp_start=1; clipkt->dp_stop=1023; } clipkt->ndelay.tv_sec = 0; clipkt->ndelay.tv_nsec = 0; mops_set_conf(clipkt); mops_tcp_add_option (clipkt,64,0,0,0,0); if (mops_tx_simple (clipkt)) { cli_print(cli, "Cannot create sending process.\r"); } return CLI_OK; } :mode:
authorVaibhav Agarwal <vaibhav.agarwal@linaro.org>2016-08-04 15:14:28 +0530
committerGreg Kroah-Hartman <gregkh@google.com>2016-08-04 19:07:30 +0200
commit90579d4b577154606a54cab9771e15a41867b79b (patch)
treeab0f0d87d5073848ce63b22fc499c05c264195b3 /drivers
parent921dbe52b40b2573d9a0e8337c768930bef25fb4 (diff)
greybus: audio: Remove un-necessary goto statement
For most of the helper functions, goto statement is widely used. It was originally used with an intent of single exit point for the function with some cleanup required. This is no more the case. So, simplify code by avoiding un-necessary gotos. Signed-off-by: Vaibhav Agarwal <vaibhav.agarwal@linaro.org> Reviewed-by: Mark Greer <mgreer@animalcreek.com> Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Diffstat (limited to 'drivers')