| /linux/net/netfilter/ipvs/ |
| H A D | ip_vs_est.c | 80 static void ip_vs_est_calc_phase(struct netns_ipvs *ipvs); 81 static void ip_vs_est_drain_temp_list(struct netns_ipvs *ipvs); 177 struct netns_ipvs *ipvs = kd->ipvs; in ip_vs_estimation_kthread() local 184 if (!ipvs->est_chain_max) in ip_vs_estimation_kthread() 187 if (!ipvs->est_chain_max) { in ip_vs_estimation_kthread() 188 ipvs->est_calc_phase = 1; in ip_vs_estimation_kthread() 194 if (ipvs->est_calc_phase) { in ip_vs_estimation_kthread() 195 ip_vs_est_calc_phase(ipvs); in ip_vs_estimation_kthread() 196 if (kthread_should_stop() || !READ_ONCE(ipvs->enable)) in ip_vs_estimation_kthread() 202 if (!id && !hlist_empty(&ipvs->est_temp_list)) in ip_vs_estimation_kthread() [all …]
|
| H A D | ip_vs_ctl.c | 93 static void update_defense_level(struct netns_ipvs *ipvs) in update_defense_level() argument 109 amemthresh = max(READ_ONCE(ipvs->sysctl_amemthresh), 0); in update_defense_level() 115 spin_lock(&ipvs->dropentry_lock); in update_defense_level() 116 switch (ipvs->sysctl_drop_entry) { in update_defense_level() 118 atomic_set(&ipvs->dropentry, 0); in update_defense_level() 122 atomic_set(&ipvs->dropentry, 1); in update_defense_level() 123 ipvs->sysctl_drop_entry = 2; in update_defense_level() 125 atomic_set(&ipvs->dropentry, 0); in update_defense_level() 130 atomic_set(&ipvs->dropentry, 1); in update_defense_level() 132 atomic_set(&ipvs->dropentry, 0); in update_defense_level() [all …]
|
| H A D | ip_vs_sync.c | 198 struct netns_ipvs *ipvs; member 303 sb_dequeue(struct netns_ipvs *ipvs, struct ipvs_master_sync_state *ms) in sb_dequeue() argument 307 spin_lock_bh(&ipvs->sync_lock); in sb_dequeue() 319 spin_unlock_bh(&ipvs->sync_lock); in sb_dequeue() 328 ip_vs_sync_buff_create(struct netns_ipvs *ipvs, unsigned int len) in ip_vs_sync_buff_create() argument 336 ipvs->mcfg.sync_maxlen); in ip_vs_sync_buff_create() 344 sb->mesg->syncid = ipvs->mcfg.syncid; in ip_vs_sync_buff_create() 361 static inline void sb_queue_tail(struct netns_ipvs *ipvs, in sb_queue_tail() argument 366 spin_lock(&ipvs->sync_lock); in sb_queue_tail() 367 if (ipvs in sb_queue_tail() 389 get_curr_sync_buff(struct netns_ipvs * ipvs,struct ipvs_master_sync_state * ms,unsigned long time) get_curr_sync_buff() argument 406 select_master_thread_id(struct netns_ipvs * ipvs,struct ip_vs_conn * cp) select_master_thread_id() argument 415 ip_vs_sync_buff_create_v0(struct netns_ipvs * ipvs,unsigned int len) ip_vs_sync_buff_create_v0() argument 459 ip_vs_sync_conn_needed(struct netns_ipvs * ipvs,struct ip_vs_conn * cp,int pkts) ip_vs_sync_conn_needed() argument 539 ip_vs_sync_conn_v0(struct netns_ipvs * ipvs,struct ip_vs_conn * cp,int pkts) ip_vs_sync_conn_v0() argument 629 ip_vs_sync_conn(struct netns_ipvs * ipvs,struct ip_vs_conn * cp,int pkts) ip_vs_sync_conn() argument 788 ip_vs_conn_fill_param_sync(struct netns_ipvs * ipvs,int af,union ip_vs_sync_conn * sc,struct ip_vs_conn_param * p,__u8 * pe_data,unsigned int pe_data_len,__u8 * pe_name,unsigned int pe_name_len) ip_vs_conn_fill_param_sync() argument 841 ip_vs_proc_conn(struct netns_ipvs * ipvs,struct ip_vs_conn_param * param,unsigned int flags,unsigned int state,unsigned int protocol,unsigned int type,const union nf_inet_addr * daddr,__be16 dport,unsigned long timeout,__u32 fwmark,struct ip_vs_sync_conn_options * opt) ip_vs_proc_conn() argument 955 ip_vs_process_message_v0(struct netns_ipvs * ipvs,const char * buffer,const size_t buflen) ip_vs_process_message_v0() argument 1066 ip_vs_proc_sync_conn(struct netns_ipvs * ipvs,__u8 * p,__u8 * msg_end) ip_vs_proc_sync_conn() argument 1200 ip_vs_process_message(struct netns_ipvs * ipvs,__u8 * buffer,const size_t buflen) ip_vs_process_message() argument 1460 make_send_sock(struct netns_ipvs * ipvs,int id,struct net_device * dev,struct socket ** sock_ret) make_send_sock() argument 1517 make_receive_sock(struct netns_ipvs * ipvs,int id,struct net_device * dev,struct socket ** sock_ret) make_receive_sock() argument 1620 struct netns_ipvs *ipvs = ms->ipvs; master_wakeup_work_handler() local 1635 next_sync_buff(struct netns_ipvs * ipvs,struct ipvs_master_sync_state * ms) next_sync_buff() argument 1649 struct netns_ipvs *ipvs = tinfo->ipvs; sync_thread_master() local 1701 struct netns_ipvs *ipvs = tinfo->ipvs; sync_thread_backup() local 1735 start_sync_thread(struct netns_ipvs * ipvs,struct ipvs_sync_daemon_cfg * c,int state) start_sync_thread() argument 1951 stop_sync_thread(struct netns_ipvs * ipvs,int state) stop_sync_thread() argument 2039 ip_vs_sync_net_init(struct netns_ipvs * ipvs) ip_vs_sync_net_init() argument 2047 ip_vs_sync_net_cleanup(struct netns_ipvs * ipvs) ip_vs_sync_net_cleanup() argument [all...] |
| H A D | ip_vs_conn.c | 241 ip_vs_conn_fill_param(cp->ipvs, cp->af, cp->protocol, in ip_vs_conn_hashkey_conn() 245 ip_vs_conn_fill_param(cp->ipvs, cp->af, cp->protocol, in ip_vs_conn_hashkey_conn() 263 struct netns_ipvs *ipvs = cp->ipvs; in ip_vs_conn_hash() local 275 t = rcu_dereference(ipvs->conn_tab); in ip_vs_conn_hash() 306 if (atomic_read(&ipvs->conn_count) > t->u_thresh && in ip_vs_conn_hash() 307 !test_and_set_bit(IP_VS_WORK_CONN_RESIZE, &ipvs->work_flags)) in ip_vs_conn_hash() 308 mod_delayed_work(system_dfl_long_wq, &ipvs->conn_resize_work, 0); in ip_vs_conn_hash() 318 struct netns_ipvs *ipvs = cp->ipvs; in ip_vs_conn_unlink() local 370 struct netns_ipvs *ipvs = p->ipvs; __ip_vs_conn_in_get() local 419 struct netns_ipvs *ipvs = p->ipvs; ip_vs_conn_in_get() local 440 ip_vs_conn_fill_param_proto(struct netns_ipvs * ipvs,int af,const struct sk_buff * skb,const struct ip_vs_iphdr * iph,struct ip_vs_conn_param * p) ip_vs_conn_fill_param_proto() argument 461 ip_vs_conn_in_get_proto(struct netns_ipvs * ipvs,int af,const struct sk_buff * skb,const struct ip_vs_iphdr * iph) ip_vs_conn_in_get_proto() argument 478 struct netns_ipvs *ipvs = p->ipvs; ip_vs_ct_in_get() local 546 struct netns_ipvs *ipvs = p->ipvs; ip_vs_conn_out_get() local 604 ip_vs_conn_out_get_proto(struct netns_ipvs * ipvs,int af,const struct sk_buff * skb,const struct ip_vs_iphdr * iph) ip_vs_conn_out_get_proto() argument 647 struct netns_ipvs *ipvs = cp->ipvs; ip_vs_conn_fill_cport() local 799 struct netns_ipvs *ipvs = cp->ipvs; ip_vs_conn_change_fwd_mask() local 852 ip_vs_conn_default_load_factor(struct netns_ipvs * ipvs) ip_vs_conn_default_load_factor() argument 866 ip_vs_conn_desired_size(struct netns_ipvs * ipvs,struct ip_vs_rht * t,int lfactor) ip_vs_conn_desired_size() argument 875 ip_vs_conn_tab_alloc(struct netns_ipvs * ipvs,int buckets,int lfactor) ip_vs_conn_tab_alloc() argument 903 struct netns_ipvs *ipvs; conn_resize_work_handler() local 1257 expire_quiescent_template(struct netns_ipvs * ipvs,struct ip_vs_dest * dest) expire_quiescent_template() argument 1276 struct netns_ipvs *ipvs = ct->ipvs; ip_vs_check_template() local 1350 struct netns_ipvs *ipvs = cp->ipvs; ip_vs_conn_expire() local 1449 struct netns_ipvs *ipvs = p->ipvs; ip_vs_conn_new() local 1576 struct netns_ipvs *ipvs = net_ipvs(net); ip_vs_conn_array() local 1621 struct netns_ipvs *ipvs = net_ipvs(net); ip_vs_conn_seq_start() local 1814 struct netns_ipvs *ipvs = cp->ipvs; todrop_entry() local 1847 ip_vs_random_dropentry(struct netns_ipvs * ipvs) ip_vs_random_dropentry() argument 1934 ip_vs_conn_flush(struct netns_ipvs * ipvs) ip_vs_conn_flush() argument 1998 ip_vs_expire_nodest_conn_flush(struct netns_ipvs * ipvs) ip_vs_expire_nodest_conn_flush() argument 2062 ip_vs_conn_net_init(struct netns_ipvs * ipvs) ip_vs_conn_net_init() argument 2096 ip_vs_conn_net_cleanup(struct netns_ipvs * ipvs) ip_vs_conn_net_cleanup() argument [all...] |
| H A D | ip_vs_core.c | 234 int ip_vs_rht_desired_size(struct netns_ipvs *ipvs, struct ip_vs_rht *t, int n, in ip_vs_rht_desired_size() argument 302 struct netns_ipvs *ipvs = cp->ipvs; in ip_vs_in_stats() local 323 s = this_cpu_ptr(ipvs->tot_stats->s.cpustats); in ip_vs_in_stats() 338 struct netns_ipvs *ipvs = cp->ipvs; in ip_vs_out_stats() local 359 s = this_cpu_ptr(ipvs->tot_stats->s.cpustats); in ip_vs_out_stats() 373 struct netns_ipvs *ipvs = svc->ipvs; in ip_vs_conn_stats() local 388 s = this_cpu_ptr(ipvs->tot_stats->s.cpustats); in ip_vs_conn_stats() 413 ip_vs_conn_fill_param(svc->ipvs, svc->af, protocol, caddr, cport, vaddr, in ip_vs_conn_fill_param_persist() 574 ip_vs_conn_fill_param(svc->ipvs, svc->af, iph->protocol, src_addr, in ip_vs_sched_persist() 668 ip_vs_conn_in_get_proto, svc->ipvs, in ip_vs_schedule() [all …]
|
| H A D | ip_vs_app.c | 72 ip_vs_app_inc_new(struct netns_ipvs *ipvs, struct ip_vs_app *app, __u16 proto, in ip_vs_app_inc_new() argument 104 ret = pp->register_app(ipvs, inc); in ip_vs_app_inc_new() 124 ip_vs_app_inc_release(struct netns_ipvs *ipvs, struct ip_vs_app *inc) in ip_vs_app_inc_release() argument 132 pp->unregister_app(ipvs, inc); in ip_vs_app_inc_release() 172 register_ip_vs_app_inc(struct netns_ipvs *ipvs, struct ip_vs_app *app, __u16 proto, in register_ip_vs_app_inc() argument 179 result = ip_vs_app_inc_new(ipvs, app, proto, port); in register_ip_vs_app_inc() 188 struct ip_vs_app *register_ip_vs_app(struct netns_ipvs *ipvs, struct ip_vs_app *app) in register_ip_vs_app() argument 201 list_for_each_entry(a, &ipvs->app_list, a_list) { in register_ip_vs_app() 217 list_add(&a->a_list, &ipvs->app_list); in register_ip_vs_app() 231 void unregister_ip_vs_app(struct netns_ipvs *ipvs, struct ip_vs_app *app) in unregister_ip_vs_app() argument [all …]
|
| H A D | ip_vs_proto.c | 65 register_ip_vs_proto_netns(struct netns_ipvs *ipvs, struct ip_vs_protocol *pp) in register_ip_vs_proto_netns() argument 75 pd->next = ipvs->proto_data_table[hash]; in register_ip_vs_proto_netns() 76 ipvs->proto_data_table[hash] = pd; in register_ip_vs_proto_netns() 80 int ret = pp->init_netns(ipvs, pd); in register_ip_vs_proto_netns() 83 ipvs->proto_data_table[hash] = pd->next; in register_ip_vs_proto_netns() 117 unregister_ip_vs_proto_netns(struct netns_ipvs *ipvs, struct ip_vs_proto_data *pd) in unregister_ip_vs_proto_netns() argument 122 pd_p = &ipvs->proto_data_table[hash]; in unregister_ip_vs_proto_netns() 127 pd->pp->exit_netns(ipvs, pd); in unregister_ip_vs_proto_netns() 157 ip_vs_proto_data_get(struct netns_ipvs *ipvs, unsigned short proto) in ip_vs_proto_data_get() argument 162 for (pd = ipvs->proto_data_table[hash]; pd; pd = pd->next) { in ip_vs_proto_data_get() [all …]
|
| H A D | ip_vs_lblc.c | 252 return svc->ipvs->sysctl_lblc_expiration; in sysctl_lblc_expiration() 555 struct netns_ipvs *ipvs = net_ipvs(net); in __ip_vs_lblc_init() 558 if (!ipvs) in __ip_vs_lblc_init() 562 ipvs->lblc_ctl_table = kmemdup(vs_vars_table, in __ip_vs_lblc_init() 565 if (ipvs->lblc_ctl_table == NULL) in __ip_vs_lblc_init() 573 ipvs->lblc_ctl_table = vs_vars_table; in __ip_vs_lblc_init() 574 ipvs->sysctl_lblc_expiration = DEFAULT_EXPIRATION; in __ip_vs_lblc_init() 575 ipvs->lblc_ctl_table[0].data = &ipvs->sysctl_lblc_expiration; in __ip_vs_lblc_init() 577 ipvs in __ip_vs_lblc_init() 551 struct netns_ipvs *ipvs = net_ipvs(net); __ip_vs_lblc_init() local 587 struct netns_ipvs *ipvs = net_ipvs(net); __ip_vs_lblc_exit() local [all...] |
| H A D | ip_vs_proto_udp.c | 31 udp_conn_schedule(struct netns_ipvs *ipvs, int af, struct sk_buff *skb, in udp_conn_schedule() argument 56 svc = ip_vs_service_find(ipvs, af, skb->mark, iph->protocol, in udp_conn_schedule() 59 svc = ip_vs_service_find(ipvs, af, skb->mark, iph->protocol, in udp_conn_schedule() 65 if (ip_vs_todrop(ipvs)) { in udp_conn_schedule() 326 static int udp_register_app(struct netns_ipvs *ipvs, struct ip_vs_app *inc) in udp_register_app() argument 332 struct ip_vs_proto_data *pd = ip_vs_proto_data_get(ipvs, IPPROTO_UDP); in udp_register_app() 336 list_for_each_entry(i, &ipvs->udp_apps[hash], p_list) { in udp_register_app() 342 list_add_rcu(&inc->p_list, &ipvs->udp_apps[hash]); in udp_register_app() 351 udp_unregister_app(struct netns_ipvs *ipvs, struct ip_vs_app *inc) in udp_unregister_app() argument 353 struct ip_vs_proto_data *pd = ip_vs_proto_data_get(ipvs, IPPROTO_UDP); in udp_unregister_app() [all …]
|
| H A D | ip_vs_lblcr.c | 416 return svc->ipvs->sysctl_lblcr_expiration; in sysctl_lblcr_expiration() 740 struct netns_ipvs *ipvs = net_ipvs(net); in __ip_vs_lblcr_init() 743 if (!ipvs) in __ip_vs_lblcr_init() 747 ipvs->lblcr_ctl_table = kmemdup(vs_vars_table, in __ip_vs_lblcr_init() 750 if (ipvs->lblcr_ctl_table == NULL) in __ip_vs_lblcr_init() 757 ipvs->lblcr_ctl_table = vs_vars_table; in __ip_vs_lblcr_init() 758 ipvs->sysctl_lblcr_expiration = DEFAULT_EXPIRATION; in __ip_vs_lblcr_init() 759 ipvs->lblcr_ctl_table[0].data = &ipvs->sysctl_lblcr_expiration; in __ip_vs_lblcr_init() 761 ipvs in __ip_vs_lblcr_init() 737 struct netns_ipvs *ipvs = net_ipvs(net); __ip_vs_lblcr_init() local 772 struct netns_ipvs *ipvs = net_ipvs(net); __ip_vs_lblcr_exit() local [all...] |
| H A D | ip_vs_proto_sctp.c | 17 sctp_conn_schedule(struct netns_ipvs *ipvs, int af, struct sk_buff *skb, in sctp_conn_schedule() argument 34 !(sysctl_sloppy_sctp(ipvs) || in sctp_conn_schedule() 51 svc = ip_vs_service_find(ipvs, af, skb->mark, iph->protocol, in sctp_conn_schedule() 54 svc = ip_vs_service_find(ipvs, af, skb->mark, iph->protocol, in sctp_conn_schedule() 59 if (ip_vs_todrop(ipvs)) { in sctp_conn_schedule() 481 static int sctp_register_app(struct netns_ipvs *ipvs, struct ip_vs_app *inc) in sctp_register_app() argument 487 struct ip_vs_proto_data *pd = ip_vs_proto_data_get(ipvs, IPPROTO_SCTP); in sctp_register_app() 491 list_for_each_entry(i, &ipvs->sctp_apps[hash], p_list) { in sctp_register_app() 497 list_add_rcu(&inc->p_list, &ipvs->sctp_apps[hash]); in sctp_register_app() 504 static void sctp_unregister_app(struct netns_ipvs *ipvs, struct ip_vs_app *inc) in sctp_unregister_app() argument [all …]
|
| H A D | ip_vs_proto_tcp.c | 35 tcp_conn_schedule(struct netns_ipvs *ipvs, int af, struct sk_buff *skb, in tcp_conn_schedule() argument 51 if (th->rst || !(sysctl_sloppy_tcp(ipvs) || th->syn)) in tcp_conn_schedule() 68 svc = ip_vs_service_find(ipvs, af, skb->mark, iph->protocol, in tcp_conn_schedule() 71 svc = ip_vs_service_find(ipvs, af, skb->mark, iph->protocol, in tcp_conn_schedule() 77 if (ip_vs_todrop(ipvs)) { in tcp_conn_schedule() 573 static int tcp_register_app(struct netns_ipvs *ipvs, struct ip_vs_app *inc) in tcp_register_app() argument 579 struct ip_vs_proto_data *pd = ip_vs_proto_data_get(ipvs, IPPROTO_TCP); in tcp_register_app() 583 list_for_each_entry(i, &ipvs->tcp_apps[hash], p_list) { in tcp_register_app() 589 list_add_rcu(&inc->p_list, &ipvs->tcp_apps[hash]); in tcp_register_app() 598 tcp_unregister_app(struct netns_ipvs *ipvs, struct ip_vs_app *inc) in tcp_unregister_app() argument [all …]
|
| H A D | ip_vs_xmit.c | 217 static inline bool ensure_mtu_is_adequate(struct netns_ipvs *ipvs, int skb_af, in ensure_mtu_is_adequate() argument 224 struct net *net = ipvs->net; in ensure_mtu_is_adequate() 242 if ((rt_mode & IP_VS_RT_MODE_TUNNEL) && !sysctl_pmtu_disc(ipvs)) in ensure_mtu_is_adequate() 259 static inline bool decrement_ttl(struct netns_ipvs *ipvs, in decrement_ttl() argument 263 struct net *net = ipvs->net; in decrement_ttl() 316 __ip_vs_get_out_rt(struct netns_ipvs *ipvs, int skb_af, struct sk_buff *skb, in __ip_vs_get_out_rt() argument 321 struct net *net = ipvs->net; in __ip_vs_get_out_rt() 394 if (!decrement_ttl(ipvs, skb_af, skb)) in __ip_vs_get_out_rt() 423 if (!ensure_mtu_is_adequate(ipvs, skb_af, rt_mode, ipvsh, skb, mtu)) in __ip_vs_get_out_rt() 489 __ip_vs_get_out_rt_v6(struct netns_ipvs *ipvs, int skb_af, struct sk_buff *skb, in __ip_vs_get_out_rt_v6() argument [all …]
|
| H A D | ip_vs_ftp.c | 326 ip_vs_conn_fill_param(cp->ipvs, cp->af, in ip_vs_ftp_out() 334 ip_vs_conn_fill_param(cp->ipvs, in ip_vs_ftp_out() 537 ip_vs_conn_fill_param(cp->ipvs, cp->af, in ip_vs_ftp_in() 585 struct netns_ipvs *ipvs = net_ipvs(net); in __ip_vs_ftp_init() local 587 if (!ipvs) in __ip_vs_ftp_init() 590 app = register_ip_vs_app(ipvs, &ip_vs_ftp); in __ip_vs_ftp_init() 597 ret = register_ip_vs_app_inc(ipvs, app, app->protocol, ports[i]); in __ip_vs_ftp_init() 604 unregister_ip_vs_app(ipvs, &ip_vs_ftp); in __ip_vs_ftp_init() 612 struct netns_ipvs *ipvs = net_ipvs(net); in __ip_vs_ftp_exit() local 614 if (!ipvs || !exiting_module) in __ip_vs_ftp_exit() [all …]
|
| H A D | ip_vs_nfct.c | 261 h = nf_conntrack_find_get(cp->ipvs->net, &nf_ct_zone_dflt, &tuple); in ip_vs_conn_drop_conntrack()
|
| /linux/include/net/ |
| H A D | ip_vs.h | 68 return net->ipvs; in net_ipvs() 502 struct netns_ipvs *ipvs; member 704 int ip_vs_rht_desired_size(struct netns_ipvs *ipvs, struct ip_vs_rht *t, int n, 729 int (*init_netns)(struct netns_ipvs *ipvs, struct ip_vs_proto_data *pd); 731 void (*exit_netns)(struct netns_ipvs *ipvs, struct ip_vs_proto_data *pd); 733 int (*conn_schedule)(struct netns_ipvs *ipvs, 740 (*conn_in_get)(struct netns_ipvs *ipvs, 746 (*conn_out_get)(struct netns_ipvs *ipvs, 764 int (*register_app)(struct netns_ipvs *ipvs, struct ip_vs_app *inc); 766 void (*unregister_app)(struct netns_ipvs *ipvs, struct ip_vs_app *inc); [all …]
|
| H A D | net_namespace.h | 176 struct netns_ipvs *ipvs; member
|
| /linux/net/netfilter/ |
| H A D | xt_ipvs.c | 52 struct netns_ipvs *ipvs = net_ipvs(xt_net(par)); in ipvs_mt() local 90 cp = pp->conn_out_get(ipvs, family, skb, &iph); in ipvs_mt()
|
| H A D | Kconfig | 1376 tristate '"ipvs" match support' 1664 source "net/netfilter/ipvs/Kconfig"
|
| /linux/tools/testing/selftests/net/netfilter/ |
| H A D | Makefile | 22 ipvs.sh \
|
| /linux/Documentation/networking/ |
| H A D | index.rst | 68 ipvs-sysctl
|
| /linux/Documentation/translations/zh_CN/networking/ |
| H A D | index.rst | 92 * ipvs-sysctl
|
| /linux/ |
| H A D | MAINTAINERS | 13791 T: git git://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs-next.git 13792 T: git git://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs.git 13793 F: Documentation/networking/ipvs-sysctl.rst 13796 F: net/netfilter/ipvs/
|