X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=vswitchd%2Fvswitch.xml;fp=vswitchd%2Fvswitch.xml;h=fe176ffa5c5c46e9a10a1ff7cf410978cfc60751;hb=13751fd88c4b7464f9453c03659201c10b3b87a0;hp=f6a8db147bbaf77fb1466e162c735156b643d8aa;hpb=8c301900fc6f7faface4a2cbd016411f966d0601;p=sliver-openvswitch.git diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml index f6a8db147..fe176ffa5 100644 --- a/vswitchd/vswitch.xml +++ b/vswitchd/vswitch.xml @@ -2534,6 +2534,68 @@ column has no effect.

+ + +

+ This string set specifies which fields should be used for + address prefix tracking. Prefix tracking allows the + classifier to skip rules with longer than necessary prefixes, + resulting in better wildcarding for datapath flows. +

+

+ Prefix tracking may be beneficial when a flow table contains + matches on IP address fields with different prefix lengths. + For example, when a flow table contains IP address matches on + both full addresses and proper prefixes, the full address + matches will typically cause the datapath flow to un-wildcard + the whole address field (depending on flow entry priorities). + In this case each packet with a different address gets handed + to the userspace for flow processing and generates its own + datapath flow. With prefix tracking enabled for the address + field in question packets with addresses matching shorter + prefixes would generate datapath flows where the irrelevant + address bits are wildcarded, allowing the same datapath flow + to handle all the packets within the prefix in question. In + this case many userspace upcalls can be avoided and the + overall performance can be better. +

+

+ This is a performance optimization only, so packets will + receive the same treatment with or without prefix tracking. +

+

+ The supported fields are: tun_id, + tun_src, tun_dst, + nw_src, nw_dst (or aliases + ip_src and ip_dst), + ipv6_src, and ipv6_dst. (Using this + feature for tun_id would only make sense if the + tunnel IDs have prefix structure similar to IP addresses.) +

+

+ For example, prefixes=ip_dst,ip_src instructs the + flow classifier to track the IP destination and source + addresses used by the rules in this specific flow table. To + set the prefix fields, the flow table record needs to exist: +

+
+
ovs-vsctl set Bridge br0 flow_tables:0=@N1 -- --id=@N1 create Flow_Table name=table0
+
+ Creates a flow table record for the OpenFlow table number 0. +
+ +
ovs-vsctl set Flow_Table table0 prefixes=ip_dst,ip_src
+
+ Enables prefix tracking for IP source and destination + address fields. +
+
+ +

+ There is a maximum number of fields that can be enabled for any + one flow table. Currently this limit is 3. +

+