////////////////////////////////////////////////////////////////////////////// netsniff-ng - the packet sniffing beast \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ . . netsniff-ng is a free, performant /( )\ Linux network analyzer and .' {______} '. networking toolkit. If you will, \ ^, ,^ / the Swiss army knife for network |'O\ /O'| _.<0101011>-- packets. > `' '` < / ) ,.==., ( | Web: http://netsniff-ng.org .-(|/--~~--\|)-' ( ___ The gain of performance is \__.=|___E reached by built-in zero-copy mechanisms, so that on packet reception and transmission the kernel does not need to copy packets from kernel space to user space, and vice versa. The netsniff-ng toolkit's primary usage goal is to facilitate a network developer's / hacker's daily Linux plumbing. It can be used for network development, debugging, analysis, auditing or network reconnaissance. It consists of the following fixed set of utilities: * netsniff-ng: a zero-copy packet analyzer, pcap capturing/replaying tool * trafgen: a multithreaded low-level zero-copy network packet generator * mausezahn [*]: high-level packet generator for appliances with Cisco-CLI * ifpps: a top-like kernel networking and system statistics tool * curvetun [*]: a lightweight curve25519-based multiuser IP tunnel * astraceroute: an autonomous system trace route and DPI testing utility * flowtop: a top-like netfilter connection tracking tool * bpfc: a [seccomp-]BPF (Berkeley packet filter) compiler, JIT disassembler Note that tools marked with [*] should be considered as experimental for now, and not used in production environments as they still need more work to be fully stable and in line with others. You have been warned! Each release can be verified with Git and GPG, here are the steps to do so: 1) Import the maintainers public keys: git show maint-tklauser-pgp-pub | gpg --import git show maint-dborkman-pgp-pub | gpg --import 2) Verify the Git tag: git tag -v Carefully read the INSTALL document for the next steps in building netsniff-ng. Note that the toolkit is still quite young and under heavy development, not yet feature complete and in a quality level where we're satisfied with (i.e. for mausezahn). However, we're on a good way towards tackling all these goals. The netsniff-ng toolkit is an open source project covered by the GNU General Public License, version 2.0. For any questions or feedback about netsniff-ng you are welcome to leave us a message at . netsniff-ng is non-profit and provided in the hope, that it is found useful. The current project status can be considered as "working". In general, all tools have been tested by us to a great extend including their command-line options. In fact, many of our tools are used in a lot of production systems. However, we give no guarantee that our tools are free of bugs! If you spot some issues, contact us as described in REPORTING-BUGS. Also, have a look at our online FAQ for answering your questions. This project has received support from companies and institutions listed in the according section in the AUTHORS file. Thanks for contributing, we're thrilled to provide you with netsniff-ng! Happy packet hacking! 3'/>
context:
space:
mode:
authorBjorn Helgaas <bhelgaas@google.com>2017-01-27 15:00:45 -0600
committerBjorn Helgaas <bhelgaas@google.com>2017-01-27 15:00:45 -0600
commit030305d69fc6963c16003f50d7e8d74b02d0a143 (patch)
tree363a4e34d199178769b7e7eeb26ea2620a55847b /include/Kbuild
parent4d191b1b63c209e37bf27938ef365244d3c41084 (diff)
PCI/ASPM: Handle PCI-to-PCIe bridges as roots of PCIe hierarchies
In a struct pcie_link_state, link->root points to the pcie_link_state of the root of the PCIe hierarchy. For the topmost link, this points to itself (link->root = link). For others, we copy the pointer from the parent (link->root = link->parent->root). Previously we recognized that Root Ports originated PCIe hierarchies, but we treated PCI/PCI-X to PCIe Bridges as being in the middle of the hierarchy, and when we tried to copy the pointer from link->parent->root, there was no parent, and we dereferenced a NULL pointer: BUG: unable to handle kernel NULL pointer dereference at 0000000000000090 IP: [<ffffffff9e424350>] pcie_aspm_init_link_state+0x170/0x820 Recognize that PCI/PCI-X to PCIe Bridges originate PCIe hierarchies just like Root Ports do, so link->root for these devices should also point to itself. Fixes: 51ebfc92b72b ("PCI: Enumerate switches below PCI-to-PCIe bridges") Link: https://bugzilla.kernel.org/show_bug.cgi?id=193411 Link: https://bugzilla.opensuse.org/show_bug.cgi?id=1022181 Tested-by: lists@ssl-mail.com Tested-by: Jayachandran C. <jnair@caviumnetworks.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> CC: stable@vger.kernel.org # v4.2+
Diffstat (limited to 'include/Kbuild')