Skip to content

Instantly share code, notes, and snippets.

View wenjianhn's full-sized avatar
🐢

Jian Wen wenjianhn

🐢
View GitHub Profile
@wenjianhn
wenjianhn / append_KBps.sh
Last active August 29, 2015 14:20
Append KBps for DataNode.clienttrace
awk '/org.apache.hadoop.hdfs.server.datanode.DataNode.clienttrace/{printf "%s, KBps: %d\n", $0, $10/($NF/10**9)/1024}' ${datanode_log}
cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-$1
DEVICE=$1
BOOTPROTO=static
NETMASK=255.255.255.0
IPADDR=$2
ONBOOT=yes
EOF
@wenjianhn
wenjianhn / test_socket_prio_and_tos.c
Created January 29, 2015 03:30
Test if setsockopt(SO_PRIORITY) sets the IP type-of-service (TOS) field or not.
#include <assert.h>
#include <netinet/ip.h>
#include <stdio.h>
#include <sys/socket.h>
#include <sys/types.h>
void test_setsockopt()
{
int priority = 6;
@wenjianhn
wenjianhn / test_setsockopt.c
Created January 29, 2015 03:01
Test setsockopt with SO_PRIORITY and IP_TOS. It shows that order matters.
#include <assert.h>
#include <netinet/ip.h>
#include <stdio.h>
#include <sys/socket.h>
#include <sys/types.h>
void test_setsockopt(int priority_first)
{
int priority = 6;
@wenjianhn
wenjianhn / keybase.md
Created January 13, 2015 09:06
keybase.md

Keybase proof

I hereby claim:

  • I am wenjianhn on github.
  • I am wenjianhn (https://keybase.io/wenjianhn) on keybase.
  • I have a public key whose fingerprint is 42A1 F0C5 36AC 340F 7830 5C0B 17EA 70B1 5B51 4BC9

To claim this, I am signing this object:

@wenjianhn
wenjianhn / ceph_osd_socket.stp
Last active August 29, 2015 14:13
trace ceph osd socket
#! /usr/bin/env stap
probe syscall.accept {
if (execname() != "ceph-osd") next;
printf("pid: %d tid: %d. accept(%s)\n", pid(), tid(), argstr)
}
probe syscall.accept.return {
if (execname() != "ceph-osd") next;
printf("pid: %d tid: %d. accept returns fd: %s\n", pid(), tid(), retstr)
@wenjianhn
wenjianhn / trace_ceph_osd_skb_tcp_out.stp
Created January 8, 2015 08:52
trace ceph osd skb in kernel.function("tcp_transmit_skb")
#! /usr/bin/env stap
probe begin {
printf("Started...\n")
}
probe kernel.function("tcp_transmit_skb") {
if (execname() == "ceph-osd") {
printf("%s(pid: %d, tid: %d)\n", execname(), pid(), tid());
printf("priority: %ld %15s:%-5d ---> %s:%d\n\n",
@wenjianhn
wenjianhn / build_wireshark
Created December 30, 2014 02:23
Build wireshark-1.99.1 on Fedora to support Ceph Protocol
sudo yum groupinstall "Development Tools"
sudo yum install qt-devel gtk2-devel bison gcc-c++ gtk+ gtk3-devel
wget https://1.as.dl.wireshark.org/src/wireshark-1.99.1.tar.bz2
tar xjf wireshark-1.99.1.tar.bz2
cd wireshark-1.99.1
./configure
make -j$(lscpu | awk '/^CPU\(s/ {print $2}')
exclude_plugins = ['bigswitch', 'brocade', 'cisco', 'embrane', 'hyperv',
'ibm', 'metaplugin', 'linuxbridge', 'midonet', 'mlnx', 'nec',
'nuage', 'oneconvergence', 'plumgrid', 'ryu', 'vmware']
print "|".join(map(lambda p: "^neutron.tests.unit." + p,
exclude_plugins))
@wenjianhn
wenjianhn / gist:81aa0bbf4cb9879a5214
Created September 11, 2014 07:03
runuser: debugging neutron server
[root@n-controller tmp]# pwd
/tmp
[root@n-controller tmp]# ls -l ./run_neturon.sh
-rwxr--r--. 1 neutron neutron 192 Sep 11 14:59 ./run_neturon.sh
[root@n-controller tmp]# cat run_neturon.sh
/usr/bin/neutron-server --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini --log-file /var/log/neutron/server.log
[root@n-controller tmp]#
[root@n-controller tmp]#
[root@n-controller tmp]# runuser -s /bin/bash neutron ./run_neturon.sh
> /usr/lib/python2.6/site-packages/neutron/plugins/ml2/drivers/mech_openvswitch.py(38)__init__()