| R. Morris, E. Kohler, J. Jannotti, and M. F. Kaashoek. The Click modular router. In Proceedings of the 17th ACM Symposium on Operating Systems Principles (SOSP '99), pages 217--231, Kiawah Island, South Carolina, December 1999. |
....to zoom in into component and connector level. DiPS o ers three component communication mechanisms. First, the basic mechanism is forwarding packets between components via connectors. From such a pipe and lter architectural view point, DiPS can best be compared with the Click modular router [15]. Second, DiPS packets can be annotated with so called metainformation which can be inspected by other components. This results in a blackboard communication architecture for anonymous inter component communication. Finally, DiPS supports event based communication through speci c event ....
R. Morris, E. Kohler, J. Jannotti, and M. F. Kaashoek. The click modular router. In Proceedings of Symposium on Operating Systems Principles 1999.
....512 MB 7 500 1000 1500 2000 2500 0 200 400 600 800 1000 1200 1400 1600 time (sec) flow from remote LAN to UPENN test network Figure 5: Measuring one way delay between two networks memory, OpenBSD 2. 9 operating system except for the monitoring capacity experiments where we used the Click [19] code under Linux 2.2.14 on the sending host. The FLAME system, as well as the host shown above the switch use the Intel PRO 1000SC Gigabit NIC. The hosts below the switch have Alteon Acenic Gigabit NICs. The host router in the remote LAN is a 1 GHz Intel Pentium III and connects several hosts ....
Robert Morris, Eddie Kohler, John Jannotti, and M. Frans Kaashoek. The click modular router. In Symposium on Operating System Principles, pages 217--231, 1999.
....in massive, unstructured protocol stacks that are very hard to adapt. As a methodology for creating maintainable and customizable protocol stacks, a pipelined architectural style [4] has been proposed. Examples of pipeline protocol stack architectures are NetScript [1] Scout [14] and Click [13]. Such architecture forces a programmer to define basic protocol stack entities (called components) that process incoming packet streams. These components are plugged one after the other to create a functional system (such as a protocol stack) 2.2 Anonymous interaction model Additionally, ....
R. Morris, E. Kohler, J. Jannotti, and F. Kaashoek. The Click modular router. In Proceedings of the 17th ACM Symposium on Operating Systems Principles (SOSP '99), pages217-231, Kiawah Island, South Carolina, December 1999.
....are very common, such CAMs have smaller density than standard memories, dissipate more power, and require multiple entries to handle rules that specify ranges. Thus CAM solutions are still expensive for very large rule sets of say 100,000 rules, and are not practical for PC based routers [8]. Solutions based on caching [14] do not appear to work well in practice because of poor hit rates and small ow durations [12] and still need a fast classi er as a backup when the cache fails. Another practical solution is provided by a seminal paper that we refer to as the Lucent bit vector ....
R. Morris E. Kohler J. Jannotti and M. F. Kaashoek. The click modular router. In Proceedings of the 17th ACM Symposium on Operating Systems Principles, december 1999.
....TCP flag bits as part of the filter, a gateway program may for example receive all connection setup packets (with the SYN flag set) on a particular flow, but allow all established connections to be processed within the kernel router. Router plugins [Decasper98] and the Click router toolkit [Morris99] have been proposed to support a similar but lower level functionality in an extensible router, with modules implemented for various functions that a router may be required to perform, and connections set up between modules and the underlying platform. PAN [Nygren99] supports an active ....
....be passed to the video display module in order to be viewed by the user. The path mechanism in Scout allows modules to register interfaces; these interfaces may be used to connect modules together to form paths; this is similar to (but more extensible than) the connectable modules used by Click [Morris99] A router graph is generated to identify valid configurations of connected modules. By associating a particular level of resources with a path rather than with a network subsystem or the video display subsystem Scout attempts to o#er guarantees to particular activities. A further advantage ....
Robert Morris, Eddie Kohler, John Jannotti, and M. Frans Kaashoek. The Click Modular Router. In SOSP [SOS99], pages 217--231. (pp 27, 35) 179
....of THINK components across protection domains or networks. THINK does not employ wholeprogram optimization and relies on dynamic dispatch. We do not believe this model, with its associated runtime cost, is appropriate for network embedded systems. Other component oriented systems include Click [36], Scout [37] and the x kernel [17] These systems are more specialized than nesC and do not support wholeprogram optimization (apart from several optimizations in Click [24] or bidirectional interfaces. Traditional real time and embedded operating systems, such as VxWorks [51] QNX [42] and ....
R. Morris, E. Kohler, J. Jannotti, and M. F. Kaashoek. The Click Modular Router. In Proceedings of the ACM Symposium on Operating Systems Principles (SOSP), pages 217--231, 1999.
....that perform parallel linear search (e.g. 4] Such hardware solutions do not scale to large filter databases. Other solutions reported in literature that can be implemented in software (e.g. 9, 5] are either slow or take too much storage. With the advent of software based routers (e.g. [7]) which are typically aimed at the edge router space where classification is particularly important, it is necessary to find software techniques for fast firewall implementations. There is evidence that the general filter problem is a hard problem, and requires either O(N ) memory or #( log ....
R. Morris, E. Kohler, J. Jannotti, M. F. Kaashoek. The Click Modular Router. In 17th ACM Symposium on Operating Systems Principles, Dec. 1999.
....technique is termed hybrid because of the combination of dynamic and static methods. We have developed a prototype of the key parts of hybrid resource control in an environment for active extensions, called RBClick, Resource Bounded Click. RBClick is an extension of the Click modular router [4], implemented in Janos, an active network operating system [5] that was originally designed to achieve resource control only through sandboxing. Active extensions in RBClick are Click graphs involving both trusted and untrusted elements. Trusted elements are taken from a base version of Click, ....
....programming language need not be overly constrained. For example, the restrictions we impose in RBCyclone in section IV C, are not too constraining for many interesting classes of active extensions. To support this argument, we manually studied all the elements of a particular version of Click [4] and found that all elements can be statically bounded in their resource usage. More details of this study are discussed in section V. IV. RESOURCE BOUNDED CLICK RBCLICK In this section, we present the design of RBClick, an active network environment for best effort active extensions, which ....
[Article contains additional citation context not shown here]
R. Morris, E. Kohler, J. Jannotti, and M. F. Kaashoek, "The Click modular router," in Proceedings of the 17th ACM Symposium on Operating Systems Principles, 1999, pp. 217--231.
....of [6] that prevents misbehaving or runaway extensions from compromising the router kernel, while keeping protection domain crossing overhead to the minimum. In addition to memory protection, Panama also supports performance isolation through real time packet computation scheduling. Click [15] is a recently proposed modular software architecture for routers based upon general purpose PCs. Two important features of this architecture are pull processing and flow based router context. Pull processing decouples the source and the sink of a packet forwarding path by allowing the sink to ....
R. Morris, E. Kohler, J. Jannotti, M. F. Kaashoek; "The Click Modular Router"; Proc. ACM SOSP 1999.
....a Proboscis a data access path to a storage device. The current set of code modules allows a node in the cluster to construct Proboscises that provide access to a remote storage device as a local storage device. Presently, the framework does not support dynamic reconfiguration. Previous research [27, 26] has shown that modular approaches can be efficient, and as the Proboscis extensions are coarsegrained, e.g. an access control extension, the overhead due to modularity is low. The current extensions implement a block based view of the storage devices, but other views, e.g. object based ....
R. Morris, B. Kohler, J. Janotti, and M. F. Kaashoek. The Click modular router. In Proc. of the 17th Symposium on Operating Systems Principles, pages 217--231, Dec. 1999.
....to help structure kernel functionality, namely a resource management framework and a communication framework. The resource management framework is original, whereas the communication framework is inspired by the x kernel [11] Other operating system level component based frameworks include Click [18], Ensemble [15] and Scout [19] These frameworks, however, are more specialized than THINK or OSKit: Click targets the construction of modular routers, Ensemble and Scout target the construction of communication protocol stacks. We thus believe that THINK is unique in its introduction and ....
R. Morris, E. Kohler, J. Jannotti, and M. F. Kaashoek. The Click Modular Router. In SOSP'99 [30].
....ISPs often require their equipment to be flexible and easily upgradable for instance, ready to work with IPv6 which is why a programmable non ASIC approach in building IP routers wins. 2. 4 Software Routers on General Purpose Processors Another approach was explored in the Click Router [14, 10]. The idea was to build a software router running on a general purpose architecture that would be flexible, configurable, and cheap. Unfortunately, conventional general purpose processors do not provide enough of input output bandwidth to carry out multigigabit routing, which is why most fast ....
Robert Morris, Eddie Kohler, John Jannotti, and M. Frans Kaashoek. The Click Modular Router. In Proceedings of the Symposium on Operating Systems Principles, pages 217--231, 1999.
....Networks Summit 1i switch. The switch provides port mirroring to allow any of its links to be monitored by the FLAME system on one of the PCs. All PCs are 1 GHz Intel Pentium III with 512 MB memory, OpenBSD 2. 9 operating system except for the monitoring capacity experiments where we used the Click [21] code under Linux 2.2.14 on the sending host. The FLAME system, as well as the host shown above the switch use the Intel PRO 1000SC Gigabit NIC. The hosts below the switch in Figure 3 have Alteon Acenic Gigabit NICs. The host router in the remote LAN is a 1 GHz Intel Pentium III and connects ....
R. Morris, E. Kohler, J. Jannotti, and M. F. Kaashoek. The click modular router. In Proceedings of the 17th ACM Symposium on Operating System Principles (SOSP), pages 217--231, December 1999. 11
....forwarding through a standard Linux kernel. Additionally, the Netfilter infrastructure adds a lot of unnecessary overhead to the forwarding process. A soft switch prototype would be better implemented in an infrastructure designed for high throughput such as MIT s Click Modular Router Project [21]. Among other things this would remove copies from the forwarding process and improve performance through intelligent event notification and streamlined packet handling. Recent versions of Click have shown good scalability on SMP systems with performance approaching 500,000 packets second [22] ....
R. Morris, et al., The Click Modular Router, In 17th Symposium on Operating Systems Principles, 1999.
....Networks Summit 1i switch. The switch provides port mirroring to allow any of its links to be monitored by the FLAMEsystem on one of the PCs. All PCs are 1 GHz Intel Pentium III with 512 MB memory, OpenBSD 2. 9 operating system except for the monitoring capacity experiments where we used the Click [20] code under Linux 2.2.14 on the sending host. The FLAME system, as well as the host shown above the switch use the Intel PRO 1000SC Gigabit NIC. The hosts below the switch in Figure 2 have Alteon Acenic Gigabit NICs. The host router in the remote LAN is a 1 GHz Intel Pentium III and connects ....
R. Morris, E. Kohler, J. Jannotti, and M. F. Kaashoek. The click modular router. In Symposium on Operating System Principles, pages 217--231, 1999.
....data placement policies. To allow a wide range of le systems to be implemented on top of the Proboscis infrastructure, a Proboscis is a modular structure constructed from an extensible library of coarse grained code modules. The results from projects such as Scout [9] and the Click modular router [10] show that modular approaches can be ecient. In a storage I O system, the bulk of the data communication concerns the movement of data between clients and disks. In the Proboscis framework, the question of when to commit memory resources for a I O request on a given node is complicated by two ....
R. Morris, B. Kohler, J. Janotti, and M. F. Kaashoek, \The Click modular router," in Proceedings of the 17th Symposium on Operating Systems Principles, Dec. 1999, pp. 217-231.
....configuration support. For more details on these systems see [12] Using components in focused domains has been successful. For example, there are tools and components for building avionics systems. There are also systems for creating network protocols such as Coyote [5] the click modular router [25], and Ensemble Nuprl [21] The success of these systems lies in the ability to focus on a specific area. This permits better control over problems such as understanding dependencies and avoiding the explosion of the numbers and variants of components. To date, the closest system to match our ....
Morris R., Kohler E., Jannotti J., and Kaashoek M. (1999), The Click Modular Router, SOSP, Vol. 33, No. 5.
.... send( etc through the proc interface [6] Thus, we could run applications completely unmodi ed, similar to the Ufo global le system [1] Finally, it would be interesting to develop a declarative speci cation for control handling in Service Sockets in the spirit of the Click modular router [18]. Such a speci cation could enable the Service Sockets framework to reason about the correctness of the control ow, obviating the need for complex explicit assertions about the internal state of an S socket, especially when the number of components increases. ....
R. Morris, E. Kohler, J. Jannotti, and M. F. Kaashoek. The Click Modular Router. In Proceedings of the 17th ACM SOSP, 1999.
....of memory and therefore improve packet loss performance at the time of congestion. They are also the superb choice for situations where the configuration of the router needs to be modified, since they are usually controlled by software and can be reprogrammed (for a software oriented router see [6]) There are a number of different memory sharing schemes and optimum buffer sharing with FIFO tail droppingpolicy presented in the literature [4] 5] Complete Partitioning (CP) In this scheme the total memory is partitioned into fixed buffers each dedicated to a different queue. Regarding the ....
R. Morris, E. Kohler, and J. Jannotti, and m. F. Kaashoek, "The click modular router", ACM Transactions on Computer Systems, August 2000.
....on the standard event driven design have been proposed to counter the problems outlined above. A common aspect of these designs is to structure an event driven application using a set of event queues to improve code modularity and simplify application design. The Click modular packet router [40] is one such example. In Click, packet processing stages are implemented by separate code modules with their own private state. Click is optimized to improve per packet latency through the router, allowing a single thread to call directly through multiple packet processing stages. This design is ....
R. Morris, E. Kohler, J. Jannotti, and M. F. Kaashoek. The Click modular router. In Proc. 17th ACM Symposium on Operating Systems Principles (SOSP '99), pages 217--231, Kiawah Island, South Carolina, December 1999.
....by queues. In this case, the goal is to maximize processor cache locality by carefully scheduling threads and events within the application. By aggregating the execution of multiple similar events within a queue, locality is enhanced leading to greater performance. The Click modular packet router [19] and the Scout operating system [20] use a software architecture similar to that of SEDA; packet processing stages are implemented by separate code modules with their own private state. Click modules communicate using either queues or function calls, while Scout modules are composed into a path ....
R. Morris, E. Kohler, J. Jannotti, and M. F. Kaashoek. The Click modular router. In Proceedings of the 17th ACM Symposium on Operating Systems Principles (SOSP '99), pages 217--231, Kiawah Island, South Carolina, December 1999.
....provision for incorporating new code, and may still be limited in some cases, as described in 1.1.3. This approach is not unlike other specialpurpose updating approaches, as in SPIN [BSP 95] and dynamic protocol architectures, including active networks [HN00] the Click Modular Router [MKJK99] and others. There is a lot of interest in so called software components, defined by systems like COM [com01] and CORBA [cor01] Components are more application independent than typical dynamically loadable libraries in that they contain information to allow an application to query their ....
Robert Morris, Eddie Kohler, John Jannotti, and M. Frans Kaashoek. The Click modular router. In Symposium on Operating Systems Principles, pages 217--231, 1999.
....the problems raised by ad hoc and adaptive applications. Many systems have been built to enable applicationspeci c composition. Some of the more successful examples, including the Click modular router and the Rivers system for performing database queries, already follow many of our guidelines [14, 4]. Though our framework is obviously not appropriate for all domains of applications, we have attempted to design a more general purpose composition framework. Tuple spaces follow many of our principles, but because they do not explicitly support composition of services, we do not consider tuple ....
Robert Morris, Eddie Kohler, John Jannotti, and M. Frans Kaashoek. The Click modular router. In 17th Symp. on Operating Systems Principles (SOSP'99), Ki-awah Island, SC, 1999. ACM.
....cache locality benefits of this approach. In the case of SEDA, the focus is on high concurrency, load conditioning, and ease of use. We view SEDA and StagedServer as two sides of the same coin, and intend to draw on the lessons learned from the StagedServer design. The Click modular packet router [30] uses a software architecture which is similar to our framework; packet processing stages are implemented by separate code modules with their own private state. Click modules communicate using either queues or function calls. Click is optimized to improve perpacket latency through the router, ....
R. Morris, E. Kohler, J. Jannotti, and M. F. Kaashoek. The Click modular router. In Proceedings of the 17th ACM Symposium on Operating Systems Principles (SOSP '99), pages 217--231, Kiawah Island, South Carolina, December 1999.
....the question of what programming model a software router should support. These include what API to use, how to best distribute new code, who should be allowed to install new code, how to ensure the security of the system, and so on. We have addressed many of these same issues, as have others [1, 4, 11, 14, 16, 19], but we do not consider them further in this paper. This paper makes two contributions. First, it describes the relevant features of a software based router that combines support for both QoS and extensibility (Section 2) Second, it discusses three problems we tripped over as we gained ....
....a thread yields or suspends. A thread that yields maintains no state; it always resumes execution with the next packet in the process s input queue. This allows us to avoid saving 4 registers between runs of the same thread. We use a Tulip driver from MIT that was tuned for their Click router [11]. This driver places the card in auto transmit mode; in this mode, the transmit process on the device polls the DMA queue, saving I O commands. The driver also performs specialized buffer management and prefetching. 2.3 Performance We conclude our description of the base system by reporting a ....
[Article contains additional citation context not shown here]
R. Morris, E. Kohler, J. Jannotti, and M. F. Kaashoek. The Click Modular Router. In Proceedings of the 17th ACM Symposium on Operating Systems Principles, pages 217--231, December 1999.
.... to filter packets, translate addresses, make level n routing decisions, broker quality of service (QoS) reservations, thin data streams, run proxies, support computationally weak home electronic devices, serve as the front end to scalable clusters, and support application specific virtual networks [1, 3, 5, 7, 8, 10, 12]. The question, then, is how much computation can we expect to perform on each packet, given some fixed packet rate. This section considers this question for the 8 100Mbps Ethernet ports on the evaluation board. 4.1 Processor Hierarchy In revisiting the block diagram for the IXP1200 presented ....
R. Morris, E. Kohler, J. Jannotti, and M. F. Kaashoek. The Click Modular Router. In Proceedings of the 17th ACM Symposium on Operating Systems Principles, pages 217--231, December 1999.
....S are both less than Q, the attacker will try to generate a bandwidth higher than Q for as many di erent subnets as possible. Section 4.7 deals with memory exhaustion attacks in a quantitative context. 25 26 Chapter 4 Implementation of MULTOPS 4. 1 Click A MULTOPS is implemented as a Click [18] element. Click is a modular software router architecture developed at the MIT Laboratory for Computer Science. A Click router is an interconnected collection of modules called elements. Each element performs a simple, straightforward task such as communicating with devices, queueing packets, and ....
Robert Morris, Eddie Kohler, John Jannotti, and M. Frans Kaashoek. The Click modular router. In Proceedings of the 17th ACM Symposium on Operating Systems Principles (SOSP '99), pages 217-231, Kiawah Island, South Carolina, December 1999.
....promises to forward certain packets at some sustained bit rate clearly makes the issue of scheduling a router s CPU cycles more difficult, and (2) functionality must be added to routers without seriously compromising improvements in performance. Even though active programmable extensible routers [1, 7, 15, 18, 20, 23] have received considerable attention recently, it is certainly not fair to say that conventional routers ignore the possibility that there are multiple paths through the router, some involving more computation than others. A conventional commercial router may have as many as half a dozen ....
....unused cycles efficiently. When overloaded or under attack, the system has to make a fundamental tradeoff between losing efficiency and not fulfilling the promises made to a flow. 5 Related Work There have recently been several efforts to define extensible architectures for network routers [1, 7, 15, 18, 20, 23], although none have directly addressed the issue how the router should schedule these computations. Of these, our approach to scheduling would apply most naturally to router plugins [7] and active flows [20] both of which segregate work early. With router plugins, for example, it would be very ....
[Article contains additional citation context not shown here]
R. Morris, E. Kohler, J. Jannotti, and M. F. Kaashoek. The Click modular router. In Proceedings of the 17th ACM Symposium on Operating Systems Principles, pages 217--231, December 1999.
....the configuration stage. Knit s primary target application is the OSKit, a collection of components for building custom operating systems and extending existing systems. Knit is not OSKit specific, however. As an additional example for Knit, we implemented part of MIT s Click modular router [25] in terms of Knit components, showing how Knit can help express both Click s component implementations and its linking language. In the following sections we explain the problems with existing linking tools (Section 2) and present our improved language (Section 3) including its constraint system ....
....chain of constraints that demonstrates the source of the problem. 5 Experience So far, we have applied Knit to two different sets of components: 1) the OSKit [10] a large set of components that includes many legacy components, and (2) a partial implementation of the Click modular router [25], comprising a few new and cleanly constructed components. As reported in the following sections, our experience has been positive, but with two caveats. First, the current implementation of Knit is a prototype, and the only users to date are its implementors. Second, even the implementors are ....
[Article contains additional citation context not shown here]
R. Morris, E. Kohler, J. Jannotti, and M. F. Kaashoek. The Click Modular Router. In Proc. of the 17th ACM Symposium on Operating Systems Principles, pages 217-- 231, Dec. 1999.
....see an output rate equal to their reservation. eliminating receive interrupts. These issues do not seem to be the thrusts of [18] Though it seems possible, it has not been explicitly mentioned how state (or equivalently, non reentrant, stateful functions) may be shared between paths. Click [19] recently proposed a composable framework for a router s computational framework. However, an explicit flow abstraction is not supported and the issue of scheduling computation is not addressed. Control flow takes place either through synchronous invocations, or queues may be interposed in the in ....
R. Morris, E. Kohler, J. Jannotti, M. F. Kaashoek; "The Click Modular Router"; Proc. ACM SOSP 1999.
....in a generic way to denote any system whose primary responsibility to is forward packets from one network device to another. This does not imply that the fast path through high end routers at the core of the Internet should be programmable. Even though active programmable extensible routers [1, 7, 15, 18, 20, 23] have received considerable attention recently, it is certainly not fair to say that conventional routers ignore the possibility that there are multiple paths through the router, some involving more computation than others. A conventional commercial router may have as many as half a dozen ....
....a thread yields or suspends. A thread that yields maintains no state; it always resumes execution with the next packet in the process s input queue. This allows us to avoid saving registers between runs of the same thread. We use a Tulip driver from MIT that was tuned for their Click router [15]. This driver places the card in auto transmit mode; in this mode, the transmit process on the device polls the DMA queue, saving I O commands. The driver also performs specialized buffer management and prefetching. 3.2 Policy Issues There are several policy issues regarding how a programmable ....
[Article contains additional citation context not shown here]
R. Morris, E. Kohler, J. Jannotti, and M. F. Kaashoek. The Click Modular Router. In Proceedings of the 17th ACM Symposium on Operating Systems Principles, pages 217--231, December 1999.
....of [16] that prevents misbehaving or runaway extensions from compromising the router kernel, while keeping protection domain crossing overhead to the minimum. In addition to memory protection, Xrouter also supports performance isolation through real time packet computation scheduling. Click [27] is a recently proposed modular software architecture for routers based upon general purpose PCs. Two important features of this architecture are pull processing and ow based router context. Pull processing decouples the source and the sink of a packet forwarding path by allowing the sink to ....
R. Morris, E. Kohler, J. Jannotti, M. F. Kaashoek; "The Click Modular Router"; Proc. ACM SOSP 1999.
....also require associated changes at the system level. 2 Focussed domains have also produced component based solutions. For example, there are tools and components for building avionics systems. There are also systems for creating network protocols such as Coyote [5] the click modular router [23], and Ensemble Nuprl [19] The success of these systems lies in the ability to focus on a specific area. This permits better control over problems such as understanding dependencies and avoiding the explosion of the numbers and variants of components. We believe that OSs for embedded systems is ....
Morris R., Kohler E., Jannotti J., and Kaashoek M. (1999), The Click Modular Router, SOSP, Vol. 33, No. 5.
....threaded and event driven programming models. Banga et al. 2] suggest changes to the UNIX system call interface to better support event driven applications, and scheduler activations [1] can be used to reduce the cost of kernel based thread implementations. The Click modular packet router [19] uses a software architecture which is similar to our framework; packet processing stages are implemented by separate code modules with their own private state. Click modules communicate using either queues or function calls, so threads can cross module boundaries. Click is a domain specific ....
Robert Morris, Eddie Kohler, John Jannotti, and M. Frans Kaashoek. The Click modular router. In Proceedings of the 17th ACM Symposium on Operating Systems Principles (SOSP '99), pages 217--231, Kiawah Island, South Carolina, December 1999.
....that they may be protected more efficiently by SFI than by hardware fault isolation. On the issue of component granularity, one way to amortize the portal call cost is by batching requests. We are planning to experiment with a very fine grained architecture similar to the Click modular router [Morris99] in order to investigate this idea. 4.4 Sharing Memory Pebble can eliminate data copying by selectively sharing VM pages between components running in separate protection domains. Each shared memory page in Pebble has an access vector, which specifies the protection domains that can access it. ....
....shapers and droppers [Blake98] Future needs may necessitate the adoption and deployment of services, which will require extensible router architectures. Current proposals for modular router architectures can be augmented with safety at the appropriate granularity using Pebble mechanisms. Click [Morris99] is a flexible, modular software architecture for building routers. Click s building blocks are packet processing modules (called elements) Click s elements perform some routing functions, and they are connected into a graph. An example graph could be a diffserv edge router built by combining ....
R. Morris et al. The Click Modular Router, In Proceedings of the 17th SOSP, pages 217-231, December 1999.
....Furthermore, the use of fine grained components with simple specifications can make a system easier to understand. Because of its requirements for flexibility and extensibility, and its di#culty, networking software has been a popular field for the application of component techniques [6, 8, 9, 11, 13, 15]. Networks get faster at an even greater rate than processors, however, making the e#ciency of networking software ever more important. Even as component systems make networking software easier to program, component techniques introduce ine#ciencies that monolithic softPermission to make digital ....
....the cost of communication between components. Dead code elimination, instruction or component selection, and inlining also have obvious applications. Starting from this principle, we have developed several optimizers for Click, a system for building extensible routers from modular components [11]. The optimizers read Click router configurations on standard input, analyze and transform them in various ways, and write the optimized configurations to standard output. They are thus easily combined, much like compiler optimization passes, but unlike compiler optimization passes, they work ....
[Article contains additional citation context not shown here]
Robert Morris, Eddie Kohler, Benjie Chen, John Jannotti, and M. Frans Kaashoek. The Click modular router. ACM Trans. Computer Systems, 18(3):263--297, August 2000.
....from S are both less than Q, the attacker will try to generate a bandwidth higher than Q for as many different subnets as possible. Section 4.7 deals with memory exhaustion attacks in a quantitative context. 26 Chapter 4 Implementation of MULTOPS 4. 1 Click A MULTOPS is implemented as a Click [18] element. Click is a modular software router architecture developed at the MIT Laboratory for Computer Science. A Click router is an interconnected collection of modules called elements. Each element performs a simple, straightforward task such as communicating with devices, queueing packets, and ....
Robert Morris, Eddie Kohler, John Jannotti, and M. Frans Kaashoek. The Click modular router. In Proceedings of the 17th ACM Symposium on Operating Systems Principles (SOSP '99), pages 217--231, Kiawah Island, South Carolina, December 1999.
....checks that con90 nections are valid, and puts the router on line; it also manages the task queue. Timers. In the kernel driver, Click timers are implemented with Linux timer queues. On Intel PCs, these have .01 second resolution. 7. 1 polling and device handling The original Click system [29] shared Linux s interrupt structure and device handling; our goal was to change Linux as little as possible. However, interrupt overhead and device handling dominated that system s performance, consuming about 4.8 and 6.7 s respectively of the total of 13 s required to forward a packet on a 700 ....
Robert Morris, Eddie Kohler, John Jannotti, and M. Frans Kaashoek. The Click modular router. In Proc. of the 17th ACM Symposium on Operating Systems Principles (SOSP), pages 217--231, December 1999.
....In the Linux kernel, Click packet objects are equivalent to sk buffs (Linux s packet abstraction) Timers. In the Linux kernel, Click timers are implemented with Linux timer queues, which on Intel PCs have .01 second resolution. 5. 1 Polling and device handling The original Click system [Morris et al. 1999] shared Linux s interrupt structure and device handling; our goal was to change Linux as little as possible. However, interrupt overhead and device handling dominated that system s performance, consuming about 4.8 and 6.7 s respectively of the total of 13 s required to forward a packet on a 700 ....
Morris, R., Kohler, E., Jannotti, J., and Kaashoek, M. F. 1999. The Click modular router. In Proc. of the 17th ACM Symposium on Operating Systems Principles (SOSP) (Dec. 1999), pp. 217--231.
No context found.
R. Morris, E. Kohler, J. Jannotti, and M. F. Kaashoek. The Click modular router. In Proceedings of the 17th ACM Symposium on Operating Systems Principles (SOSP '99), pages 217--231, Kiawah Island, South Carolina, December 1999.
No context found.
R. Morris, K. E., J. Jannoti, and M. Kaashoek. The Click Modular Router. In 17th ACM Symposium on Operating Systems Principles (SOSP'99), Charleston, SC, USA, December 1999.
No context found.
R. Morris, E. Kohler, J. Jannotti, and M. F. Kaashoek. The Click modular router. In Proceedings of the 17th ACM Symposium on Operating Systems Principles (SOSP '99), pages 217--231, Kiawah Island, South Carolina, December 1999.
No context found.
R. Morris, E. Kohler, J. Jannotti, and M. F. Kaashoek. The Click modular router. In Proceedings of the 17th ACM Symposium on Operating Systems Principles, pages 217--231, Dec. 1999.
No context found.
R. Morris, E. Kohler, J. Jannotti, and M. F. Kaashoek. The Click Modular Router. In Proceedings of the Symposium on Operating Systems Principles, pages 217--231, 1999.
No context found.
R. Morris, E. Kohler, J. Jannotti and M. F. Kaashoek, "The Click modular router", In Proc. 17-th Symposium on Operating Systems Principles, pages 217-231, 1999.
No context found.
R. Morris, E. Kohler, J. Jannotti, and M. F. Kaashoek. The Click modular router. In Proceedings of the 17th ACM Symposium on Operating Systems Principles, pages 217--231, Dec. 1999.
No context found.
Robert Morris, Eddie Kohler, John Jannotti, and M. Frans Kaashoek. The Click modular router. In Symposium on Operating Systems Principles, pages 217-231, 1999.
No context found.
Robert Morris, Eddie Kohler, John Jannotti, and M. Frans Kaashoek. The click modular router. In Proceedings of the Seventeenth ACM Symposium on Operating Systems Principles, pages 217--231, Kiawah Island, SC, U.S.A., December 1999. ACM SIGOPS. 156.
No context found.
R. Morris, E. Kohler, J. Jannotti, and M. F. Kaashoek. The Click modular router. In Proceedings of the 17th ACM December 1999.
No context found.
Robert Morris, Eddie Kohler, John Jannotti, and M. Frans Kaashoek. The click modular router. In Proceedings of the 17th ACM Symposium on Operating System Principles (SOSP), pages 217-231, December 1999.
First 50 documents Next 50
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC