aboutsummaryrefslogtreecommitdiff
path: root/net/filter-rewriter.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/filter-rewriter.c')
-rw-r--r--net/filter-rewriter.c27
1 files changed, 14 insertions, 13 deletions
diff --git a/net/filter-rewriter.c b/net/filter-rewriter.c
index 576b019..3070b6d 100644
--- a/net/filter-rewriter.c
+++ b/net/filter-rewriter.c
@@ -23,21 +23,22 @@
#include "migration/colo.h"
#include "util.h"
-#define FILTER_COLO_REWRITER(obj) \
- OBJECT_CHECK(RewriterState, (obj), TYPE_FILTER_REWRITER)
-
#define TYPE_FILTER_REWRITER "filter-rewriter"
+typedef struct RewriterState RewriterState;
+DECLARE_INSTANCE_CHECKER(RewriterState, FILTER_REWRITER,
+ TYPE_FILTER_REWRITER)
+
#define FAILOVER_MODE_ON true
#define FAILOVER_MODE_OFF false
-typedef struct RewriterState {
+struct RewriterState {
NetFilterState parent_obj;
NetQueue *incoming_queue;
/* hashtable to save connection */
GHashTable *connection_track_table;
bool vnet_hdr;
bool failover_mode;
-} RewriterState;
+};
static void filter_rewriter_failover_mode(RewriterState *s)
{
@@ -46,7 +47,7 @@ static void filter_rewriter_failover_mode(RewriterState *s)
static void filter_rewriter_flush(NetFilterState *nf)
{
- RewriterState *s = FILTER_COLO_REWRITER(nf);
+ RewriterState *s = FILTER_REWRITER(nf);
if (!qemu_net_queue_flush(s->incoming_queue)) {
/* Unable to empty the queue, purge remaining packets */
@@ -257,7 +258,7 @@ static ssize_t colo_rewriter_receive_iov(NetFilterState *nf,
int iovcnt,
NetPacketSent *sent_cb)
{
- RewriterState *s = FILTER_COLO_REWRITER(nf);
+ RewriterState *s = FILTER_REWRITER(nf);
Connection *conn;
ConnectionKey key;
Packet *pkt;
@@ -355,7 +356,7 @@ static gboolean offset_is_nonzero(gpointer key,
static void colo_rewriter_handle_event(NetFilterState *nf, int event,
Error **errp)
{
- RewriterState *rs = FILTER_COLO_REWRITER(nf);
+ RewriterState *rs = FILTER_REWRITER(nf);
switch (event) {
case COLO_EVENT_CHECKPOINT:
@@ -375,7 +376,7 @@ static void colo_rewriter_handle_event(NetFilterState *nf, int event,
static void colo_rewriter_cleanup(NetFilterState *nf)
{
- RewriterState *s = FILTER_COLO_REWRITER(nf);
+ RewriterState *s = FILTER_REWRITER(nf);
/* flush packets */
if (s->incoming_queue) {
@@ -386,7 +387,7 @@ static void colo_rewriter_cleanup(NetFilterState *nf)
static void colo_rewriter_setup(NetFilterState *nf, Error **errp)
{
- RewriterState *s = FILTER_COLO_REWRITER(nf);
+ RewriterState *s = FILTER_REWRITER(nf);
s->connection_track_table = g_hash_table_new_full(connection_key_hash,
connection_key_equal,
@@ -397,7 +398,7 @@ static void colo_rewriter_setup(NetFilterState *nf, Error **errp)
static bool filter_rewriter_get_vnet_hdr(Object *obj, Error **errp)
{
- RewriterState *s = FILTER_COLO_REWRITER(obj);
+ RewriterState *s = FILTER_REWRITER(obj);
return s->vnet_hdr;
}
@@ -406,14 +407,14 @@ static void filter_rewriter_set_vnet_hdr(Object *obj,
bool value,
Error **errp)
{
- RewriterState *s = FILTER_COLO_REWRITER(obj);
+ RewriterState *s = FILTER_REWRITER(obj);
s->vnet_hdr = value;
}
static void filter_rewriter_init(Object *obj)
{
- RewriterState *s = FILTER_COLO_REWRITER(obj);
+ RewriterState *s = FILTER_REWRITER(obj);
s->vnet_hdr = false;
s->failover_mode = FAILOVER_MODE_OFF;