dump rhashtable and encap and decap flows

来源:互联网 发布:sql case when怎么用 编辑:程序博客网 时间:2024/06/05 16:00

crash> mlx5e_flow_steering.tc  ffff880c6a724418  tc = {    t = 0x0,    ht_params = {      nelem_hint = 0x0,      key_len = 0x8,      key_offset = 0x8,      head_offset = 0x0,      max_size = 0x0,      min_size = 0x0,      automatic_shrinking = 0x1,      locks_mul = 0x0,      nulls_base = 0x0,      hashfn = 0x0,      obj_hashfn = 0x0,      obj_cmpfn = 0x0    },    ht = {      tbl = 0xffff880b8327a800,      nelems = {        counter = 0x2      },      key_len = 0x2,      p = {        nelem_hint = 0x0,        key_len = 0x8,        key_offset = 0x8,        head_offset = 0x0,        max_size = 0x0,        min_size = 0x4,        automatic_shrinking = 0x1,        locks_mul = 0x20,        nulls_base = 0x0,        hashfn = 0xffffffff81374d80 <rhashtable_jhash2>,        obj_hashfn = 0x0,        obj_cmpfn = 0x0      },      max_elems = 0x80000000,      rhlist = 0x0,      run_work = {        data = {          counter = 0xfffffffe0        },        entry = {          next = 0xffff880c6a724570,          prev = 0xffff880c6a724570        },        func = 0xffffffff81375120 <rht_deferred_worker>      },      mutex = {        owner = {          counter = 0x0        },        wait_lock = {          {            rlock = {              raw_lock = {                val = {                  counter = 0x0                }              }            }          }        },        osq = {          tail = {            counter = 0x0          }        },        wait_list = {          next = 0xffff880c6a724598,          prev = 0xffff880c6a724598        }      },      lock = {        {          rlock = {            raw_lock = {              val = {                counter = 0x0              }            }          }        }      }    }  }crash> bucket_table  0xffff880b8327a800struct bucket_table {  size = 0x40,  nest = 0x0,  rehash = 0x0,  hash_rnd = 0xe9e71c0f,  locks_mask = 0x1f,  locks = 0xffff880ba6e96280,  walkers = {    next = 0xffff880b8327a820,    prev = 0xffff880b8327a820  },  rcu = {    next = 0x0,    func = 0x0  },  future_tbl = 0x0,  buckets = 0xffff880b8327a880}crash> rd 0xffff880b8327a880 64ffff880b8327a880:  0000000000000001 0000000000000003   ................ffff880b8327a890:  0000000000000005 0000000000000007   ................ffff880b8327a8a0:  0000000000000009 000000000000000b   ................ffff880b8327a8b0:  000000000000000d 000000000000000f   ................ffff880b8327a8c0:  0000000000000011 0000000000000013   ................ffff880b8327a8d0:  0000000000000015 0000000000000017   ................ffff880b8327a8e0:  0000000000000019 000000000000001b   ................ffff880b8327a8f0:  000000000000001d 000000000000001f   ................ffff880b8327a900:  0000000000000021 0000000000000023   !.......#.......ffff880b8327a910:  0000000000000025 0000000000000027   %.......'.......ffff880b8327a920:  0000000000000029 000000000000002b   ).......+.......ffff880b8327a930:  000000000000002d 000000000000002f   -......./.......ffff880b8327a940:  0000000000000031 0000000000000033   1.......3.......ffff880b8327a950:  0000000000000035 0000000000000037   5.......7.......ffff880b8327a960:  0000000000000039 000000000000003b   9.......;.......ffff880b8327a970:  000000000000003d 000000000000003f   =.......?.......ffff880b8327a980:  0000000000000041 0000000000000043   A.......C.......ffff880b8327a990:  0000000000000045 0000000000000047   E.......G.......ffff880b8327a9a0:  0000000000000049 000000000000004b   I.......K.......ffff880b8327a9b0:  000000000000004d 000000000000004f   M.......O.......ffff880b8327a9c0:  0000000000000051 0000000000000053   Q.......S.......ffff880b8327a9d0:  0000000000000055 0000000000000057   U.......W.......ffff880b8327a9e0:  0000000000000059 000000000000005b   Y.......[.......ffff880b8327a9f0:  000000000000005d 000000000000005f   ]......._.......ffff880b8327aa00:  0000000000000061 0000000000000063   a.......c.......ffff880b8327aa10:  0000000000000065 0000000000000067   e.......g.......ffff880b8327aa20:  0000000000000069 000000000000006b   i.......k.......ffff880b8327aa30:  ffff880a9b2a58a0 000000000000006f   .X*.....o.......ffff880b8327aa40:  0000000000000071 0000000000000073   q.......s.......ffff880b8327aa50:  0000000000000075 0000000000000077   u.......w.......ffff880b8327aa60:  0000000000000079 000000000000007b   y.......{.......ffff880b8327aa70:  ffff880c5a4686c0 000000000000007f   ..FZ............struct mlx5e_tc_flow {  node = {    next = 0x6d  },  cookie = 0xffff880b432f4800,  flags = 0x5,  rule = 0xffff880c20f48d40,  encap = {    next = 0x0,    prev = 0x0  },  {    esw_attr = 0xffff880a9b2a58d0,    nic_attr = 0xffff880a9b2a58d0  }}crash> mlx5_esw_flow_attr  0xffff880a9b2a58d0struct mlx5_esw_flow_attr {  in_rep = 0xffff880c823e7e00,  out_rep = 0xffff880c823e7e48,  action = 0x2c,  vlan = 0x0,  vlan_handled = 0x0,  encap_id = 0x0,  mod_hdr_id = 0x0,  parse_attr = 0x0}crash> mlx5_eswitch_rep 0xffff880c823e7e48struct mlx5_eswitch_rep {  load = 0xffffffffa01b6c00 <mlx5e_rep_register_vf_vports+32>,  unload = 0xffffffffa01b61b0 <mlx5e_rep_neigh_cleanup+64>,  vport = 0x1,  hw_id = "$\212\a\210", <incomplete sequence \312>,  netdev = 0xffff880c875e0000,  vport_rx_rule = 0xffff880b0f828840,  vport_sqs_list = {    next = 0xffff880bb6294dc8,    prev = 0xffff880bb6294dc8  },  vlan = 0x0,  vlan_refcount = 0x2,  valid = 0x1}crash> mlx5e_rep_priv  ffff880c8173c000struct mlx5e_rep_priv {  rep = 0xffff880c823e7e00,  neigh_update = {    neigh_ht = {      tbl = 0xffff880c7b33f800,      nelems = {        counter = 0x1      },      key_len = 0x8,      p = {        nelem_hint = 0x0,        key_len = 0x20,        key_offset = 0x8,        head_offset = 0x0,        max_size = 0x0,        min_size = 0x4,        automatic_shrinking = 0x1,        locks_mul = 0x20,        nulls_base = 0x0,        hashfn = 0xffffffff81374d80 <rhashtable_jhash2>,        obj_hashfn = 0x0,        obj_cmpfn = 0x0      },      max_elems = 0x80000000,      rhlist = 0x0,      run_work = {        data = {          counter = 0xfffffffe0        },        entry = {          next = 0xffff880c8173c058,          prev = 0xffff880c8173c058        },        func = 0xffffffff81375120 <rht_deferred_worker>      },      mutex = {        owner = {          counter = 0x0        },        wait_lock = {          {            rlock = {              raw_lock = {                val = {                  counter = 0x0                }              }            }          }        },        osq = {          tail = {            counter = 0x0          }        },        wait_list = {          next = 0xffff880c8173c080,          prev = 0xffff880c8173c080        }      },      lock = {        {          rlock = {            raw_lock = {              val = {                counter = 0x0              }            }          }        }      }    },    neigh_list = {      next = 0xffff880c09c713a8,      prev = 0xffff880c09c713a8    },    encap_lock = {      {        rlock = {          raw_lock = {            val = {              counter = 0x0            }          }        }      }    },    netevent_nb = {      notifier_call = 0xffffffffa01b7180 <mlx5e_rep_neigh_entry_lookup+208>,      next = 0xffff880c7a2beeb0,      priority = 0x0    },    neigh_stats_work = {      work = {        data = {          counter = 0xc01        },        entry = {          next = 0xffff880c8173c0d0,          prev = 0xffff880c8173c0d0        },        func = 0xffffffffa01b6130 <mlx5e_rep_get_stats+160>      },      timer = {        entry = {          next = 0x0,          pprev = 0xffff880c8ebd23b8        },        expires = 0x106443188,        function = 0xffffffff8109d3c0 <delayed_work_timer_fn>,        data = 0xffff880c8173c0c8,        flags = 0x36600007      },      wq = 0xffff880c82b23400,      cpu = 0x40    },    min_interval = 0x1388  }}crash> list 0xffff880c09c713a8ffff880c09c713a8ffff880c8173c098crash> list mlx5e_neigh_hash_entry.neigh_list  -H ffff880c8173c098 -s mlx5e_neigh_hash_entryffff880c09c71380struct mlx5e_neigh_hash_entry {  rhash_node = {    next = 0x5b  },  m_neigh = {    dev = 0xffff880c6a720000,    dst_ip = {      v4 = 0x1301a8c0,      v6 = {        in6_u = {          u6_addr8 = "\300\250\001\023\000\000\000\000\000\000\000\000\000\000\000",          u6_addr16 = {0xa8c0, 0x1301, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},          u6_addr32 = {0x1301a8c0, 0x0, 0x0, 0x0}        }      }    },    family = 0x2  },  neigh_list = {    next = 0xffff880c8173c098,    prev = 0xffff880c8173c098  },  encap_list = {    next = 0xffff880aa3d43000,    prev = 0xffff880aa3d43000  },  n = 0xffff880b6bf93200,  neigh_update_work = {    data = {      counter = 0xc00    },    entry = {      next = 0xffff880c09c713d8,      prev = 0xffff880c09c713d8    },    func = 0xffffffffa01b6d30 <mlx5e_vport_rep_load+96>  },  refcnt = {    refs = {      counter = 0x1    }  },  reported_lastuse = 0x10625ce00}crash> list -H ffff880c09c713b8 -s mlx5e_encap_entryffff880aa3d43000struct mlx5e_encap_entry {  encap_list = {    next = 0xffff880c09c713b8,    prev = 0xffff880c09c713b8  },  m_neigh = {    dev = 0xffff880c6a720000,    dst_ip = {      v4 = 0x1301a8c0,                    # 192.168.1.19      v6 = {        in6_u = {          u6_addr8 = "\300\250\001\023\000\000\000\000\000\000\000\000\000\000\000",          u6_addr16 = {0xa8c0, 0x1301, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},          u6_addr32 = {0x1301a8c0, 0x0, 0x0, 0x0}        }      }    },    family = 0x2  },  encap_hlist = {    next = 0x0,    pprev = 0xffff88017e961850  },  flows = {    next = 0xffff880aa0ac3f80,    prev = 0xffff880bec287d40  },  encap_id = 0x0,  tun_info = {    key = {      tun_id = 0x100000000000000,               # vxlan key = 1      u = {        ipv4 = {          src = 0x0,          dst = 0x1301a8c0        },        ipv6 = {          src = {            in6_u = {              u6_addr8 = "\000\000\000\000\300\250\001\023\000\000\000\000\000\000\000",              u6_addr16 = {0x0, 0x0, 0xa8c0, 0x1301, 0x0, 0x0, 0x0, 0x0},              u6_addr32 = {0x0, 0x1301a8c0, 0x0, 0x0}            }          },          dst = {            in6_u = {              u6_addr8 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000",              u6_addr16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},              u6_addr32 = {0x0, 0x0, 0x0, 0x0}            }          }        }      },      tun_flags = 0x400,      tos = 0x0,      ttl = 0x0,      label = 0x0,      tp_src = 0x0,      tp_dst = 0xb512    },    dst_cache = {      cache = 0x0,      reset_ts = 0x0    },    options_len = 0x0,    mode = 0x1  },  h_dest = "$\212\a\210'\233",  out_dev = 0xffff880c6a720000,  tunnel_type = 0x0,  flags = 0x1,  encap_header = 0xffff880b838a8b00 "$\212\a\210'\233$\212\a\210'\312\b",  encap_size = 0x32}


原创粉丝点击