FOSS and Linux in particular provides an excellent OS when it comes to hacking gadgets. This presentation created a couple of years back presents GNU/Linux as the unconventional OS that makes this all possible!
DPDK in depth
This document provides an overview of DPDK (Data Plane Development Kit):
1. DPDK is an open source project for data plane programming and network acceleration. It started at Intel in 2010 and is now maintained by the Linux Foundation.
2. DPDK provides poll mode drivers (PMDs), libraries, and sample applications for fast packet processing. It uses hugepages and avoids kernel involvement for high performance.
3. The document outlines several DPDK projects, libraries, PMDs, advantages and disadvantages, development process, and demonstrates a simple DPDK application (l2fwd) and the testpmd tool.
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP IntegrationLinaro
Virtual Open Systems has developed VOSYSwitch, a high-performance user space networking virtual switch solution enabling NFV, based on the open source packet processing framework SnabbSwitch. In this talk, the experience of porting VOSYSwitch from x86 to ARMv8 will be shared, along with the integration of ODP as a driver layer for the available hardware resources. In addition to this presentation, a live demonstration will showcase chained VNFs connected through VOSYSwitch, where an OpenFastPath web server is implemented behind an ODP enabled packet filtering firewall. The targeted platforms are Freescale (NXP) LS2085A and Cavium's ThunderX.
Ramon Fried covers the following topics:
* What DMA is.
* DMA Buffer Allocations and Management.
* Cache Coherency.
* PCI and DMA.
* dmaengine Framework.
Ramon is an Embedded Linux team leader in TandemG, leading various cutting edge projects in the Linux kernel.
He has years of experience in embedded systems, operating systems and Linux kernel.
BKK16-505 Kernel and Bootloader Consolidation and UpstreamingLinaro
An update to the state of reference platform kernel and bootloader and a discussion about the patch-inclusion policy. We’ll also cover roadmap plans. Participation is invited if you have ideas on how we can make it easy to use the reference platform kernel for your development projects.
The current Hadoop ecosystem is challenged and slowed by fragmented and duplicated efforts.
An industry standard is required that translates to immediate benefits that will increase stability, capabilities and compatibility among Hadoop distributions. Its also important to include an open data management core with emphasis on making it enterprise focused.
The ODPi is a shared industry effort focused on build such standards and also promoting and advancing the state of Big Data technologies. Linaro is actively involved in this effort and also to make sure ODPi is ARM compatible.
This talk will go over some of specifications defined, Linaro's contributions, Roadmap and a quick demo
This presentation introduces Data Plane Development Kit overview and basics. It is a part of a Network Programming Series.
First, the presentation focuses on the network performance challenges on the modern systems by comparing modern CPUs with modern 10 Gbps ethernet links. Then it touches memory hierarchy and kernel bottlenecks.
The following part explains the main DPDK techniques, like polling, bursts, hugepages and multicore processing.
DPDK overview explains how is the DPDK application is being initialized and run, touches lockless queues (rte_ring), memory pools (rte_mempool), memory buffers (rte_mbuf), hashes (rte_hash), cuckoo hashing, longest prefix match library (rte_lpm), poll mode drivers (PMDs) and kernel NIC interface (KNI).
At the end, there are few DPDK performance tips.
Tags: access time, burst, cache, dpdk, driver, ethernet, hub, hugepage, ip, kernel, lcore, linux, memory, pmd, polling, rss, softswitch, switch, userspace, xeon
The OpenCSD library for decoding CoreSight traces has reached the point where it is ready to be integrated into applications. This session will present an overview of the state of the library, its interfaces and explore and demonstrate a sample integration with perf.
Accelerate Service Function Chaining Vertical Solution with DPDKOPNFV
Service Function Chaining (SFC) is one of top 5 NFV use case. Supporting SFC in provider and enterprise networks requires performance assurance. Specifically, the Classifier and the Service Function Forwarder which are typically implemented in software such as virtual switches need to match line rate requirement. DPDK (Data Plane Development Kit) is an open source project comprising a set of libraries and drivers for fast packet processing. In this presentation, we will discuss our experiences accelerating SFC with DPDK. In addition, Telco and Datacenter carriers demands dynamic SFC that requires new SFC wire protocols (e.g. VxLAN-GPE and NSH) support in both data and control planes. We intend to share our experiences and future works of a high performance, NSH-aware SFC vertical solution with open-source ingredients: Openstack, Opendaylight, OpenvSwitch with DPDK acceleration.
DPDK in depth
This document provides an overview of DPDK (Data Plane Development Kit):
1. DPDK is an open source project for data plane programming and network acceleration. It started at Intel in 2010 and is now maintained by the Linux Foundation.
2. DPDK provides poll mode drivers (PMDs), libraries, and sample applications for fast packet processing. It uses hugepages and avoids kernel involvement for high performance.
3. The document outlines several DPDK projects, libraries, PMDs, advantages and disadvantages, development process, and demonstrates a simple DPDK application (l2fwd) and the testpmd tool.
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP IntegrationLinaro
Virtual Open Systems has developed VOSYSwitch, a high-performance user space networking virtual switch solution enabling NFV, based on the open source packet processing framework SnabbSwitch. In this talk, the experience of porting VOSYSwitch from x86 to ARMv8 will be shared, along with the integration of ODP as a driver layer for the available hardware resources. In addition to this presentation, a live demonstration will showcase chained VNFs connected through VOSYSwitch, where an OpenFastPath web server is implemented behind an ODP enabled packet filtering firewall. The targeted platforms are Freescale (NXP) LS2085A and Cavium's ThunderX.
Ramon Fried covers the following topics:
* What DMA is.
* DMA Buffer Allocations and Management.
* Cache Coherency.
* PCI and DMA.
* dmaengine Framework.
Ramon is an Embedded Linux team leader in TandemG, leading various cutting edge projects in the Linux kernel.
He has years of experience in embedded systems, operating systems and Linux kernel.
BKK16-505 Kernel and Bootloader Consolidation and UpstreamingLinaro
An update to the state of reference platform kernel and bootloader and a discussion about the patch-inclusion policy. We’ll also cover roadmap plans. Participation is invited if you have ideas on how we can make it easy to use the reference platform kernel for your development projects.
The current Hadoop ecosystem is challenged and slowed by fragmented and duplicated efforts.
An industry standard is required that translates to immediate benefits that will increase stability, capabilities and compatibility among Hadoop distributions. Its also important to include an open data management core with emphasis on making it enterprise focused.
The ODPi is a shared industry effort focused on build such standards and also promoting and advancing the state of Big Data technologies. Linaro is actively involved in this effort and also to make sure ODPi is ARM compatible.
This talk will go over some of specifications defined, Linaro's contributions, Roadmap and a quick demo
This presentation introduces Data Plane Development Kit overview and basics. It is a part of a Network Programming Series.
First, the presentation focuses on the network performance challenges on the modern systems by comparing modern CPUs with modern 10 Gbps ethernet links. Then it touches memory hierarchy and kernel bottlenecks.
The following part explains the main DPDK techniques, like polling, bursts, hugepages and multicore processing.
DPDK overview explains how is the DPDK application is being initialized and run, touches lockless queues (rte_ring), memory pools (rte_mempool), memory buffers (rte_mbuf), hashes (rte_hash), cuckoo hashing, longest prefix match library (rte_lpm), poll mode drivers (PMDs) and kernel NIC interface (KNI).
At the end, there are few DPDK performance tips.
Tags: access time, burst, cache, dpdk, driver, ethernet, hub, hugepage, ip, kernel, lcore, linux, memory, pmd, polling, rss, softswitch, switch, userspace, xeon
The OpenCSD library for decoding CoreSight traces has reached the point where it is ready to be integrated into applications. This session will present an overview of the state of the library, its interfaces and explore and demonstrate a sample integration with perf.
Accelerate Service Function Chaining Vertical Solution with DPDKOPNFV
Service Function Chaining (SFC) is one of top 5 NFV use case. Supporting SFC in provider and enterprise networks requires performance assurance. Specifically, the Classifier and the Service Function Forwarder which are typically implemented in software such as virtual switches need to match line rate requirement. DPDK (Data Plane Development Kit) is an open source project comprising a set of libraries and drivers for fast packet processing. In this presentation, we will discuss our experiences accelerating SFC with DPDK. In addition, Telco and Datacenter carriers demands dynamic SFC that requires new SFC wire protocols (e.g. VxLAN-GPE and NSH) support in both data and control planes. We intend to share our experiences and future works of a high performance, NSH-aware SFC vertical solution with open-source ingredients: Openstack, Opendaylight, OpenvSwitch with DPDK acceleration.
The Linux Block Layer - Built for Fast StorageKernel TLV
The arrival of flash storage introduced a radical change in performance profiles of direct attached devices. At the time, it was obvious that Linux I/O stack needed to be redesigned in order to support devices capable of millions of IOPs, and with extremely low latency.
In this talk we revisit the changes the Linux block layer in the
last decade or so, that made it what it is today - a performant, scalable, robust and NUMA-aware subsystem. In addition, we cover the new NVMe over Fabrics support in Linux.
Sagi Grimberg
Sagi is Principal Architect and co-founder at LightBits Labs.
DPDK is a set of drivers and libraries that allow applications to bypass the Linux kernel and access network interface cards directly for very high performance packet processing. It is commonly used for software routers, switches, and other network applications. DPDK can achieve over 11 times higher packet forwarding rates than applications using the Linux kernel network stack alone. While it provides best-in-class performance, DPDK also has disadvantages like reduced security and isolation from standard Linux services.
Stephen Hemminger discusses performance challenges in software networking. He addresses myths about throughput limits and compares hardware and software approaches. Optimization requires analyzing bottlenecks like CPU cache usage and avoiding locks. While benchmarks use ideal conditions, real systems have bursty traffic, many rules, and limited resources. The performance of software networking depends on algorithms, CPU efficiency, and handling cache behavior.
The document discusses the DPDK Packet Framework and the ip_pipeline application generator. It describes how the framework uses ports, tables, and actions to quickly develop packet processing pipelines. It also explains how ip_pipeline allows defining packet processing applications by connecting different reusable pipeline types and mapping them across CPU cores. The framework provides a way to build high performance packet processing applications from configurable processing blocks.
This document provides an introduction to eBPF (Extended Berkeley Packet Filter), which allows running user-space code in the Linux kernel without needing to compile a kernel module. It describes how eBPF avoids unnecessary copying of packets between kernel and user-space for improved performance. Examples are given of using eBPF for networking tasks like SDN configuration, DDoS mitigation, intrusion detection, and load balancing. The document concludes by noting eBPF provides alternatives to iptables that are better suited for microservices architectures.
OVS and DPDK - T.F. Herbert, K. Traynor, M. Grayharryvanhaaren
The document discusses DPDK and software dataplane acceleration for Open vSwitch. It provides an overview of the OVS architecture and its evolution to integrate with DPDK. It shares one user's experience of initial challenges in using DPDK/OVS and improvements over time. Suggestions are made to improve areas like debugging, testing, documentation and training to enhance the usability of DPDK/OVS. Performance tuning techniques like using multiple threads are also briefly covered.
This document provides an overview of Vector Packet Processing (VPP), an open source packet processing platform developed as part of the FD.io project. VPP is based on DPDK for high performance packet processing in userspace. It includes a full networking stack and can perform L2/L3 forwarding and routing at speeds of over 14 million packets per second on a single core. VPP processing is divided into individual nodes connected by a graph. Packets are passed between nodes as vectors to support batch processing. VPP supports both single and multicore modes using different threading models. It can be used to implement routers, switches, and other network functions and topologies.
Data Plane and VNF Acceleration Mini Summit Open-NFP
This event will deliver technical sessions related to the acceleration of server-based networking data planes and VNFs using SmartNIC hardware within the framework of the NFVi and orchestration components in the OPNFV Danube software platform. Virtual switching data planes using Open vSwitch (OVS) and FD.IO (with VPP) will be discussed and offload architectures for such data planes into SmartNIC platforms will be presented. Extension of such data planes for VNF specific requirements utilizing micro-VNF sandbox functions utilizing P4 and/or C language programming will be presented and discussed. Early work defining VNF acceleration architectures and APIs for SmartNIC-accelerated data planes and VNF sandbox extensions will be presented and discussed, followed by a proposal to create a collaborative project to complete the definition of such an API within the frameworks of OPNFV and ETSI. In addition, a proposal for a Pharos community lab related VNF acceleration will be put forward by the Open-NFP organization.
Nadav Markus goes over the path from a simple crash POC provided by Google Project Zero (for CVE-2015-7547), to a fully weaponized exploit.
He explores how an attacker can utilize the behavior of the Linux kernel in order to bypass ASLR, allowing an attacker to remotely execute code on vulnerable targets.
This document provides a quick start guide for setting up and using the Vigor3910 docker firmware. It outlines how to set the Linux IP address and port, check if docker is running, and install a docker image like Portainer for a web interface. The firmware adds docker support while keeping the original router functions and increases the firmware size and memory usage. Accessing docker requires configuring the Linux IP, port, and gateway appropriately.
Comprehensive XDP Offload-handling the Edge CasesNetronome
While XDP is less complex to offload than other forms of kernel functionality due to the fact that it sits at the bottom of the stack, there are a number of items that lead to complexity when dealing with XDP offload. This talk will explore some of the ideas around how to implement these concepts as well as share some of the results we have seen while implementing offload on a 32 bit architecture.
CETH for XDP [Linux Meetup Santa Clara | July 2016] IO Visor Project
This document discusses CETH (Common Ethernet Driver Framework), which aims to improve kernel networking performance for virtualization. CETH simplifies NIC drivers by consolidating common functions. It supports various NICs and accelerators. CETH features efficient memory and buffer management, flexible TX/RX scheduling, and a customizable metadata structure. It is being simplified to work with XDP for even higher performance network I/O processing in the kernel. Next steps include further optimizations and measuring performance gains when using CETH with XDP and virtualized environments.
Cilium - Fast IPv6 Container Networking with BPF and XDPThomas Graf
We present a new open source project which provides IPv6 networking for Linux Containers by generating programs for each individual container on the fly and then runs them as JITed BPF code in the kernel. By generating and compiling the code, the program is reduced to the minimally required feature set and then heavily optimised by the compiler as parameters become plain variables. The upcoming addition of the Express Data Plane (XDP) to the kernel will make this approach even more efficient as the programs will get invoked directly from the network driver.
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDPThomas Graf
This talk will start with a deep dive and hands on examples of BPF, possibly the most promising low level technology to address challenges in application and network security, tracing, and visibility. We will discuss how BPF evolved from a simple bytecode language to filter raw sockets for tcpdump to the a JITable virtual machine capable of universally extending and instrumenting both the Linux kernel and user space applications. The introduction is followed by a concrete example of how the Cilium open source project applies BPF to solve networking, security, and load balancing for highly distributed applications. We will discuss and demonstrate how Cilium with the help of BPF can be combined with distributed system orchestration such as Docker to simplify security, operations, and troubleshooting of distributed applications.
In this session, we’ll review how previous efforts, including Netfilter, Berkley Packet Filter (BPF), Open vSwitch (OVS), and TC, approached the problem of extensibility. We’ll show you an open source solution available within the Red Hat Enterprise Linux kernel, where extending and merging some of the existing concepts leads to an extensible framework that satisfies the networking needs of datacenter and cloud virtualization.
This document discusses achieving very high speeds of 100 million packets per second (100Mpps) on commodity PC hardware using kernel bypassing techniques. It describes the company redCDN and their development of a DDoS mitigation solution called redGuardian. Key challenges discussed include the limitations of operating system network stacks at high speeds, hardware capabilities, and how data plane frameworks like DPDK can be used to bypass the OS and achieve wire-speed performance by accessing network interface cards directly from userspace.
This presentation will cover the basics of performance testing. Configuring systems correctly is essential to characterizing the performance of SmartNICs. The configuration of BIOS, CPU allocation, OS and VM parameters will be covered. Also, choices of traffic generators and typical test topologies will be described.
LF_DPDK17_Accelerating P4-based Dataplane with DPDKLF_DPDK
This document discusses accelerating P4-based data planes using DPDK with BMv2. It presents BMAcc, which leverages DPDK for faster packet I/O compared to BMv2. BMAcc applies optimizations like removing redundant memory copies and using multithreading. Evaluation shows BMAcc achieves line rate performance and outperforms BMv2, especially for small packets. Further optimizations are needed to address parser impact on 64-byte packets. BMAcc is a practical approach for high performance P4 data planes on multicore platforms.
Beyond desktop/server with GNU/Linux (archived)Bud Siddhisena
Beyond Desktop/Server with GNU/Linux discusses Linux running on unconventional devices and in unconventional situations. It provides an overview of Linux supported architectures and devices, as well as unconventional installation methods like from floppy disks or over a network. It also discusses unconventional boot methods like from a live CD and network booting. Finally, it discusses Linux running in unconventional situations like for real-time applications, and on unconventional devices like game consoles, PDAs, and phones.
The Linux Block Layer - Built for Fast StorageKernel TLV
The arrival of flash storage introduced a radical change in performance profiles of direct attached devices. At the time, it was obvious that Linux I/O stack needed to be redesigned in order to support devices capable of millions of IOPs, and with extremely low latency.
In this talk we revisit the changes the Linux block layer in the
last decade or so, that made it what it is today - a performant, scalable, robust and NUMA-aware subsystem. In addition, we cover the new NVMe over Fabrics support in Linux.
Sagi Grimberg
Sagi is Principal Architect and co-founder at LightBits Labs.
DPDK is a set of drivers and libraries that allow applications to bypass the Linux kernel and access network interface cards directly for very high performance packet processing. It is commonly used for software routers, switches, and other network applications. DPDK can achieve over 11 times higher packet forwarding rates than applications using the Linux kernel network stack alone. While it provides best-in-class performance, DPDK also has disadvantages like reduced security and isolation from standard Linux services.
Stephen Hemminger discusses performance challenges in software networking. He addresses myths about throughput limits and compares hardware and software approaches. Optimization requires analyzing bottlenecks like CPU cache usage and avoiding locks. While benchmarks use ideal conditions, real systems have bursty traffic, many rules, and limited resources. The performance of software networking depends on algorithms, CPU efficiency, and handling cache behavior.
The document discusses the DPDK Packet Framework and the ip_pipeline application generator. It describes how the framework uses ports, tables, and actions to quickly develop packet processing pipelines. It also explains how ip_pipeline allows defining packet processing applications by connecting different reusable pipeline types and mapping them across CPU cores. The framework provides a way to build high performance packet processing applications from configurable processing blocks.
This document provides an introduction to eBPF (Extended Berkeley Packet Filter), which allows running user-space code in the Linux kernel without needing to compile a kernel module. It describes how eBPF avoids unnecessary copying of packets between kernel and user-space for improved performance. Examples are given of using eBPF for networking tasks like SDN configuration, DDoS mitigation, intrusion detection, and load balancing. The document concludes by noting eBPF provides alternatives to iptables that are better suited for microservices architectures.
OVS and DPDK - T.F. Herbert, K. Traynor, M. Grayharryvanhaaren
The document discusses DPDK and software dataplane acceleration for Open vSwitch. It provides an overview of the OVS architecture and its evolution to integrate with DPDK. It shares one user's experience of initial challenges in using DPDK/OVS and improvements over time. Suggestions are made to improve areas like debugging, testing, documentation and training to enhance the usability of DPDK/OVS. Performance tuning techniques like using multiple threads are also briefly covered.
This document provides an overview of Vector Packet Processing (VPP), an open source packet processing platform developed as part of the FD.io project. VPP is based on DPDK for high performance packet processing in userspace. It includes a full networking stack and can perform L2/L3 forwarding and routing at speeds of over 14 million packets per second on a single core. VPP processing is divided into individual nodes connected by a graph. Packets are passed between nodes as vectors to support batch processing. VPP supports both single and multicore modes using different threading models. It can be used to implement routers, switches, and other network functions and topologies.
Data Plane and VNF Acceleration Mini Summit Open-NFP
This event will deliver technical sessions related to the acceleration of server-based networking data planes and VNFs using SmartNIC hardware within the framework of the NFVi and orchestration components in the OPNFV Danube software platform. Virtual switching data planes using Open vSwitch (OVS) and FD.IO (with VPP) will be discussed and offload architectures for such data planes into SmartNIC platforms will be presented. Extension of such data planes for VNF specific requirements utilizing micro-VNF sandbox functions utilizing P4 and/or C language programming will be presented and discussed. Early work defining VNF acceleration architectures and APIs for SmartNIC-accelerated data planes and VNF sandbox extensions will be presented and discussed, followed by a proposal to create a collaborative project to complete the definition of such an API within the frameworks of OPNFV and ETSI. In addition, a proposal for a Pharos community lab related VNF acceleration will be put forward by the Open-NFP organization.
Nadav Markus goes over the path from a simple crash POC provided by Google Project Zero (for CVE-2015-7547), to a fully weaponized exploit.
He explores how an attacker can utilize the behavior of the Linux kernel in order to bypass ASLR, allowing an attacker to remotely execute code on vulnerable targets.
This document provides a quick start guide for setting up and using the Vigor3910 docker firmware. It outlines how to set the Linux IP address and port, check if docker is running, and install a docker image like Portainer for a web interface. The firmware adds docker support while keeping the original router functions and increases the firmware size and memory usage. Accessing docker requires configuring the Linux IP, port, and gateway appropriately.
Comprehensive XDP Offload-handling the Edge CasesNetronome
While XDP is less complex to offload than other forms of kernel functionality due to the fact that it sits at the bottom of the stack, there are a number of items that lead to complexity when dealing with XDP offload. This talk will explore some of the ideas around how to implement these concepts as well as share some of the results we have seen while implementing offload on a 32 bit architecture.
CETH for XDP [Linux Meetup Santa Clara | July 2016] IO Visor Project
This document discusses CETH (Common Ethernet Driver Framework), which aims to improve kernel networking performance for virtualization. CETH simplifies NIC drivers by consolidating common functions. It supports various NICs and accelerators. CETH features efficient memory and buffer management, flexible TX/RX scheduling, and a customizable metadata structure. It is being simplified to work with XDP for even higher performance network I/O processing in the kernel. Next steps include further optimizations and measuring performance gains when using CETH with XDP and virtualized environments.
Cilium - Fast IPv6 Container Networking with BPF and XDPThomas Graf
We present a new open source project which provides IPv6 networking for Linux Containers by generating programs for each individual container on the fly and then runs them as JITed BPF code in the kernel. By generating and compiling the code, the program is reduced to the minimally required feature set and then heavily optimised by the compiler as parameters become plain variables. The upcoming addition of the Express Data Plane (XDP) to the kernel will make this approach even more efficient as the programs will get invoked directly from the network driver.
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDPThomas Graf
This talk will start with a deep dive and hands on examples of BPF, possibly the most promising low level technology to address challenges in application and network security, tracing, and visibility. We will discuss how BPF evolved from a simple bytecode language to filter raw sockets for tcpdump to the a JITable virtual machine capable of universally extending and instrumenting both the Linux kernel and user space applications. The introduction is followed by a concrete example of how the Cilium open source project applies BPF to solve networking, security, and load balancing for highly distributed applications. We will discuss and demonstrate how Cilium with the help of BPF can be combined with distributed system orchestration such as Docker to simplify security, operations, and troubleshooting of distributed applications.
In this session, we’ll review how previous efforts, including Netfilter, Berkley Packet Filter (BPF), Open vSwitch (OVS), and TC, approached the problem of extensibility. We’ll show you an open source solution available within the Red Hat Enterprise Linux kernel, where extending and merging some of the existing concepts leads to an extensible framework that satisfies the networking needs of datacenter and cloud virtualization.
This document discusses achieving very high speeds of 100 million packets per second (100Mpps) on commodity PC hardware using kernel bypassing techniques. It describes the company redCDN and their development of a DDoS mitigation solution called redGuardian. Key challenges discussed include the limitations of operating system network stacks at high speeds, hardware capabilities, and how data plane frameworks like DPDK can be used to bypass the OS and achieve wire-speed performance by accessing network interface cards directly from userspace.
This presentation will cover the basics of performance testing. Configuring systems correctly is essential to characterizing the performance of SmartNICs. The configuration of BIOS, CPU allocation, OS and VM parameters will be covered. Also, choices of traffic generators and typical test topologies will be described.
LF_DPDK17_Accelerating P4-based Dataplane with DPDKLF_DPDK
This document discusses accelerating P4-based data planes using DPDK with BMv2. It presents BMAcc, which leverages DPDK for faster packet I/O compared to BMv2. BMAcc applies optimizations like removing redundant memory copies and using multithreading. Evaluation shows BMAcc achieves line rate performance and outperforms BMv2, especially for small packets. Further optimizations are needed to address parser impact on 64-byte packets. BMAcc is a practical approach for high performance P4 data planes on multicore platforms.
Beyond desktop/server with GNU/Linux (archived)Bud Siddhisena
Beyond Desktop/Server with GNU/Linux discusses Linux running on unconventional devices and in unconventional situations. It provides an overview of Linux supported architectures and devices, as well as unconventional installation methods like from floppy disks or over a network. It also discusses unconventional boot methods like from a live CD and network booting. Finally, it discusses Linux running in unconventional situations like for real-time applications, and on unconventional devices like game consoles, PDAs, and phones.
Linux is well-suited for forensic investigations due to its free and open-source tools, flexible environment, and ability to access low-level interfaces. However, its tools are more complicated to use than commercial packages and typically lack technical support. Linux distributions use a directory tree with essential directories like /bin, /etc, /home, and /var. Important commands provide information on processes, network connections, and disk usage. The Linux boot process involves the BIOS, boot loader, kernel initialization, and starting of processes at designated run levels.
The document discusses the history and advantages of Linux compared to other operating systems like Windows, DOS and UNIX. It explains how the GNU project was started to develop a free and open source UNIX-like operating system. It then describes how Linus Torvalds developed the initial Linux kernel in 1991 building on the work of the GNU project. It highlights some key advantages of Linux like high security, many available tools and the flexibility of the environment. It also provides a brief overview of some common Linux components like the kernel, shells, KDE/GNOME desktop environments and the directory structure.
This document provides an introduction to Linux and open source operating systems. It discusses what Linux is, how it was developed as an alternative to Unix, and some popular Linux distributions like Ubuntu, Fedora, and their desktop environments. It also covers installing and using Linux, installing software, programming on Linux, and using the Linux shell.
Linux is an open-source operating system. It began as a personal project by Linus Torvalds in 1991 to create a free kernel. Since then, Linux has grown to be used widely for servers, desktops, embedded systems, and more. It provides users freedom and control over the operating system through access to its source code. Many popular distributions of Linux exist, including Red Hat Enterprise Linux, Debian, Ubuntu, and Fedora.
Linux is an open-source operating system that originated as a personal project by Linus Torvalds in 1991. It can run on a variety of devices from servers and desktop computers to smartphones. Some key advantages of Linux include low cost, high performance, strong security, and versatility in being able to run on many system types. Popular Linux distributions include Red Hat Enterprise Linux, Debian, Ubuntu, and Mint. The document provides an overview of the history and development of Linux as well as common myths and facts about the operating system.
The document provides information about the history and development of Linux. It states that in 1991, Linus Torvalds, a Finnish computer science student, released the first version of the Linux kernel. Though intended as a hobby project, Linux gained significant support from other developers over the years. The kernel was expanded to be capable of more than its original capabilities.
This document provides an overview of the ITI-481 Unix Administration course at Rutgers University. The course teaches students how to install and perform system administration of Unix operating systems. Major topics include installing Unix/Linux, account management, networking, security, and more. Students will install Linux on their own workstations during class time.
This document provides an introduction to Linux, including:
- An overview of what Linux is, its history originating from UNIX, and popular Linux distributions like Red Hat, Debian, and SuSE.
- A comparison of Linux and Windows in terms of cost, open source vs proprietary software, and operating system stability.
- Details about installing Linux, including partitioning schemes, file system types, and methods of installation like using DVD/CD or a USB drive.
- An overview of basic Linux commands for navigating the file system, like cd, ls, pwd, and man, as well as copying, removing, and viewing files.
- A working example of using Backtrack Linux for phishing
The document provides an introduction to operating systems, kernels, shells, Linux, and the differences between Linux and Windows. It discusses that an operating system consists of system software that acts as an intermediary between the user and computer hardware. The kernel is the core of the operating system and constantly runs, while the shell provides an interface between the user and kernel. It then covers Linux features such as being open source, modular, offering choices of desktop environments, and being portable. It also compares Linux and Windows in areas such as licensing, market share, filesystems, installation, and configuration.
History of Linux
Brain behind development
Why Linux
GNU
Why GNU ?
Where can you find Linux?
Linux is Best!!
Core components of Linux
File system
Drive letter’s
Security
Facts about Linux
Linux is a freely distributed open source operating system based on Unix. It was developed in 1991 by Linus Torvalds and has gained popularity as a free alternative to proprietary operating systems. There are several popular Linux distributions including Red Hat Linux, Linux Mandrake, Debian/GNU, and SuSE Linux. These distributions bundle Linux with common software like the X Window System, KDE, and GNOME desktop environments. Hardware compatibility has improved with Linux supporting many modern components, though some proprietary drivers may need to be obtained from manufacturers.
Linux is a freely distributed open source operating system based on Unix. It was developed in 1991 by Linus Torvalds and has gained popularity as a free alternative to proprietary operating systems. There are several popular Linux distributions including Red Hat Linux, Linux Mandrake, Debian/GNU, and SuSE Linux. These distributions bundle Linux with common software like the X Window System, KDE, and GNOME desktop environments. Hardware compatibility has improved with Linux supporting many modern components, though some proprietary drivers may still be needed.
Linux is a freely distributed open source operating system based on Unix. It was developed in 1991 by Linus Torvalds and has gained popularity as a free alternative to proprietary operating systems. There are several popular Linux distributions including Red Hat Linux, Linux Mandrake, Debian/GNU, and SuSE Linux. These distributions bundle Linux with common software like the X Window System, KDE, and GNOME desktop environments. Hardware compatibility has improved with Linux supporting many modern components, though some proprietary drivers may need to be obtained from manufacturers.
Linux is a freely distributed open source operating system based on Unix. It was developed in 1991 by Linus Torvalds and has gained popularity as a free alternative to proprietary operating systems. There are several popular Linux distributions including Red Hat Linux, Linux Mandrake, Debian/GNU, and SuSE Linux. These distributions bundle Linux with common software like the X Window System, KDE, and GNOME desktop environments. Hardware compatibility has improved with Linux supporting many modern components, though some proprietary drivers may need to be obtained from manufacturers.
Linux Operating System (Presented in ICS Course at United International Unive...Md. Fahim Bin Amin
The topic of this PowerPoint file was: Linux Operating System
I had created it in February 2020, most probably.
We had a presentation at our university in the course named Information on Computer Science. However, I had made this extensive presentation, and I understood my fault at last.
Whatever, the presentation was something as I was the only one with this longer presentation, and definitely, my slides were different from others, unique.
Chapter 8 - nsa Introduction to Linux.pptgadisaAdamu
Linux is an open-source operating system kernel created by Linus Torvalds. It can run on a variety of systems including servers, desktops, embedded devices, and more. Since its initial release in 1991, the Linux kernel has grown significantly with contributions from thousands of programmers. It is free to use, modify, and distribute, driving its widespread adoption for servers, embedded systems, and as an alternative to other proprietary operating systems.
The document provides an overview of Linux and its history. It discusses how Linux originated from Unix and was developed using C programming language. It describes how the GNU operating system project aimed to create a free Unix-like system and how the Linux kernel was created by Linus Torvalds. It highlights popular Linux distributions like Ubuntu, Red Hat, Fedora, Mandriva, SuSE, and Knoppix and their key features. It also outlines advantages of using Linux and programming options available on Linux systems.
Watch the recording at https://www.youtube.com/watch?v=23vb4XsN4Vg
How to enable parallel testing of feature branches in isolation without having to timeshare on shared QA infrastructure. This facilitates the test/develop/test lifecycle to continue without interruption. In this talk, we want to retrospectively talk about our approach and have an open discussion on how could tailor to your use case.
Android is a new version of Java that has seen tremendous growth. It now commands nearly 50% of the worldwide mobile market. For developers, this means there is a huge opportunity to build the next big app. Android development can be done natively using Java and the Android SDK or via HTML5. Promoting an app involves testing it on emulators and devices and then submitting it to the Google Play store or hosting it on a web server.
Virtualization, The future of computing (archived)Bud Siddhisena
Virtualization allows multiple operating systems, called virtual machines, to run simultaneously on a single physical computer. It works by emulating or partially emulating the processor, BIOS, and other hardware for the virtual machines. This provides benefits like better hardware utilization, scalability, fault tolerance, and easier deployment (paragraphs 1-4). Popular virtualization technologies include Qemu, KVM, VirtualBox, and VMWare, which emulate x86, ARM, and PowerPC architectures using native CPU instructions or full emulation (paragraphs 5-7). Virtualization saves costs by improving hardware utilization and allowing dynamic scalability. It also improves maintainability, availability, and deployment times (paragraphs 8-10). Para-virtualization requires modifying
While not everyone can build the next big thing, it is possible for anyone to do so with the right mindset and approach. Some key factors for achieving great things include loving what you do, finding mentors, taking risks, believing in yourself, and striving for perfection through deliberate practice while being exposed to many ideas and influences. Success requires convincing both yourself and others through hard work with talented collaborators.
This document provides an overview of using multimedia applications on GNU/Linux, including popular desktop environments, playing digital audio files, ripping and burning CDs/DVDs, playing video files, managing photos and collections, and future possibilities for multimedia. It discusses desktop environments like KDE, GNOME, Fluxbox and XFCE, audio file formats like MP3, Ogg and FLAC, audio and video players like XMMS, Amarok, Xine and Mplayer, ripping and burning tools like KaudioCreator and K3B, and collection managers like Tellico and Digikam.
The document discusses the process of creating a Linux LiveCD, including:
- Understanding the Linux boot process and how it differs for a LiveCD, which loads files directly from the CD.
- How hardware detection works by using tools to identify system components and load appropriate drivers.
- Achieving data persistence on a LiveCD by saving configuration files and user data to external storage like USB drives.
- A short survey of popular Linux LiveCD distributions like Knoppix, Mepis, and SLAX.
When choosing a Linux distribution for gaming, consider the following factors:
- Choose a distribution you are comfortable using that has out-of-the-box hardware detection.
- Consider whether a graphical or text-based installer would work best for your hardware. Graphical installers are more intuitive but may be slower on older machines.
- Look for distributions that provide easy-to-use configuration tools for networking, hardware, and system updates.
- Research the distribution's package management and software availability for graphics drivers, 3D acceleration support, and gaming software like Wine.
- Consider optimizations for disk performance, unwanted services, and lightweight desktop environments for gaming.
This document discusses FOSS (free and open source software) activities in Sri Lanka. It outlines several organizations that support FOSS in Sri Lanka, including LKLUG, LSF, and TLC. It also mentions FOSS.lk and lists some of their activities like international conferences, educational workshops, enterprise conferences, and networking events. The document encourages readers to get involved with FOSS by becoming a user, joining online communities, participating in discussions, organizing events, and contributing to FOSS projects.
The document discusses contributing to free and open source software (FOSS). It defines FOSS as software with four essential freedoms: to run the program for any purpose, study and modify the code, redistribute copies, and release improvements to the public. The document encourages contributing to FOSS to make a difference, gain global exposure, improve skills, and have fun. It outlines how FOSS is developed in a decentralized "bazaar model" with communication over mailing lists and code repositories. Developers gain recognition through technical merit and contributions. The document provides steps for becoming a FOSS contributor from starting as a user to gaining commit access and eventually leading one's own project.
Choosing your GNU/Linux distribution (archived)Bud Siddhisena
This document discusses factors to consider when choosing a GNU/Linux distribution. It outlines key deciding factors such as installer type, hardware support, package management, desktop environments, experience level, support options, and philosophical approach. While there is no single best distribution, the document encourages testing multiple options to find the best fit based on individual priorities and needs.
The document provides tips for simplifying user experience (UX) design, recommending that designers be iterative, let go of backwards compatibility, relate designs to the real world but avoid overdoing skeuomorphism, narrow the target user base to avoid over-complicating designs, accept that simplicity and flexibility require tradeoffs, try new design experiences to encourage creativity, take a stance to avoid mediocre designs that try to please everyone, minimize clutter by questioning whether each element is truly needed, and recognize that UX goes beyond surface-level aesthetics to encompass meaningful expression.
What can we learn from Steve Jobs. Here are some quotes from his life which give an insight to how to be a better person.
Watch presentation being delivered
http://www.youtube.com/watch?v=TnhSHxw2IUA
The need to scale is in high demand in an age where everything is moving to the cloud. Though the standard Apache configuration could handle a website with moderate traffic, the minute it gets slash dotted or twitted multiple times could spell an embarrassing crash landing! If you are the administrator of such a website then good luck finding another job! On the other hand you value high availability in the midst of popularity then read on. On this one day workshop, we will show you how to scale your website and webapps to scale to handle thousands of simultaneous sessions the right way. The topics covered will include:
- Setting up Apache and NGiNXM
- Setting up a sample LAMP web app
- Benchmarking Apache performance
- Fine tuning Apache to improve performance
- Fine tuning NGiNX to improve performance
- Discussion about code level improvements when developing custom webapps using PHP
Introduction to firewalls through IptablesBud Siddhisena
This document provides an introduction to firewalls using Linux iptables. It defines what a firewall and iptables are, describes common firewall usages, and explains how iptables is organized into tables and chains. It also provides examples of basic iptables commands for filtering, connection tracking, logging, and network address translation (NAT). The key points are that iptables is Linux's built-in firewall, it filters and mangles packets across various chains, and examples are given for allowing/denying traffic, NAT, and saving firewall rules.
The document discusses open source software and security. It notes that while open source code being publicly available could enable security vulnerabilities if viewed by malicious actors, open source may also increase security through transparency and many eyes reviewing the code. Studies have found Linux source code to have significantly fewer bugs than closed source commercial software. The document also discusses how transparency, interoperability, and avoiding vendor lock-in have driven many governments to adopt open source solutions for national security and accessibility reasons.
Secure your IT infrastructure with GNU/LinuxBud Siddhisena
Secure your IT infrastructure with GNU/Linux outlines a strategy for migrating core services like email, web, and file sharing to open source alternatives like Postfix, Apache, and Samba. It discusses implementing email servers, clients and antivirus/spam protection with Sendmail, Horde, ClamAV and SpamAssassin. The document also recommends securing services with firewalls like IPTables and SELinux, and replacing proprietary databases, VOIP, and desktop software with open source options like MySQL, PostgreSQL, Asterisk, Thunderbird and OpenOffice. Finally, it suggests using distributions like Ubuntu Server, CentOS or Debian for servers and Ubuntu, Fedora or Open SUSE for desktop clients.
The document provides an overview of configuring the Linux kernel, beginning with definitions of the kernel and reasons for customization. It then covers obtaining kernel sources, compiling the kernel, and configuring kernel options via make config/menuconfig. Key areas covered in configuring include hardware support, filesystems, security, and optimization. Loading and unloading kernel modules is also discussed.
Building a Raspberry Pi Robot with Dot NET 8, Blazor and SignalRPeter Gallagher
In this session delivered at NDC Oslo 2024, I talk about how you can control a 3D printed Robot Arm with a Raspberry Pi, .NET 8, Blazor and SignalR.
I also show how you can use a Unity app on an Meta Quest 3 to control the arm VR too.
You can find the GitHub repo and workshop instructions here;
https://bit.ly/dotnetrobotgithub
1. FOSS Gadgematics
By
Buddhika Siddhisena
Co-Founder & CTO
THINKCube Systems Pvt. Ltd
<bud@thinkcube.com>
Member of LKLUG & FOSS.LK
<bud@babytux.org>
2. Coverage
• Overview of Linux supported devices
• Linux supported Architectures
• Linux device drivers
• Compiling a Linux kernel
• Hardware detection
• Hacking devices to run Linux
2
4. Linux supported Architectures
The Linux kernel can theoretically be ported to any architecture supporting a
Paged Memory Management Unit (PMMU)
Certain non MMU processors are also supported via uCLinux
For the latest list on officially supported architecture
ls /usr/src/linux/arch
4
5. Supports more architectures
FOSS Operating systems supports more cpu
architectures
The small notebook below uses the
Transmita Cruso processor which is
x86 compatible. Linux has
optimizations for the Cruso
processor
Above is a Mac-mini powered by a PPC
processor and below is a ShuttleX
powered by an AMD64 processor. Both
run optimized GNU/Linux and BSD
5
6. Checking what devices are connected to your Linux box
• To manually look at what hardware is available on your machine,
several commands can be used
linux:# lspci -v
linux:# lsusb
• To automatically detect hardware at boot time and load appropriate
kernel module drivers you can install a hardware detection utility such
as kudzu or discover
• To detect hardware as they are hot plugged, such as USB memory
sticks, cameras and printers you can run the hotplug service
(deprecated, uses hald wih dbus instead).
linux:# /etc/init.d/hotplug start
• More recently hald/dbus has replaced hotplug as a way of dynamically
loading device drivers and notifying applications of hardware changes
via a message bus.
6
7. Manually loading Linux device drivers
• Device drivers on Linux are implemented at a kernel level
• Device Drivers can be compiled directly in to the kernel or as a
loadable module.
• To list modules that are currently loaded you can issue
#lsmod
• To list available modules (compiled) for the current kernel
#modprobe -l
• To get a small description about a module ...
#modinfo radeon
• To load a kernel module driver manually
#modprobe radeon
• To load a kernel drive automatically as the machine boots consider
adding it to /etc/modules.conf (2.4) or /etc/modprobe.conf (2.6)
7
9. Unconventional Installation - USB/SD/MMC
Unconventional Installations Methods
•“There are several mini
distros that can be installed on
USB pen drives or CF/SD
cards”
Ex:
•DSL (Damm Small Linux)
•SLAX
•Puppy
9
10. Unconventional Devices
Unconventional Devices
iPAQ running
Linux
X – Box
running Linux
Gumstick
computer
running Linux
Phones running
Linux
PlayStation
running Linux
iPOD running
PSP running Linux
FOSS apps
10
11. FOSS based gadgets
Nokia 770 runs on a flavour of
Debian GNU/Linux and is open
to developers to build
applications
http://opensource.nokia.com/
http://www.nokiausa.com/770
GP2X runs on Linux and
is open to developers to
build applications
http://wiki.gp2x.org/wiki/Main_Page
11