1. Download Qt SDK
wget http://www.developer.nokia.com/dp?uri=http%3A%2F%2Fsw.nokia.com%2Fid%2F14b2039c-0e1f-4774-a4f2-9aa60b6d5313%2FQt_SDK_Lin64_offlinehttp://www.developer.nokia.com/dp?uri=http%3A%2F%2Fsw.nokia.com%2Fid%2F14b2039c-0e1f-4774-a4f2-9aa60b6d5313%2FQt_SDK_Lin64_offline
2. Change the file's mode for execution and run it.
> chmod u+x Qt_SDK_Lin64_offline_v1_2_en.run ( e.g )
> ./Qt_SDK_Lin64_offline_v1_2_en.run ( e.g. )
3. Install g++ compiler
> sudo apt-get install g++
4. If the error message ( Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap" ) shows when running Qt Creator, you need to run:
> sudo apt-get install gtk2-engines-pixbuf
Sunday, April 29, 2012
[How to] Install Boost library on Ubuntu
> sudo apt-get install libboost-all-dev
That's it.
And also, there are plenty of examples as follows:
http://www.boost.org/doc/libs/1_38_0/doc/html/boost_asio/examples.html
That's it.
And also, there are plenty of examples as follows:
http://www.boost.org/doc/libs/1_38_0/doc/html/boost_asio/examples.html
Tuesday, April 24, 2012
Look for a Qt library for network topology
Qanava could be my solution for network topology based on Qt4. But, it had been not maintained anymore...
main page:
http://gna.org/projects/qanava
git repository
http://repo.or.cz/w/qanava.git
Document
Qanava Manual v0.1.0
main page:
http://gna.org/projects/qanava
git repository
http://repo.or.cz/w/qanava.git
Document
Qanava Manual v0.1.0
Monday, April 23, 2012
[How to] Use tcpdump to look at LLDP packet
Here is an example about how to use tcpdump tool to look at LLDP information
> sudo tcpdump -c 1 -lv -v -i eth0 -a -e -s 1514 ether proto 0x88cc
The result:
tcpdump: listening on eth4, link-type EN10MB (Ethernet), capture size 1514 bytes
13:30:46.426056 08:00:27:09:61:e9 (oui Unknown) > 01:80:c2:00:00:0e (oui Unknown), ethertype LLDP (0x88cc), length 156: LLDP, length 142
Chassis ID TLV (1), length 7
Subtype MAC address (4): 08:00:27:09:61:e9 (oui Unknown)
0x0000: 0408 0027 0961 e9
Port ID TLV (2), length 7
Subtype MAC address (3): 08:00:27:09:61:e9 (oui Unknown)
0x0000: 0308 0027 0961 e9
Time to Live TLV (3), length 2: TTL 120s
0x0000: 0078
System Name TLV (5), length 15: Ubuntu-Devstack
0x0000: 5562 756e 7475 2d44 6576 7374 6163 6b
System Description TLV (6), length 43
Ubuntu 11.10\0x0a Linux 3.0.0-14-generic x86_64
0x0000: 5562 756e 7475 2031 312e 3130 0a20 4c69
0x0010: 6e75 7820 332e 302e 302d 3134 2d67 656e
0x0020: 6572 6963 2078 3836 5f36 34
System Capabilities TLV (7), length 4
System Capabilities [Bridge, WLAN AP, Router] (0x001c)
Enabled Capabilities [Bridge, Router] (0x0014)
0x0000: 001c 0014
Management Address TLV (8), length 12
Management Address length 5, AFI IPv4 (1): Ubuntu-Devstack.local
Interface Index Interface Numbering (2): 5
0x0000: 0501 c0a8 7a01 0200 0000 0500
Port Description TLV (4), length 4: eth4
0x0000: 6574 6834
Organization specific TLV (127), length 9: OUI IEEE 802.3 Private (0x00120f)
Link aggregation Subtype (3)
aggregation status [supported], aggregation port ID 0
0x0000: 0012 0f03 0100 0000 00
Organization specific TLV (127), length 9: OUI IEEE 802.3 Private (0x00120f)
MAC/PHY configuration/status Subtype (1)
autonegotiation [supported, enabled] (0x03)
PMD autoneg capability [10BASE-T hdx, 10BASE-T fdx, 100BASE-TX hdx, 100BASE-TX fdx, 1000BASE-T fdx] (0x6c01)
MAU type 1000BASET fdx (0x001e)
0x0000: 0012 0f01 036c 0100 1e
Organization specific TLV (127), length 6: OUI IEEE 802.3 Private (0x00120f)
Max frame size Subtype (4)
MTU size 0
0x0000: 0012 0f04 0000
End TLV (0), length 0
The following is the argument list for reference:
-a 將網絡地址和廣播地址轉變成名字
-d 將匹配信息包的代碼以人們能夠理解的彙編格式給出
-dd 將匹配信息包的代碼以c語言程序段的格式給出
-ddd 將匹配信息包的代碼以十進制的形式給出
-e 在輸出行打印出數據鏈路層的頭部信息
-f 將外部的Internet地址以數字的形式打印出來
-l 使標準輸出變為緩衝行形式( line buffered mode )
-n 不把網絡地址轉換成名字
-t 在輸出的每一行不打印時間戳
-v 輸出一個稍微詳細的信息,例如在ip包中可以包括ttl和服務類型的信息
-vv 輸出詳細的報文信息
-c 在收到指定的包的數目後,tcpdump就會停止
-F 從指定的文件中讀取表達式,忽略其它的表達式
-i 指定監聽的網絡接口
-r 從指定的文件中讀取包(這些包一般通過-w選項產生)
-w 直接將包寫入文件中,並不分析和打印出來
-T 將監聽到的包直接解釋為指定的類型的報文,常見的類型有rpc (遠程過程調用)和snmp(簡單網絡管理協議;)
> sudo tcpdump -c 1 -lv -v -i eth0 -a -e -s 1514 ether proto 0x88cc
The result:
tcpdump: listening on eth4, link-type EN10MB (Ethernet), capture size 1514 bytes
13:30:46.426056 08:00:27:09:61:e9 (oui Unknown) > 01:80:c2:00:00:0e (oui Unknown), ethertype LLDP (0x88cc), length 156: LLDP, length 142
Chassis ID TLV (1), length 7
Subtype MAC address (4): 08:00:27:09:61:e9 (oui Unknown)
0x0000: 0408 0027 0961 e9
Port ID TLV (2), length 7
Subtype MAC address (3): 08:00:27:09:61:e9 (oui Unknown)
0x0000: 0308 0027 0961 e9
Time to Live TLV (3), length 2: TTL 120s
0x0000: 0078
System Name TLV (5), length 15: Ubuntu-Devstack
0x0000: 5562 756e 7475 2d44 6576 7374 6163 6b
System Description TLV (6), length 43
Ubuntu 11.10\0x0a Linux 3.0.0-14-generic x86_64
0x0000: 5562 756e 7475 2031 312e 3130 0a20 4c69
0x0010: 6e75 7820 332e 302e 302d 3134 2d67 656e
0x0020: 6572 6963 2078 3836 5f36 34
System Capabilities TLV (7), length 4
System Capabilities [Bridge, WLAN AP, Router] (0x001c)
Enabled Capabilities [Bridge, Router] (0x0014)
0x0000: 001c 0014
Management Address TLV (8), length 12
Management Address length 5, AFI IPv4 (1): Ubuntu-Devstack.local
Interface Index Interface Numbering (2): 5
0x0000: 0501 c0a8 7a01 0200 0000 0500
Port Description TLV (4), length 4: eth4
0x0000: 6574 6834
Organization specific TLV (127), length 9: OUI IEEE 802.3 Private (0x00120f)
Link aggregation Subtype (3)
aggregation status [supported], aggregation port ID 0
0x0000: 0012 0f03 0100 0000 00
Organization specific TLV (127), length 9: OUI IEEE 802.3 Private (0x00120f)
MAC/PHY configuration/status Subtype (1)
autonegotiation [supported, enabled] (0x03)
PMD autoneg capability [10BASE-T hdx, 10BASE-T fdx, 100BASE-TX hdx, 100BASE-TX fdx, 1000BASE-T fdx] (0x6c01)
MAU type 1000BASET fdx (0x001e)
0x0000: 0012 0f01 036c 0100 1e
Organization specific TLV (127), length 6: OUI IEEE 802.3 Private (0x00120f)
Max frame size Subtype (4)
MTU size 0
0x0000: 0012 0f04 0000
End TLV (0), length 0
The following is the argument list for reference:
-a 將網絡地址和廣播地址轉變成名字
-d 將匹配信息包的代碼以人們能夠理解的彙編格式給出
-dd 將匹配信息包的代碼以c語言程序段的格式給出
-ddd 將匹配信息包的代碼以十進制的形式給出
-e 在輸出行打印出數據鏈路層的頭部信息
-f 將外部的Internet地址以數字的形式打印出來
-l 使標準輸出變為緩衝行形式( line buffered mode )
-n 不把網絡地址轉換成名字
-t 在輸出的每一行不打印時間戳
-v 輸出一個稍微詳細的信息,例如在ip包中可以包括ttl和服務類型的信息
-vv 輸出詳細的報文信息
-c 在收到指定的包的數目後,tcpdump就會停止
-F 從指定的文件中讀取表達式,忽略其它的表達式
-i 指定監聽的網絡接口
-r 從指定的文件中讀取包(這些包一般通過-w選項產生)
-w 直接將包寫入文件中,並不分析和打印出來
-T 將監聽到的包直接解釋為指定的類型的報文,常見的類型有rpc (遠程過程調用)和snmp(簡單網絡管理協議;)
Wednesday, April 18, 2012
[ZeroMQ] The new solution for building up distributed system
I have used TIBCO Rendezvous (RV Message), ActiveMQ (JMS), and RabbitMQ(AMQP) before. They all have message broker, which means all the messages will be send to broker (centralized control) first, and then the client or node will receives them later. But, ZeroMQ has totally different story. I personally believe that it could be a very good solution for building up distributed system.
http://www.zeromq.org/
And also, this article gives the short introduction and summarizes the important items including "communication transport", "End Point Implementation", "The Socket Object", and so on about ZeroMQ. This content is very uesful for beginner to get to know and read first.
http://www.coastrd.com/zeromq-messaging
http://www.zeromq.org/
And also, this article gives the short introduction and summarizes the important items including "communication transport", "End Point Implementation", "The Socket Object", and so on about ZeroMQ. This content is very uesful for beginner to get to know and read first.
http://www.coastrd.com/zeromq-messaging
[Python] Make pyc file for your Python source code
It could be a situation when you have to give your Python program to customers, but you don't want to give them Python source code. Here is a solution. Give them Python byte code!
For example, on command line:
python -c "import compileall; compileall.compile_file('YourPythonFile.py')"
python -c "import compileall; compileall.compile_dir('YourFolder/', force=True)"
Or, you can put thecompiling action in source code
import compileall
compileall.compile_dir('YourFolder/', force=True)
For example, on command line:
Compile one file
- Compile one folder
Or, you can put the
compileall.compile_dir('YourFolder/', force=True)
Tuesday, April 17, 2012
[Quantum] An example of OpenStack Quantum's table schema and data
mysql> SELECT * FROM ovs_quantum.networks n LIMIT 0,1000;
+--------------------------------------+-----------+---------+-----------+
| uuid | tenant_id | name | op_status |
+--------------------------------------+-----------+---------+-----------+
| 5b2c8537-26df-4fdc-9e38-3f3f09797d3f | default | private | UP |
+--------------------------------------+-----------+---------+-----------+
1 row in set (0.00 sec)
mysql> SELECT * FROM ovs_quantum.ports p LIMIT 0,1000;
+--------------------------------------+--------------------------------------+--------------------------------------+--------+-----------+
| uuid | network_id | interface_id | state | op_status |
+--------------------------------------+--------------------------------------+--------------------------------------+--------+-----------+
| e1b7cec5-1d7c-4bcd-b123-4a97f37ef498 | 5b2c8537-26df-4fdc-9e38-3f3f09797d3f | 0a76a701-ea3b-40d8-a56d-fc26a8db69c2 | ACTIVE | DOWN |
| fdc3836d-c884-4aeb-b5b2-e354745a2de4 | 5b2c8537-26df-4fdc-9e38-3f3f09797d3f | gw-5b2c8537-26 | ACTIVE | DOWN |
| d612ccc3-81cd-489c-8cf6-3e37966cebcb | 5b2c8537-26df-4fdc-9e38-3f3f09797d3f | b91861ff-f90b-435d-b9c2-65eb76f0300d | ACTIVE | DOWN |
+--------------------------------------+--------------------------------------+--------------------------------------+--------+-----------+
3 rows in set (0.00 sec)
mysql> SELECT * FROM ovs_quantum.vlan_bindings v LIMIT 0,1000;
+---------+--------------------------------------+
| vlan_id | network_id |
+---------+--------------------------------------+
| 2 | 5b2c8537-26df-4fdc-9e38-3f3f09797d3f |
+---------+--------------------------------------+
1 row in set (0.00 sec)
+--------------------------------------+-----------+---------+-----------+
| uuid | tenant_id | name | op_status |
+--------------------------------------+-----------+---------+-----------+
| 5b2c8537-26df-4fdc-9e38-3f3f09797d3f | default | private | UP |
+--------------------------------------+-----------+---------+-----------+
1 row in set (0.00 sec)
mysql> SELECT * FROM ovs_quantum.ports p LIMIT 0,1000;
+--------------------------------------+--------------------------------------+--------------------------------------+--------+-----------+
| uuid | network_id | interface_id | state | op_status |
+--------------------------------------+--------------------------------------+--------------------------------------+--------+-----------+
| e1b7cec5-1d7c-4bcd-b123-4a97f37ef498 | 5b2c8537-26df-4fdc-9e38-3f3f09797d3f | 0a76a701-ea3b-40d8-a56d-fc26a8db69c2 | ACTIVE | DOWN |
| fdc3836d-c884-4aeb-b5b2-e354745a2de4 | 5b2c8537-26df-4fdc-9e38-3f3f09797d3f | gw-5b2c8537-26 | ACTIVE | DOWN |
| d612ccc3-81cd-489c-8cf6-3e37966cebcb | 5b2c8537-26df-4fdc-9e38-3f3f09797d3f | b91861ff-f90b-435d-b9c2-65eb76f0300d | ACTIVE | DOWN |
+--------------------------------------+--------------------------------------+--------------------------------------+--------+-----------+
3 rows in set (0.00 sec)
mysql> SELECT * FROM ovs_quantum.vlan_bindings v LIMIT 0,1000;
+---------+--------------------------------------+
| vlan_id | network_id |
+---------+--------------------------------------+
| 2 | 5b2c8537-26df-4fdc-9e38-3f3f09797d3f |
+---------+--------------------------------------+
1 row in set (0.00 sec)
Monday, April 16, 2012
[sFlow] sFlow Agent and sFlow Collector
sFlow is a technology for monitoring network, wireless and host devices. Based on the following topology, there is a test about using sFlow Agent and sFlow Collector to observe the sFlow data from Open vSwitch.
> sudo ovs-vsctl -- --id=@s create sFlow agent=eth0 target=\"colletor ip:6343\" header=128 sampling=64 polling=10 -- set Bridge br0 sflow=@s
When trying to ping PC1 and PC2, the result is below:
- sFlow agent is from Open vSwitch
> sudo ovs-vsctl -- --id=@s create sFlow agent=eth0 target=\"colletor ip:6343\" header=128 sampling=64 polling=10 -- set Bridge br0 sflow=@s
- sFlow collector is sFlowTrend
When trying to ping PC1 and PC2, the result is below:
[Comparsion] Topology graph in NOX GUI and OpenFlow GUI
Using GNS3 for constructing an emulation network environment, I give a simple topology as follows to try running NOX GUI and OpenFlow GUI.
P.S: for more information in GNS3, please refer to this:
http://www.gns3.net/gns3-virtualbox-edition/
In NOX GUI, the topology graph is created like this:
In OpenFlow GUI, the topology graph is created like this:
P.S: for more information in GNS3, please refer to this:
http://www.gns3.net/gns3-virtualbox-edition/
In NOX GUI, the topology graph is created like this:
In OpenFlow GUI, the topology graph is created like this:
Saturday, April 14, 2012
[Trema] Try Trema App: flow_dumper
1. Choose "routing_switch" as my testing app. (any other simple switch app is all available...)
> ./trema run -c ../apps/routing_switch/routing_switch.conf
2. Send packets between these 2 hosts
> ./trema send_packets -s host2 -d host1
> ./trema send_packets -s host1 -d host2
3. Try to run Trema App: "flow_dumper" as follows
> TREMA_HOME=. ../apps/flow_dumper/flow_dumper
[0x000000000000e0] priority = 65535, match = [wildcards = 0, in_port = 1, dl_src = 00:00:00:01:00:02, dl_dst = 00:00:00:01:00:01, dl_vlan = 65535, dl_vlan_pcp = 0, dl_type = 0x800, nw_tos = 0, nw_proto = 17, nw_src = 192.168.0.2/32, nw_dst = 192.168.0.1/32, tp_src = 1, tp_dst = 1], actions = [output: port=2 max_len=65535]
[0x000000000000e0] priority = 65535, match = [wildcards = 0, in_port = 2, dl_src = 00:00:00:01:00:01, dl_dst = 00:00:00:01:00:02, dl_vlan = 65535, dl_vlan_pcp = 0, dl_type = 0x800, nw_tos = 0, nw_proto = 17, nw_src = 192.168.0.1/32, nw_dst = 192.168.0.2/32, tp_src = 1, tp_dst = 1], actions = [output: port=1 max_len=65535]
4. So, we can see all the flows here.
Wednesday, April 11, 2012
[Tutorial] How to setup QoS on Open vSwitch
There are two ways to do that:
1. Interface Rate Limiting ( on Interface )
> sudo ovs-vsctl set Interface eth1 ingress_policing_burst=1000
2. Port QoS Policy ( on Port )
-- --id=@newqos create qos type=linux-htb \
other-config:max-rate=200000000 queues=0=@q0,1=@q1 \
-- --id=@q0 create queue \
other-config:min-rate=100000000 \
other-config:max-rate=100000000 \
-- --id=@q1 create queue \
other-config:min-rate=50000000 \
other-config:max-rate=50000000
1. Interface Rate Limiting ( on Interface )
- For instance:
> sudo ovs-vsctl set Interface eth1 ingress_policing_burst=1000
2. Port QoS Policy ( on Port )
- For instance:
-- --id=@newqos create qos type=linux-htb \
other-config:max-rate=200000000 queues=0=@q0,1=@q1 \
-- --id=@q0 create queue \
other-config:min-rate=100000000 \
other-config:max-rate=100000000 \
-- --id=@q1 create queue \
other-config:min-rate=50000000 \
other-config:max-rate=50000000
- Qos can have more than 1 queue
Tuesday, April 10, 2012
[Open vSwitch] How to get port statistics from interface in OVS
1. Show the bridge info
> sudo ovs-vsctl show
result:
2909bfce-536e-4184-a5bb-507f0553abee
Bridge "br0"
Controller "tcp:10.6.186.244"
Port "br0"
Interface "br0"
type: internal
Port "eth3"
Interface "eth3"
Port "eth2"
Interface "eth2"
Port "eth1"
2. Get port statistics from interface
> sudo ovs-vsctl get Interface br0 statistics
result:
> sudo ovs-vsctl show
result:
2909bfce-536e-4184-a5bb-507f0553abee
Bridge "br0"
Controller "tcp:10.6.186.244"
Port "br0"
Interface "br0"
type: internal
Port "eth3"
Interface "eth3"
Port "eth2"
Interface "eth2"
Port "eth1"
2. Get port statistics from interface
> sudo ovs-vsctl get Interface br0 statistics
result:
{collisions=0,
rx_bytes=0,
rx_crc_err=0,
rx_dropped=0,
rx_errors=0,
rx_frame_err=0,
rx_over_err=0,
rx_packets=0,
tx_bytes=0,
tx_dropped=0,
tx_errors=0,
tx_packets=0}
Monday, April 9, 2012
[Python] How to use Decorators for Functions and Methods
When list_ports() is executed, Class ApiCall will be created for becoming a decorator to examine the arguments as follows:
import sys
class ApiCall(object):
"""A Decorator to add support for format and tenant overriding"""
def __init__(self, function):
self.function = function
def __get__(self, instance, owner):
def with_params(*args, **kwargs):
"""
Temporarily sets the format and tenant for this request
"""
(format, tenant) = (instance.format, instance.tenant)
if 'format' in kwargs:
instance.format = kwargs['format']
if 'tenant' in kwargs:
instance.tenant = kwargs['tenant']
ret = self.function(instance, *args)
(instance.format, instance.tenant) = (format, tenant)
return ret
return with_params
class Client(object):
def __init__(self, tenant=None, format="xml"):
self.tenant = tenant
self.format = format
@ApiCall
def list_ports(self, network):
"""
Fetches a list of ports on a given network
"""
return network
def main():
client = Client(tenant="AAA",format="xml")
client.list_ports('my network')
sys.exit(0)
if __name__ == "__main__":
main()
[Tutorial][Trema] Show Topology
Trema有一個很不錯的App, 可以利用toplogy與 topology_discovery App, 去產生topology graph…如下:
下列為Network emulation的設定檔內容
# virtual switches
vswitch("switch1") { datapath_id
"0x1" }
vswitch("switch2") { datapath_id
"0x2" }
vswitch("switch3") { datapath_id
"0x3" }
vswitch("switch4") { datapath_id
"0x4" }
vswitch("switch4") { datapath_id
"0x5" }
# virtual hosts
vhost("host1")
vhost("host2")
vhost("host3")
vhost("host4")
# virtual links
link "switch1",
"switch2"
link "switch1",
"switch3"
link "switch2",
"switch3"
link "switch2",
"switch4"
link "switch2",
"switch5"
link "switch3",
"switch4"
link "switch3", "switch5"
link "switch3", "switch5"
link "switch4",
"switch5"
link "switch4", "host1"
link "switch4", "host2"
link "switch5", "host3"
link "switch5", "host4"
Wednesday, April 4, 2012
[Tutorial] ovsdbmonitor GUI 設定步驟 (setup procedure)
The following steps are the setup procedure for running ovsdbmonitor GUI
(You have to make sure that your "PYTHONPATH" contains the path of openvswitch source path/python. )
1. 增加PYTHONPATH到 .bashrc
for example:
PYTHONPATH="${PYTHONPATH}:/home/liudanny/Source/openvswitch-1.2.2/python/"
Export PYTHONPATH
2. 增加一個symbolic link for ovsdb-client
sudo ln -s /usr/local/bin/ovsdb-client /usr/bin/ovsdb-client
3. 執行ovsdbmonitor
“your openswitch path”/ovsdb/ovsdbmonitor/ovsdbmonitor
4. 設定Host Properties:
Host name or IP: your openvswitch host
SSH Password: ***
Connect target: unix:/usr/local/var/run/openvswitch/db.sock
* 這個connect target 會與 啟動ovsdb-server daemon 的參數有相關 *
PYTHONPATH="${PYTHONPATH}:/home/liudanny/Source/openvswitch-1.2.2/python/"
Export PYTHONPATH
2. 增加一個symbolic link for ovsdb-client
sudo ln -s /usr/local/bin/ovsdb-client /usr/bin/ovsdb-client
3. 執行ovsdbmonitor
“your openswitch path”/ovsdb/ovsdbmonitor/ovsdbmonitor
4. 設定Host Properties:
Host name or IP: your openvswitch host
SSH Password: ***
Connect target: unix:/usr/local/var/run/openvswitch/db.sock
* 這個connect target 會與 啟動ovsdb-server daemon 的參數有相關 *
sudo ovsdb-server --remote=punix:/usr/local/var/ run/openvswitch/db.sock \
--remote=db: Open_vSwitch,manager_options \
--private- key=db:SSL,private_key \
-- certificate=db:SSL,certificate \
--bootstrap- ca-cert=db:SSL,ca_cert \
--pidfile --detach
5. 相關畫面 (可以看到ovs database 內的table content, 每個頁簽都代表一個table)
[Info] Quantum L3 Model and API
The following link is about adding L3 concept and APIs ( routing between Subnets) into OpenStack Quantum.
http://wiki.openstack.org/quantum-l3
The more information is here:
quantum-l3-service-spec-SumitNaiksatam-5.pdf
http://wiki.openstack.org/quantum-l3
The more information is here:
quantum-l3-service-spec-SumitNaiksatam-5.pdf
Monday, April 2, 2012
如何在Python內使用Singleton方法
# There is an example to do with Singleton in Python
def singleton(cls):
instances = {}
def getinstance():
if cls not in instances:
instances[cls] = cls()
return instances[cls]
return getinstance
@singleton
class MyClass():
def __init__(self):
self.data = "AAA"
if __name__ == "__main__":
obj_a = MyClass()
obj_a.data = "AAAA"
print obj_a, obj_a.data
obj_b = MyClass()
print obj_b, obj_b.data
Big Switch: the SDN Coffee Talks
Big Switch Networks Launches SDN Coffee Talks to Further Educate the
Broader IT Community on Software-Defined Networking (SDN)
the SDN Coffee Talks
http://www.bigswitch.com/sdn- coffee-talks/
Broader IT Community on Software-Defined Networking (SDN)
the SDN Coffee Talks
http://www.bigswitch.com/sdn-
[HowTo] Build up GRE Tunneling on Open vSwitch
// Create a bridge
ovs-vsctl add-br br0
// Build up GRE Tunnel on remote host's ip = x.x.x.x
ovs-vsctl add-port br0 gre0 -- set interface gre0 type=gre options:remote_ip=x.x.x.x
In this article, the author explains more info about GRE Tunneling in details.
http://d.hatena.ne.jp/kazuya_ax/20120420/1334928361
The way for him to build GRE Tunneling is as follows:
ovs-vsctl set interface gre0 type=gre options:remote_ip=x.x.x.x options:pmtud=false
ovs-vsctl add-br br0
// Build up GRE Tunnel on remote host's ip = x.x.x.x
ovs-vsctl add-port br0 gre0 -- set interface gre0 type=gre options:remote_ip=x.x.x.x
In this article, the author explains more info about GRE Tunneling in details.
http://d.hatena.ne.jp/kazuya_ax/20120420/1334928361
The way for him to build GRE Tunneling is as follows:
ovs-vsctl set interface gre0 type=gre options:remote_ip=x.x.x.x options:pmtud=false
Subscribe to:
Posts (Atom)