X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fip%2Fip.api;h=3072e3e7c63d8f773993ca903d032224c6b393b9;hb=3d5f08a82;hp=0dec7266b4214d794a0ede99dc82c7d1f00b4932;hpb=58a1915b501845c47676d529ff3b5840a876e39d;p=vpp.git diff --git a/src/vnet/ip/ip.api b/src/vnet/ip/ip.api index 0dec7266b42..3072e3e7c63 100644 --- a/src/vnet/ip/ip.api +++ b/src/vnet/ip/ip.api @@ -20,7 +20,7 @@ called through a shared memory interface. */ -option version = "3.0.2"; +option version = "3.0.3"; import "vnet/interface_types.api"; import "vnet/fib/fib_types.api"; @@ -231,6 +231,7 @@ define ip_route_lookup_reply */ autoreply define set_ip_flow_hash { + option deprecated; u32 client_index; u32 context; u32 vrf_id; @@ -244,6 +245,52 @@ autoreply define set_ip_flow_hash bool symmetric; }; +/** + @brief flow hash settings for an IP table + @param src - include src in flow hash + @param dst - include dst in flow hash + @param sport - include sport in flow hash + @param dport - include dport in flow hash + @param proto - include proto in flow hash + @param reverse - include reverse in flow hash + @param symmetric - include symmetry in flow hash + @param flowlabel - include flowlabel in flow hash +*/ +enumflag ip_flow_hash_config +{ + IP_API_FLOW_HASH_SRC_IP = 0x01, + IP_API_FLOW_HASH_DST_IP = 0x02, + IP_API_FLOW_HASH_SRC_PORT = 0x04, + IP_API_FLOW_HASH_DST_PORT = 0x08, + IP_API_FLOW_HASH_PROTO = 0x10, + IP_API_FLOW_HASH_REVERSE = 0x20, + IP_API_FLOW_HASH_SYMETRIC = 0x40, + IP_API_FLOW_HASH_FLOW_LABEL = 0x80, +}; + +autoreply define set_ip_flow_hash_v2 +{ + u32 client_index; + u32 context; + u32 table_id; + vl_api_address_family_t af; + vl_api_ip_flow_hash_config_t flow_hash_config; +}; + +/** \brief Set the ip flow hash router ID + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param router_id - The ID of the router. Mixed into the hash. + Used to prevent polarisation across a network, + since each router is assumed to have a different ID +*/ +autoreply define set_ip_flow_hash_router_id +{ + u32 client_index; + u32 context; + u32 router_id; +}; + /** \brief IPv6 interface enable / disable request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request