/* * Copyright (c) 2017 Intel and/or its affiliates. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at: * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ option version = "1.0.0"; /** \brief Configure Kube-proxy global parameters @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param sticky_buckets_per_core - Number of buckets *per worker thread* in the established flow table (must be power of 2). @param flow_timeout - Time in seconds after which, if no packet is received for a given flow, the flow is removed from the established flow table. */ autoreply define kp_conf { u32 client_index; u32 context; u32 sticky_buckets_per_core; u32 flow_timeout; }; /** \brief Add a virtual address (or prefix) @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param ip_prefix - IP address (IPv4 in lower order 32 bits). @param prefix_length - IP prefix length (96 + 'IPv4 prefix length' for IPv4). @param is_ipv6 - Is IPv6 addresss. @param port - service port; @param target_port - Pod's port corresponding to specific service. @param node_port - Node's port. @param is_nat4 - DNAT is NAT44 (NAT64 otherwise). @param new_flows_table_length - Size of the new connections flow table used for this VIP (must be power of 2). @param is_del - The VIP should be removed. */ autoreply define kp_add_del_vip { u32 client_index; u32 context; u8 ip_prefix[16]; u8 prefix_length; u8 is_ipv6; u16 port; u16 target_port; u16 node_port; u8 is_nat4; u32 new_flows_table_length; u8 is_del; }; /** \brief Add a pod for a given VIP @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param vip_ip_prefix - VIP IP address (IPv4 in lower order 32 bits). @param vip_ip_prefix - VIP IP prefix length (96 + 'IPv4 prefix length' for IPv4). @param vip_is_ipv6 - VIP is IPv6 addresss. @param pod_address - The pod's IP address (IPv4 in lower order 32 bits). @param pod_is_ipv6 - Pod is IPv6 addresss. @param is_del - The Pod should be removed. */ autoreply define kp_add_del_pod { u32 client_index; u32 context; u8 vip_ip_prefix[16]; u8 vip_prefix_length; u8 vip_is_ipv6; u8 pod_address[16]; u8 pod_is_ipv6; u8 is_del; };