Skip to content

Instantly share code, notes, and snippets.

View shun159's full-sized avatar
☁️
In da cloud

Eishun Kondoh shun159

☁️
In da cloud
View GitHub Profile
@shun159
shun159 / slice
Last active December 23, 2015 08:09
Sliceable Switchのweb関連のところにあたるはずのもの。(ラフ画)
require 'json'
require 'sinatra/base'
require 'webrick'
require 'log'
class Time
def to_s
strftime( "%Y-%m-%d %H:%M:%S" )
end
end
@shun159
shun159 / Slice.rb
Last active December 23, 2015 08:19
Sliceable SwitchのSlice.pmに当たるはずの部分。(ラフ画)
require "rubygems"
require "sqlite3"
class Slice
SUCCEEDED = 0
FAILED = -1
NO_SLICE_FOUND = -2
NO_BINDING_FOUND = -3
@shun159
shun159 / fdb.rb
Created September 18, 2013 09:13
Learning Switchのfdbをvidまで見れるようにした。意外と必要。
class ForwardingEntry
include DefaultLogger
attr_reader :mac
attr_reader :port_no
attr_reader :dpid
attr_reader :vid
attr_writer :age_max
require "pio/type/mac-address"
module Pio
module Type
module Ieee802dot1qHeader
def ieee802dot1q_header options
class_eval do
mac_address :destination_mac
mac_address :source_mac
@shun159
shun159 / icmp_data.rb
Last active December 23, 2015 14:19
ICMPのバイナリデータです。4種類あります。
# ICMP Type
ECHO_REQUEST = 8
ECHO_REPLY = 0
TTL_EXCEEDED = 11
DESTINATION_UNREACHABLE = 3
# DESTINATION_UNREACHABLE code.
-module( flower_dpid_table ).
-behaviour(gen_server).
%% gen_server callbacks
-export([ init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2, code_change/3 ]).
%% APIs
-export( [ insert_dpid_entry/2, delete_dpid_entry/1, get_switches/0 ] ).
/**
*
*/
package org.openflow.example;
import java.io.IOException;
import java.net.InetAddress;
import java.nio.channels.SelectionKey;
import java.nio.channels.ServerSocketChannel;
import java.nio.channels.SocketChannel;
get '/switches/?'
get '/switches/:datapath_id/?'
get '/switches/:datapath_id/description/?'
get '/switches/:datapath_id/features/?'
get '/switches/:datapath_id/ports/?'
get '/switches/:datapath_id/ports/:port_no/?'
post '/switches/whitelist/add/'
get '/switches/whitelist/show/'
delete '/switches/whitelist/del/'
post '/switches/blacklist/add/'
#<Sinatra::Request:0x7f3055151ad0
@env=
{"rack.logger"=>
#<Rack::NullLogger:0x7f30551659e0
@app=
#<Rack::Protection::FrameOptions:0x7f3055165c38
@app=
#<Rack::Protection::HttpOrigin:0x7f3055165dc8
@app=
#<Rack::Protection::IPSpoofing:0x7f3055165f58
@shun159
shun159 / dhcp.rb
Last active December 26, 2015 11:18
dhcp.rb
require "rubygems"
require "bindata"
require "pio/dhcp/frame"
require "pio/dhcp/request"
require "pio/dhcp/reply"
module Pio
# Dhcp parser and generator.