aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/ip_vs.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/ip_vs.h')
-rw-r--r--include/net/ip_vs.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h
index b7bbd6c28cfa..be2b5690f892 100644
--- a/include/net/ip_vs.h
+++ b/include/net/ip_vs.h
@@ -422,6 +422,7 @@ struct ip_vs_conn {
422 struct ip_vs_seq in_seq; /* incoming seq. struct */ 422 struct ip_vs_seq in_seq; /* incoming seq. struct */
423 struct ip_vs_seq out_seq; /* outgoing seq. struct */ 423 struct ip_vs_seq out_seq; /* outgoing seq. struct */
424 424
425 const struct ip_vs_pe *pe;
425 char *pe_data; 426 char *pe_data;
426 __u8 pe_data_len; 427 __u8 pe_data_len;
427}; 428};
@@ -814,8 +815,19 @@ void ip_vs_bind_pe(struct ip_vs_service *svc, struct ip_vs_pe *pe);
814void ip_vs_unbind_pe(struct ip_vs_service *svc); 815void ip_vs_unbind_pe(struct ip_vs_service *svc);
815int register_ip_vs_pe(struct ip_vs_pe *pe); 816int register_ip_vs_pe(struct ip_vs_pe *pe);
816int unregister_ip_vs_pe(struct ip_vs_pe *pe); 817int unregister_ip_vs_pe(struct ip_vs_pe *pe);
817extern struct ip_vs_pe *ip_vs_pe_get(const char *name); 818struct ip_vs_pe *ip_vs_pe_getbyname(const char *name);
818extern void ip_vs_pe_put(struct ip_vs_pe *pe); 819
820static inline void ip_vs_pe_get(const struct ip_vs_pe *pe)
821{
822 if (pe && pe->module)
823 __module_get(pe->module);
824}
825
826static inline void ip_vs_pe_put(const struct ip_vs_pe *pe)
827{
828 if (pe && pe->module)
829 module_put(pe->module);
830}
819 831
820/* 832/*
821 * IPVS protocol functions (from ip_vs_proto.c) 833 * IPVS protocol functions (from ip_vs_proto.c)