#ident "@(#)issues 1.12 08/08/20 SAC" PSARC/2006/357 Crossbow - Network Virtualization and Resource Partitioning Inception issues: ---------------- djr-01 how do flows relate to squeues, if they do? Do they share squeues or? Answer: See commitment materials. Section titles: Key data structures and their relationship. djr-02 the materials mention configuring "many interfaces" - how does this scale? O(N), O(N^2) or...? Answer: O(N). djr-03 what are the plans for providing observability to the switch engine? Answer: kstats for the number of bytes and packets received, sent, also dropped because of bandwidth exceeding. kstats per flow and per link. dladm show-usage and flowadm show-usage report similar information for historic data. djr-04 are there any plans for dtrace sdt probes? Answer: Yes. Sprinkled all over the code. None is exposed as an interface though. djr-05 will statistics be provided through kstats as well as flowadm? Answer: Yes. djr-06 why is libdladm the only library associated with flowadm? what connection does a flow defined using layer 3 or 4 or both have to do with the datalink layer? - if that is managed through libdladm, if it isn't then why isn't there a seperate library in the diagram? Answer: At an early phase of the project, the team exposed libflowadm along side with libdladm. Both shared the same code for parsing the same properties. It made sense to consolidate them. The team is following with a phase II that includes the exposure of a set of APIs. Phase II will likely re-organize some of the contents of the libraries. djr-07 layer3/4 classification in layer2 (MAC) seems like an architectural mistake (from a purist perspective) Answer: Yes, there is crossb-layers reach out. The identification of per-flow lanes as low in the stack as possible is at the essence of Crossbów´s architecture. Phase II will reach deeper to leverage advanced NICs ability to classify based on L3 and L4 in hardware. seb-01 Is there a technical reason why removing the "PPA hack" support from GLDv3 is being done as part of this project? Is implicit link creation at open(9e) time generally harder to do with the Crossbow architecture? Answer: The PPA hack was a hack and Clearview UV wouldve been a good opportunity to deprecate it, while introducing dladm create-vlan. We would have to write code to fully support the hack, and the project team believes it should not invest resources to keep this hack alive. ged-01 What is the interaction between this project and ndd(1M), if any? Answer: None. Commitment issues ----------------- djr-08 flowadm add-flow: it looks like -a/-p are both synonyms for the same action. the distinction between the two is not great, is it really necessary to have both? Answer: -a for attributes. -p for properties. flowadm follows the exact convention as the existing dladm´s. djr-09 flowadm show-flowprop: why isn't there a parsable output format option for this subcommand? Answer: The project will add an option to make the output parsable, and be consistent with dladm(1m). djr-10 flowadm show-usage: why isn't there a parsable output format option for this subcommand? Answer: The raw format for the information on show-usage comens from the extended accounting framwork. djr-11 flowadm show-usage: instead of using -p for gnuplot and thereafter suggesting an option per output format style, consider using an option plus operand, e.g. "-F gplot" Answer. Makes sense djr-12 flowadm show-flow: rather than use -P for selecting persistent connections, isn't it better to make the output grep'able or for it to be something like "-x persist", encouraging further selection to be added here rather than as top level options? Answer. flowadm needs to be consistent with dladm ged-01 Looking at the provider model, I see a new type mac_intr_t, which is claimed to be an "optimized interrupt handle". I don't understand where this comes from, or how it is used. (The "framework" purportedly can use it to disable or reenable interrupts, but I don't fully see how it does that.) Please elaborate more here. Answer: The structure has 3 fields: An opaque handle for the inerrupt and two function pointers: one for enabling and one for disabling the interrupt. We'll update the spec to include the description ged-02 I don't understand -- the commitment materials indicate that the PPA VLAN hack is used, but the comment above says it was removed. Please clarify. Answer: We're announcing the EOF'ing of the PPA hack with this project. The Deprecated Interfaces section of the interfaces need to be updated to include that EOF'ing. ged-03 In general, it seems like resource controls on flows versus vnics might be "confusing" to customers. Would it be simpler to expose a "default" flow on VNICs, and use the same flowadm tools to manage controls as on VNICs? Answer: We're catering for two audiences at the same time: sys/net administrators that deal with interfaces, etc. The entities they manipulate are data links, using dladm(1m) primarily. For those, resource controls are being offered in a general way as properties assigned to datalinks (vnics, physical interfaces, link aggregations) without really exposing any notion of flow. We're also addressing the classic QoS audience. They are familiar with concepts of flows based on services and protocols. flowadm(1m) is more natural and intuitive for them.