我试图在应用程序中使用ipset
API,基本上,我想做简单的事情:在应用程序运行之前创建的ipset
表中添加IP地址条目。作为参考,我查看了ipset-7.6 / src / ipset.c代码,因此代码中的顺序如下:
a)创建会话
ipset_load_types();
session = ipset_session_init(printf);
ipset_session_lineno(session,IPSET_SESSION_LINE_NO);
ipset_parse_setname(session,IPSET_SETNAME,"my_table_name")
b)使用上一步获得的有效session
ipset_parse_single_ip(session,IPSET_OPT_IP,addr);
ipset_cmd(session,IPSET_CMD_ADD,IPSET_SESSION_LINE_NO);
因此,在这一点上它适用于一个条目,但是,如果我尝试添加多个条目(例如,在循环中),它将失败。在我看来,我必须关闭会话并再次将其重新打开才能安装下一个条目。
是否有一种方法可以在单个会话中完成我需要的工作?哪个ipset
API允许执行此操作?