Merge tag 'ipvs-for-v4.7' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs-next
Simon Horman says: ==================== IPVS Updates for v4.7 please consider these enhancements to the IPVS. They allow SIP connections originating from real-servers to be load balanced by the SIP psersitence engine as is already implemented in the other direction. And for better one packet scheduling (OPS) performance. ==================== Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
@@ -731,6 +731,12 @@ struct ip_vs_pe {
|
||||
u32 (*hashkey_raw)(const struct ip_vs_conn_param *p, u32 initval,
|
||||
bool inverse);
|
||||
int (*show_pe_data)(const struct ip_vs_conn *cp, char *buf);
|
||||
/* create connections for real-server outgoing packets */
|
||||
struct ip_vs_conn* (*conn_out)(struct ip_vs_service *svc,
|
||||
struct ip_vs_dest *dest,
|
||||
struct sk_buff *skb,
|
||||
const struct ip_vs_iphdr *iph,
|
||||
__be16 dport, __be16 cport);
|
||||
};
|
||||
|
||||
/* The application module object (a.k.a. app incarnation) */
|
||||
@@ -874,6 +880,7 @@ struct netns_ipvs {
|
||||
/* Service counters */
|
||||
atomic_t ftpsvc_counter;
|
||||
atomic_t nullsvc_counter;
|
||||
atomic_t conn_out_counter;
|
||||
|
||||
#ifdef CONFIG_SYSCTL
|
||||
/* 1/rate drop and drop-entry variables */
|
||||
@@ -1147,6 +1154,12 @@ static inline int sysctl_cache_bypass(struct netns_ipvs *ipvs)
|
||||
*/
|
||||
const char *ip_vs_proto_name(unsigned int proto);
|
||||
void ip_vs_init_hash_table(struct list_head *table, int rows);
|
||||
struct ip_vs_conn *ip_vs_new_conn_out(struct ip_vs_service *svc,
|
||||
struct ip_vs_dest *dest,
|
||||
struct sk_buff *skb,
|
||||
const struct ip_vs_iphdr *iph,
|
||||
__be16 dport,
|
||||
__be16 cport);
|
||||
#define IP_VS_INIT_HASH_TABLE(t) ip_vs_init_hash_table((t), ARRAY_SIZE((t)))
|
||||
|
||||
#define IP_VS_APP_TYPE_FTP 1
|
||||
@@ -1378,6 +1391,10 @@ ip_vs_service_find(struct netns_ipvs *ipvs, int af, __u32 fwmark, __u16 protocol
|
||||
bool ip_vs_has_real_service(struct netns_ipvs *ipvs, int af, __u16 protocol,
|
||||
const union nf_inet_addr *daddr, __be16 dport);
|
||||
|
||||
struct ip_vs_dest *
|
||||
ip_vs_find_real_service(struct netns_ipvs *ipvs, int af, __u16 protocol,
|
||||
const union nf_inet_addr *daddr, __be16 dport);
|
||||
|
||||
int ip_vs_use_count_inc(void);
|
||||
void ip_vs_use_count_dec(void);
|
||||
int ip_vs_register_nl_ioctl(void);
|
||||
|
Reference in New Issue
Block a user