Mod aaa-12 描述:增加netlink用户态listen接口容错处理。增加dpi_rcv_test模块makefile。
RCA: SOL: 修改人:xusaiqun 检视人:xusaiqun Signed-off-by: xusaiqun <xusaiqun@cmhi.chinamobile.com>
This commit is contained in:
parent
c0ad77b578
commit
6139abcc96
3
Makefile
3
Makefile
|
@ -79,6 +79,7 @@ ifeq ($(OPT), clean)
|
|||
$(MLOG)make $(MAKE_FLAGS) -C Platform/build -f module.pdelivery.Makefile cleanall MLOG=$(MLOG) MAKE_TARGET=pdeliv
|
||||
$(MLOG)make $(MAKE_FLAGS) -C Platform/build -f user.cfg2kernel.Makefile cleanall MLOG=$(MLOG) MAKE_TARGET=cfg2kernel
|
||||
$(MLOG)make $(MAKE_FLAGS) -C Platform/build -f user.pdeliv_u.Makefile cleanall MLOG=$(MLOG) MAKE_TARGET=pdeliv_u
|
||||
$(MLOG)make $(MAKE_FLAGS) -C Platform/build -f user.pdeliv.rcvtest.Makefile cleanall MLOG=$(MLOG) MAKE_TARGET=pdeliv_rcvtest
|
||||
$(MLOG)make $(MAKE_FLAGS) -C Platform/build -f user.netlink_uapi.Makefile cleanall MLOG=$(MLOG) MAKE_TARGET=netlink_uapi
|
||||
else ifeq ($(OPT), install)
|
||||
$(MLOG)make $(MAKE_FLAGS) -C Platform/build -f module.netlink_api.Makefile install DIR=$(DIR) MLOG=$(MLOG) MAKE_TARGET=netlink_api
|
||||
|
@ -87,6 +88,7 @@ else ifeq ($(OPT), install)
|
|||
$(MLOG)make $(MAKE_FLAGS) -C Platform/build -f user.netlink_uapi.Makefile install DIR=$(DIR) MLOG=$(MLOG) MAKE_TARGET=netlink_uapi
|
||||
$(MLOG)make $(MAKE_FLAGS) -C Platform/build -f user.cfg2kernel.Makefile install DIR=$(DIR) MLOG=$(MLOG) MAKE_TARGET=cfg2kernel
|
||||
$(MLOG)make $(MAKE_FLAGS) -C Platform/build -f user.pdeliv_u.Makefile install DIR=$(DIR) MLOG=$(MLOG) MAKE_TARGET=pdeliv_u
|
||||
$(MLOG)make $(MAKE_FLAGS) -C Platform/build -f user.pdeliv.rcvtest.Makefile install DIR=$(DIR) MLOG=$(MLOG) MAKE_TARGET=pdeliv_rcvtest
|
||||
else
|
||||
$(MLOG)make all $(MAKE_FLAGS) -C Platform/build -f module.netlink_api.Makefile MLOG=$(MLOG) DISABLE_WARRING=$(DIS_BUILD_WARRING) MAKE_TARGET=netlink_api
|
||||
$(MLOG)make all $(MAKE_FLAGS) -C Platform/build -f module.cfgrcv.Makefile MLOG=$(MLOG) DISABLE_WARRING=$(DIS_BUILD_WARRING) MAKE_TARGET=cfgrcv
|
||||
|
@ -94,6 +96,7 @@ else
|
|||
$(MLOG)make all $(MAKE_FLAGS) -C Platform/build -f user.netlink_uapi.Makefile MLOG=$(MLOG) DISABLE_WARRING=$(DIS_BUILD_WARRING) MAKE_TARGET=netlink_uapi
|
||||
$(MLOG)make all $(MAKE_FLAGS) -C Platform/build -f user.cfg2kernel.Makefile MLOG=$(MLOG) DISABLE_WARRING=$(DIS_BUILD_WARRING) MAKE_TARGET=cfg2kernel
|
||||
$(MLOG)make all $(MAKE_FLAGS) -C Platform/build -f user.pdeliv_u.Makefile MLOG=$(MLOG) DISABLE_WARRING=$(DIS_BUILD_WARRING) MAKE_TARGET=pdeliv_u
|
||||
$(MLOG)make all $(MAKE_FLAGS) -C Platform/build -f user.pdeliv.rcvtest.Makefile MLOG=$(MLOG) DISABLE_WARRING=$(DIS_BUILD_WARRING) MAKE_TARGET=pdeliv_rcvtest
|
||||
endif
|
||||
|
||||
trace:
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# target name, the target name must have the same name of c source file
|
||||
TARGET_NAME=pdeliv
|
||||
TARGET_NAME=pdeliv_rcvtest
|
||||
|
||||
# target
|
||||
# for linux module driver: KO
|
||||
|
@ -27,7 +27,7 @@ VPATH = ../user/pdeliv_u
|
|||
|
||||
# set the source file, don't used .o because of ...
|
||||
|
||||
COMMON_SRCS = pdelivery_main.c
|
||||
COMMON_SRCS = dpi_rcv_test.c
|
||||
|
||||
# MRS Board Source Files
|
||||
PLAT_LINUX_SRCS = $(COMMON_SRCS)
|
||||
|
@ -41,8 +41,8 @@ PLAT_LINUX_CFLAGS := $(PLAT_ARM64_CFLAGS)
|
|||
PLAT_ARM64_LDFLAGS :=
|
||||
PLAT_LINUX_LDFLAGS := $(PLAT_ARM64_LDFLAGS)
|
||||
|
||||
ARM64_LIBS := ./pdeliv-rcvtest-arm64.so
|
||||
LINUX_LIBS := ./pdeliv-rcvtest-linux.so
|
||||
ARM64_LIBS := ./libnetlinku-arm64.so
|
||||
LINUX_LIBS := ./libnetlinku-linux.so
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -237,11 +237,22 @@ int debugfs_pkt_num_stati_witisend(struct netlinkk_cfg *g_nlcfg,
|
|||
printk("------------------debugfs_pkt_num_stati ack msg_type %d,seq=%d!\n",out_nlh->nlmsg_type,nlh->nlmsg_seq);
|
||||
err = commnl_unicast(g_nlcfg->sk, out_skb, nlh->nlmsg_pid);
|
||||
if (err > 0)
|
||||
{
|
||||
err = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
goto failure;
|
||||
}
|
||||
|
||||
return err;
|
||||
failure:
|
||||
printk(KERN_INFO " failed in fun dataready!\n");
|
||||
if(out_skb != NULL)
|
||||
{
|
||||
//kfree_skb(out_skb);
|
||||
}
|
||||
|
||||
printk(KERN_INFO " failed in fun dataready!\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -258,6 +258,11 @@ unsigned int pdelivery_hook_func(void *priv,
|
|||
return NF_ACCEPT;/*must return a value*/
|
||||
|
||||
failure:
|
||||
if(out_skb != NULL)
|
||||
{
|
||||
//kfree_skb(out_skb);
|
||||
}
|
||||
|
||||
//printk(KERN_INFO " failed in pdelivery_hook_func!\n");
|
||||
g_nlcfg.dfs.send_fail ++;
|
||||
g_nlcfg.msg_processer[NLMSG_RECV_RAW_PKT].dfs.send_fail++;
|
||||
|
|
|
@ -660,6 +660,12 @@ int conmnl_listen(struct upmnl_handle *nl,
|
|||
//printf("pdelivnl_listen recvmsg....\r\n");
|
||||
iov.iov_len = sizeof(buf);
|
||||
//status = recvmsg(nl->fd, &msg, MSG_WAITALL);
|
||||
if(nl->fd <= 0)
|
||||
{
|
||||
printf("conmnl_listen fd is closed,fd = %d,exist listen.\r\rn",nl->fd);
|
||||
return 0;
|
||||
}
|
||||
|
||||
status = recvmsg(nl->fd, &msg, MSG_WAITFORONE);
|
||||
|
||||
if (status < 0) {
|
||||
|
|
Loading…
Reference in New Issue