Question: What are the basic primitives in routers that would be useful for pushback and/or local ACC? Detecting the aggregate: * Primitive: Mechanisms for random sampling the traffic. Why: to get a sample of packets for detecting aggregates. Status: Some routers have access to the packet stream for random sampling. Alternate primitives: An alternate primitive would be filtered sampling of some fraction of the traffic, sent to an off-line box. * Primitive: Drop sampling, or mechanisms for saving headers of dropped packets. Why: to get a sample of drops for detecting aggregates. Status: Current routers generally can't do this. Determining which input interfaces the aggregate comes in on: * Primitive: Tagging packets with the ingress interface. Why: to determine which upstream routers should be sent pushback requests. Status: Many routers do this. * Primitive: Access to routing tables. Why: to narrow the congestion signature to send in the upstream request. Status: This is easy. This is in software. Routers can do this. Rate-limiting the aggregate: * Primitive: Rate-limiting an aggregate before the output queue. Why: to carry out rate-limiting of the aggregate. Status: Many routers can do this now, in some form. * Primitive: Rate-limiting two different aggregates, with two different rates. Why: to carry out rate-limiting for multiple independent aggregates. Status: Many routers can do this also. * Primitive: Rate-limiting the aggregate at the input interface? Why: This could be useful at a border router where the pushback request could not be propagated upstream. Status: - Sally Floyd, March 2001 (From the pushback team.)