Crossbow - Current and Future work
Key Features Integrated in Nevada build 105 (Dec 4th, 2008) and available in the next release of OpenSolaris:
- Performance & latency improvements
- Dynamic Polling and H/W Classification
- HW and S/W fanouts to multiple cores
- Parallelizing the stack all the way from HW to application
- Virtualization
- Virtual Wire(TM) - Ability of create Network in a Box
- NIC Virtualization - HW and S/W based VNICs
- Etherstubs (Virtual Switches)
- Service Virtualization - Flows
- IP Instances for Zones
- Resource partitioning
- Bandwidth partitioning for NICs/VNICs/Flows
- CPU resource and priority assignment on per datalink (NIC/VNIC/Aggr) bassis
- Class of Service support based on Diffserv tags (DSCP)
- Flows
- Based on IP addresses, IP Subnets, Transport and ports
- Bandwidth control and priority for Flows
- Analytics/Observability
- Real Time usage for flows and datalinks
- Usage history for flows and datalinks
- Fine grained, per link statistics like packets received via
intr/poll, chain lengths, Tx block/wakeup count etc.
(Currently tracked by the kernel on per datalink/flow bassis
and available from 'mdb' macros such as 'mac_flow' and 'mac_srs').
Ongoing work:
- Performance Improvement
- Datapath streamlining (including forwarding performance)
- NUMA awareness and thread placement
- Aggressive leveraging HW features like L3/L4 classification
- APIs
- Publish stable GLDv3 APIs
- Publish MAC Client API (evolving)
- Management libraries (libdladm and libflowadm)
- Socket options for per connection SLA
- PF_PACKET port to Crossbow
- Virtualization
- Virtual Wire(TM) enhancements
- Complete Crossbow as a common architecture for all Virtualization
- IOV and Direct I/O
- HW based switching
- Finer grained control over HW resource assignment
- Enhanced Zone integration
- Analytics/Observability/Management
- dlstat(1M) and flowstat(1) for fine grained runtime statistics, capacity planning and network wide analysis, billing, and metering
- Network shell - netsh(1): A network config/mgmt shell similar to used by common routers and switches
Future Work:
- Guarantees
- Dynamic resource assignment based on current usage
- Advanced NIC features like header/data split etc
- Support of Real time flows/capabilities
- Inter VNIC communication fastpath
- Deep packet inspection/classification
on 2009/10/26 12:13