/* Input pkt hook. Will call bound ip_vs_app specific function called by ipvs packet handler, assumes previously checked cp!=NULL. returns false if can't handle packet (oom).  */
int ip_vs_app_pkt_in(struct ip_vs_conn *cp, struct sk_buff *skb)
/* Input pkt hook. Will call bound ip_vs_app specific function called by ipvs packet handler, assumes previously checked cp!=NULL. returns false if can't handle packet (oom).  */
int ip_vs_app_pkt_in(struct ip_vs_conn *cp, struct sk_buff *skb)
{
	struct ip_vs_app *app;
	if ((app = cp->app) == NULL)
		return 1;
	if (cp->protocol == IPPROTO_TCP)
		return app_tcp_pkt_in(cp, skb, app);
	if (app->pkt_in == NULL)
		return 1;
	return app->pkt_in(app, cp, skb, NULL);
}