Skip to content
  • Zhang Chen's avatar
    b6540d40
    colo-compare: track connection and enqueue packet · b6540d40
    Zhang Chen authored
    
    
    In this patch we use kernel jhash table to track
    connection, and then enqueue net packet like this:
    
    + CompareState ++
    |               |
    +---------------+   +---------------+         +---------------+
    |conn list      +--->conn           +--------->conn           |
    +---------------+   +---------------+         +---------------+
    |               |     |           |             |          |
    +---------------+ +---v----+  +---v----+    +---v----+ +---v----+
                      |primary |  |secondary    |primary | |secondary
                      |packet  |  |packet  +    |packet  | |packet  +
                      +--------+  +--------+    +--------+ +--------+
                          |           |             |          |
                      +---v----+  +---v----+    +---v----+ +---v----+
                      |primary |  |secondary    |primary | |secondary
                      |packet  |  |packet  +    |packet  | |packet  +
                      +--------+  +--------+    +--------+ +--------+
                          |           |             |          |
                      +---v----+  +---v----+    +---v----+ +---v----+
                      |primary |  |secondary    |primary | |secondary
                      |packet  |  |packet  +    |packet  | |packet  +
                      +--------+  +--------+    +--------+ +--------+
    
    We use conn_list to record connection info.
    When we want to enqueue a packet, firstly get the
    connection from connection_track_table. then push
    the packet to g_queue(pri/sec) in it's own conn.
    
    Signed-off-by: default avatarZhang Chen <zhangchen.fnst@cn.fujitsu.com>
    Signed-off-by: default avatarLi Zhijian <lizhijian@cn.fujitsu.com>
    Signed-off-by: default avatarWen Congyang <wency@cn.fujitsu.com>
    Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
    b6540d40
    colo-compare: track connection and enqueue packet
    Zhang Chen authored
    
    
    In this patch we use kernel jhash table to track
    connection, and then enqueue net packet like this:
    
    + CompareState ++
    |               |
    +---------------+   +---------------+         +---------------+
    |conn list      +--->conn           +--------->conn           |
    +---------------+   +---------------+         +---------------+
    |               |     |           |             |          |
    +---------------+ +---v----+  +---v----+    +---v----+ +---v----+
                      |primary |  |secondary    |primary | |secondary
                      |packet  |  |packet  +    |packet  | |packet  +
                      +--------+  +--------+    +--------+ +--------+
                          |           |             |          |
                      +---v----+  +---v----+    +---v----+ +---v----+
                      |primary |  |secondary    |primary | |secondary
                      |packet  |  |packet  +    |packet  | |packet  +
                      +--------+  +--------+    +--------+ +--------+
                          |           |             |          |
                      +---v----+  +---v----+    +---v----+ +---v----+
                      |primary |  |secondary    |primary | |secondary
                      |packet  |  |packet  +    |packet  | |packet  +
                      +--------+  +--------+    +--------+ +--------+
    
    We use conn_list to record connection info.
    When we want to enqueue a packet, firstly get the
    connection from connection_track_table. then push
    the packet to g_queue(pri/sec) in it's own conn.
    
    Signed-off-by: default avatarZhang Chen <zhangchen.fnst@cn.fujitsu.com>
    Signed-off-by: default avatarLi Zhijian <lizhijian@cn.fujitsu.com>
    Signed-off-by: default avatarWen Congyang <wency@cn.fujitsu.com>
    Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
Loading