version 1.1, 2022/06/22 13:01:55
|
version 1.3, 2022/07/05 21:58:48
|
Line 21
|
Line 21
|
#include <sys/un.h> |
#include <sys/un.h> |
#include <sys/module.h> |
#include <sys/module.h> |
#include <sys/kthread.h> |
#include <sys/kthread.h> |
|
#include <sys/priority.h> |
#include <sys/taskqueue.h> |
#include <sys/taskqueue.h> |
|
#include <sys/queue.h> |
|
#include <sys/mutex.h> |
#include <sys/uio.h> |
#include <sys/uio.h> |
#include <sys/poll.h> |
#include <sys/poll.h> |
#include <net/if.h> |
#include <net/if.h> |
Line 39
|
Line 42
|
|
|
#include "fwsync_proto.h" |
#include "fwsync_proto.h" |
#include "fwsync_workers.h" |
#include "fwsync_workers.h" |
|
#include "fwsync_utils.h" |
|
|
#if 0 |
|
#include <sys/uio.h> |
|
#include <sys/taskqueue.h> |
|
#include <sys/rwlock.h> |
|
#include <sys/queue.h> |
|
#include <sys/tree.h> |
|
#include <sys/ioccom.h> |
|
|
|
#include <sys/poll.h> |
|
#include <sys/event.h> |
|
#include <sys/selinfo.h> |
|
#include <sys/fcntl.h> |
|
#include <sys/syslog.h> |
|
#include <sys/rwlock.h> |
|
#endif |
|
|
|
|
|
#define IFT_FWSYNC 0xfc |
#define IFT_FWSYNC 0xfc |
|
|
#define DRV_NAME "fwsync" |
#define DRV_NAME "fwsync" |
Line 135 struct fwsync_context {
|
Line 123 struct fwsync_context {
|
#define CTX_COLLECTOR_2_ONLINE 0x100 |
#define CTX_COLLECTOR_2_ONLINE 0x100 |
|
|
#if 0 |
#if 0 |
|
|
#define DRV_PKTSTART 0xDEADBEEF |
|
#define DRV_PKTEND 0xDEBADEBA |
|
|
|
#define DRETFLUSH _IOW('D', 1, u_char) |
#define DRETFLUSH _IOW('D', 1, u_char) |
#define DRETADDFILT _IOW('D', 2, struct dret_filter) |
#define DRETADDFILT _IOW('D', 2, struct dret_filter) |
#define DRETDELFILT _IOW('D', 3, struct dret_filter) |
#define DRETDELFILT _IOW('D', 3, struct dret_filter) |
Line 168 struct dret_filter {
|
Line 152 struct dret_filter {
|
} while (0) |
} while (0) |
#endif |
#endif |
|
|
|
struct fws_sndpkt { |
|
struct fws_proto sp_proto; |
|
TAILQ_ENTRY(fws_sndpkt) sp_next; |
|
}; |
|
|
|
typedef TAILQ_HEAD(, fws_sndpkt) fwsync_sndpkt_t; |
|
|
extern int fwsync_debug; |
extern int fwsync_debug; |
extern struct fwsync_context fws_ctx; |
extern struct fwsync_context fws_ctx; |
extern struct cfg_sync fws_cfg; |
extern struct cfg_sync fws_cfg; |
extern struct task fws_sndpkt_task; |
extern struct task fws_sndpkt_task; |
|
extern struct taskqueue *fws_tq; |
|
extern struct mtx fws_mtx_c, fws_mtx_e; |
|
extern struct mbuf *fws_sndpkt; |
|
extern fwsync_sndpkt_t fwsync_sndpkt; |
|
|
int fwsync_cfg(struct ip_fw_chain *ch, ip_fw3_opheader *op3, struct sockopt_data *sd); |
int fwsync_cfg(struct ip_fw_chain *ch, ip_fw3_opheader *op3, struct sockopt_data *sd); |
int fwsync_destroy(struct ip_fw_chain *ch, ip_fw3_opheader *op3, struct sockopt_data *sd); |
int fwsync_destroy(struct ip_fw_chain *ch, ip_fw3_opheader *op3, struct sockopt_data *sd); |