/* * 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; } t-info'> authorLinus Torvalds <torvalds@linux-foundation.org>2016-10-07 21:18:42 -0700 committerLinus Torvalds <torvalds@linux-foundation.org>2016-10-07 21:18:42 -0700 commit66f2c6d9525baa7534640f09f406cd2987e0f287 (patch) treec4874177b3dd0e2d0913cb0f898f74412f2801c1 parenta771151a8323a5ca81f443a9a439851b8a872c85 (diff)parente40454d3f444ba7f8cc78dd985a1414a5945757c (diff)
Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC platform updates from Arnd Bergmann: "These are updates for platform specific code on 32-bit ARM machines, essentially anything that can not (yet) be expressed using DT files. Noteworthy changes include: - We get support for running in big-endian mode on two platforms: sunxi (Allwinner) and s3c24xx (old Samsung). - The recently added Uniphier platform now uses standard PSCI methods for SMP booting and we remove support for old bootloader versions that did not support it yet. - In sunxi, we gain support for the "Nextthing GR8" SoC, which is a close relative of the Allwinner A13 and R8 chips. - PXA completes its move over to the generic dmaengine framework and removes its old private API - mach-bcm gains support for BCM47189/BCM53573, their first ARM SoC with integrated 802.11ac wireless networking" * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (54 commits) ARM: imx legacy: pca100: move peripheral initialization to .init_late ARM: imx legacy: mx27ads: move peripheral initialization to .init_late ARM: imx legacy: mx21ads: move peripheral initialization to .init_late ARM: imx legacy: pcm043: move peripheral initialization to .init_late ARM: imx legacy: mx35-3ds: move peripheral initialization to .init_late ARM: imx legacy: mx27-3ds: move peripheral initialization to .init_late ARM: imx legacy: imx27-visstrim-m10: move peripheral initialization to .init_late ARM: imx legacy: vpr200: move peripheral initialization to .init_late ARM: imx legacy: mx31moboard: move peripheral initialization to .init_late ARM: imx legacy: armadillo5x0: move peripheral initialization to .init_late ARM: imx legacy: qong: move peripheral initialization to .init_late ARM: imx legacy: mx31-3ds: move peripheral initialization to .init_late ARM: imx legacy: pcm037: move peripheral initialization to .init_late ARM: imx legacy: mx31lilly: move peripheral initialization to .init_late ARM: imx legacy: mx31ads: move peripheral initialization to .init_late ARM: imx legacy: mx31lite: move peripheral initialization to .init_late ARM: imx legacy: kzm: move peripheral initialization to .init_late MAINTAINERS: update list of Oxnas maintainers ARM: orion5x: remove extraneous NO_IRQ ARM: orion: simplify orion_ge00_switch_init ...