- 博客(366)
- 资源 (2)
- 论坛 (27)
- 收藏
- 关注
原创 opendaylight(Li)下toaster APP的简单实现
OS:ubuntu 14.04 64bit一、安装jdk准备资材:jdk-8u72-linux-x64.tar.gz(之前使用了jdk7,compile时报“java/util/function/consumer”找不到)1.解压jdk进入/usr/local目录后,解压文件#cd /usr/local#tar xzvf /home/todd/jdk-8
2016-04-04 20:14:41
2706
1
原创 shell相关注意点
一、read命令读取文件时会自动去掉行前后的空格。a.txt:(每行前后都有空格) 11111 222222 3333333 a.sh:#!/bin/bashwhile read oneline;do echo "$oneline"done 执行结果:11111122222
2016-03-10 18:12:58
1060
1
原创 opendaylight(Li) l2switch 源代码分析(3)--packethandler
本文介绍packethander工程,该工程用于对进入到controller的packet进行解析并分发到不同的模块进行处理。工程分为四个部分:config文件夹:packethander的配置信息,如plugin的部署顺序,初始化时的配置。implementation文件夹:service的具体实现,包含了java和yang。model文件夹:定义了packet相关的yang
2016-03-07 23:11:56
1749
1
原创 opendaylight(Li) l2switch 源代码分析(2)--parent
本文主要介绍l2switch中的parent工程,该工程定义了运行L2switch所使用的依赖模块以及版本等。该工程下只有一个pom.xml文件,下面对该文件中的主要内容进行说明:1. org.opendaylight.odlparent odlparent 1.7.0-SNAPSHOT 该工程继承了工程“org.opendaylig
2016-02-26 22:40:44
2330
原创 opendaylight(Li) l2switch 源代码分析(1)--代码的整体结构和整体pom.xml
opendaylight l2switch提供了L2 switch的功能,下面通过对源代码进行解说来介绍该项目的功能。一、源代码整体结构1.l2switch的源代码github地址为:https://github.com/opendaylight/l2switch.git2.L2switch构架parent 定义了运行L2switch所使用的依赖模块以及版本等。
2016-02-25 22:02:10
2803
原创 redhat7.1 64bit上rpm安装mysql 5.6
因为redhat7.1自带了mariadb的lib,所以需要先卸载:# yum remove mariadb-libs-5.5.41-2.el7_0.x86_64安装mysql的相关rpm:# rpm -ivh MySQL-server-5.6.23-1.el7.x86_64.rpm# rpm -ivh MySQL-devel-5.6.23-1.el7.x86_64.rpm
2016-01-14 13:22:39
2401
原创 apache整合tomcat实现负载均衡
这种整合方式能够使apache成为反向代理,将请求均匀地转发到多台tomcat之一,从而达到负载均衡的目的。负载均衡的方式我知道有三种:1.mod_proxy方式。2.mod_proxy_blancer方式3.ajp方式。本文只介绍mod_proxy_blancer方式。系统版本:Ubuntu 14.04.1 LTS内核版本:3.13.0-32-gene
2016-01-11 23:26:55
571
原创 apache整合tomcat实现动静分离
关于为什么要将apache和tomcat整合起来,网上的说明也很多,下面我引用一下觉得整理的比较好的,以内容转载于:http://blog.csdn.net/stefyue/article/details/6918542----------------------------转载开始------------------------------------------Apache和T
2016-01-03 15:20:07
4797
原创 关于WAN
最近在做WAN的SDN,因为之前的项目很少接触到WAN,对WAN的认识也只停留在书上的一些零碎的概念,什么ATM,SDH,帧中继之类的,对于知识没有进行打包整理。趁着项目间隙,好好整理了下,虽然还是皮毛,也算是有了一些进步。(注意:因为都是通过整理网上的资料和自己脑补而来的,难免有错,也希望大家多多指正。)起初的WAN构成如下:其中接入和汇聚主要时PSTN和ISDN,I
2015-12-15 22:37:28
1110
原创 opendalight(Li) northbound APP 开发
1.install JDK(需要1.7+版本)下载JDK:jdk-7u79-linux-x64.tar.gz解压文件到/usr/local/目录下。在/etc/profile文件下添加环境变量:export JAVA_HOME=/usr/local/jdk1.7.0_79export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$
2015-11-28 22:42:14
1394
原创 远程进行kvm虚拟机的安装
# virsh versionCompiled against library: libvirt 1.1.1Using library: libvirt 1.1.1Using API: QEMU 1.1.1Running hypervisor: QEMU 1.5.3cat /etc/redhat-releaseRed Hat Enterprise Linux Server
2015-04-26 21:44:34
2363
原创 对openstack(JUNO)的neutron的相关测试
这两天对公司的的openstack环境进行测试,因为环境是别的同事搭建的,我这边只负责相关的测试,一台服务器独立安装controller node,另外两台服务器都安装network node+compute node。大概环境如下:外网IP网段是192.168.1.0/24,其中192.168.1.100~192.168.1.200为floatingip分配范围,内网IP网段是1
2015-04-07 21:35:37
1094
原创 《GNU make项目管理》笔记--变量与宏(2)
1.何时扩展变量当make在处理递归变量或define指令的时候,会将变量里的每一行或宏的主体存储起来,包括换行符号,但不会予以扩展。宏定义里的最后一个换行符号并不会被存储称宏的一部分,否则,宏被扩展时make会读进一个额外的换行符号。当宏被扩展时,make会立即扫描被扩展的文本中是否存在宏或变量的引用,如果存在就予以扩展,如此递归进行下去。如果宏是在命令脚本的语境中被扩展的,则宏
2015-03-13 13:46:51
1519
转载 Makefile与shell脚本区别
本文转载于:http://blog.chinaunix.net/uid-20672257-id-3345593.html在Makefile可以调用shell脚本,但是Makefile和shell脚本是不同的。本文试着归纳一下Makefile和shell脚本的不同。1、 shell中所有引用以$打头的变量其后要加{},而在Makefile中的变量是以$打头的后加()。实例如下
2015-02-10 15:21:00
2266
原创 《GNU make项目管理》笔记--变量与宏(1)
make包含两种语言。第一种语言用来描述工作与必要条件所组成的依存图。第二种语言是宏语言,用来进行文字替换。像C预处理器,m4以及宏汇编器。一个变量名称几乎可以由任何字符自称。包括大部分的标点符号,即使空格也可以使用,但应该避免这么做。事实上只有:、#和=等字符不允许使用在变量名称中。变量名称是区分大小写的。要取得某个变量的值,请使用$()括住该变量的名称,有一个特例:变量名称若为
2015-02-04 22:52:48
1515
原创 《GNU make项目管理》笔记--规则(3)
1.管理程序库程序库(archive library)是一个特殊的文件,该文件内含其他被称为成员的文件。程序库可用来将相关的目标文件聚集成较容易操作的单元,例如,C的标准程序库lib.a就包含了许多低级的C函数。因为程序库如此常见,所以make对它们的创建、维护以及引用提供了特别的支持。程序库的建立及修改可通过ar程序来进行。下面我们看一个例子,程序包结构如下:根目录
2015-02-03 22:55:46
1209
转载 主频、倍频、外频、前端总线
本文内容转载于:http://baike.baidu.com/link?url=6EWCDU6Ak1VqA8e_s7SygoQYuc0nSlU8MNt3Xih5HjNZdUz6THKHPzpNABw9gc2_MAKs_ZaQna8GBYiYTW97zqhttp://baike.baidu.com/link?url=-q-EW2nsWR5-lN6k3JlpFy_G9-82Ujn6XVaya0
2015-01-26 22:59:56
5505
转载 Ubuntu 12.04保存屏幕亮度解决方法
本文转载于:http://linzhibin824.blog.163.com/blog/static/7355771020133532038651/Ubuntu 12.04 LTS不能自动保存亮度:每次登陆、解锁后,都是最大亮度,非常讨厌!1、打开终端,输入命令查看本机支持的最大亮度值cat /sys/class/backlight/acpi_video0/max_brightne
2015-01-25 22:53:54
813
原创 《GNU make项目管理》笔记--规则(2)
有如下的源代码树:根目录|---makefile|----|include|| |___myutil.h|___|src| |----myutil.c |__main.c各文件内容如下:main.c:#include #include "myutil.h"int main(void) {
2015-01-22 22:52:06
1141
原创 《GNU make项目管理》笔记--规则(1)
1.通配符当你有一长串文件要制定时,为了简化此过程,make提供了通配符(wildcard),此功能也被称为文件名模式匹配。make的通配符如同Bourne shell的~、*、?、[...]和[^...]。举例来说,*.*会被扩展成文件名中包含点号的所有文件,一个问号代表任何单一字符,而[...]代表一个字符集。若要取得字符集的补集,则可以使用[^...]。此外,“~”符号可以用
2015-01-20 23:12:38
1495
原创 《GNU make项目管理》笔记--简单的makefile
make定义了一种语言,可用来描述源文件、中间文件以及可执行文件之间的关系。它还提供了一些功能,可用来管理各种候选配置、实现可重用程序库的细节以及让用户自定义宏将过程参数化。简言之,make常被视为开发过程的核心,因为它为应用程序的组件以及这些组件的搭配方式提供了一个可依循的准则。make的主要价值在于它由能力完成编译应用程序时所需要的一系列复杂步骤,以及当有可能缩短“编辑-编译-调试
2015-01-15 21:56:05
3071
原创 《TCP/IP详解卷2:实现》笔记--原始IP
应用进程在Internet域中创建一个SOCK_RAW类型的插口,就可以利用原始IP层。一般有下列3种用法:1.应用进程可利用原始插口发送和接收ICMP和IGMP报文。有些选路守护程序,利用这一特征跟踪通常由内核处理的ICMP重定向报文段。这个特征还用于实现基于ICMP的协议,如路由通告和路由请求,他们需用到ICMP,不过最好由应用进程,而不是内核完成相应处理。多播路由守护程序
2015-01-13 21:51:21
1939
原创 《TCP/IP详解卷2:实现》笔记--BPF:BSD 分组过滤程序
BSD分组过滤程序(BPF)是一种软件设备,用于过滤网络接口的数据流,即给网络接口加上开关。应用进程打开/dev/bpf0、/dev/bpf1等等后,可以读取BPF设备,每个应用进程一次只能打开一个BPF设备。通过若干ioctl命令,可以配置BPF设备,把它与某个网络接口相关联,并安装过滤程序,从而能够选择性地接收输入的分组。BPF设备打开后,应用进程通过读写设备来接收分组,或将分组放
2015-01-12 21:51:58
2736
原创 《TCP/IP详解卷2:实现》笔记--TCP的用户需求
本文介绍TCP的用户请求处理函数tcp_usrreq,它被协议的pr_usrreq函数调用,处理各种与tcp插口有关的系统调用,此外,还将介绍tcp_ctloutput,应用进程调用setsockopt设定tcp插口选项时会用到它。
2015-01-10 23:41:56
1565
原创 《TCP/IP详解卷2:实现》笔记--TCP的输入(续)
本文处理ACK标志,更新窗口信息,处理URG标志及报文段中携带的所有数据,最后处理FIN标志,如果需要,则调用tcp_output。1.完成被动打开和同时打开
2015-01-07 21:52:21
1220
原创 《TCP/IP详解卷2:实现》笔记--TCP的输入
当收到的数据报的协议字段指明这是一个TCP报文段时,ipintr(通过协议协议转换表中的pr_input函数)会调用tcp_input进行处理,tcp_inut在软件中断一级执行。函数非常长,我们将分两张讨论,下图列出了tcp_input中的处理框架。本章将结束对RST报文段处理的讲解,下一章开始介绍ACK报文段的处理。
2015-01-06 22:45:00
2207
1
原创 《TCP/IP详解卷2:实现》笔记--TCP输出
函数tcp_output负责发送报文段,代码中很多地方都调用了它。tcp_usrreq在多种请求处理中调用了这一函数:处理PRU_CONNECT,发送初始SYN;处理PRU_SHUTDOWN,发送FIN;处理PRU_RCVD,应用进程从插口接收缓存中读取若干数据后可能需要发送新的窗口大小通告;处理PRU_SEND,发送数据;处理PRU_SENDOOB,发送带外数据。tcp_fast
2015-01-05 22:56:59
1245
原创 《TCP/IP详解卷2:实现》笔记--TCP:传输控制协议
传输控制协议,即TCP,是一种面向连接的传输协议,为两端的应用程序提供可靠的端到端数据流传输服务,它完全不同于无连接的、提供不可靠数据传输服务的UDP协议。
2014-12-30 22:50:01
2057
原创 《TCP/IP详解卷2:实现》笔记--UDP:用户数据报协议
用户数据报协议,即UDP,是一个面向数据报的简单运输层协议:进程的每次输出操作只产生一个UDP数据报,从而发送一个IP数据报。进程通过创建一个Internet域内的SOCK_DGRAM类型的插口,来访问UDP。该类型插口默认地称为无连接的。每次进程发送数据时,必须指定目的IP地址和端口号。每次从插口上接收数据报时,进程可以从数据报中收到源IP地址和端口号。
2014-12-20 23:16:35
2947
转载 理解chroot
本文转载于:http://www.ibm.com/developerworks/cn/linux/l-cn-chroot/index.html什么是 chrootchroot,即 change root directory (更改 root 目录)。在 linux 系统中,系统默认的目录结构都是以 `/`,即是以根 (root) 开始的。而在使用 chroot 之后,系
2014-11-12 17:07:56
795
转载 我重新安装了 Windows,可是启动时却找不到 Ubuntu 的启动项了?
本文转载于:http://people.ubuntu.com/~happyaron/udc-cn/lucid-html/ch11s06.html使用 LiveCD/LiveUSB 或者硬盘安装的方法,进入一个 live 环境,挂载上原来的根分区,比如挂载为 /mnt/temp,运行命令: 创建 /mnt/temp:sudo mkdir /mnt/temp挂载原来的根
2014-11-12 16:56:13
1077
原创 《TCP/IP详解卷2:实现》笔记--选路插口
一个进程使用选路域(routing domain)中的一个插口来发送和接收选路报文,socket系统调用需要制定一个PF_ROUTE的族类型和一个SOCK_RAW的插口类型。该进程可以向内核发送以下五种选路报文:1.RTM_ADD:增加一条新路由。2.RTM_DELETE:删除一条已经存在的路由。3.RTM_GET:取得有关一条路由的所有信息。4.RTM_CHANGE:改变一条
2014-10-23 22:44:05
1709
原创 《TCP/IP详解卷2:实现》笔记--选路请求和选路消息
内核的各种协议并不直接使用前面提供的函数来访问选路树,而是调用几个函数:rtalloc和rtallocl是完成路由表查询的两个函数;rtrequest函数用于添加和删除路由表项;另外大多数接口在接口连接或断开时都会调用函数rtinit。选路消息在两个方向上传递信息。进程(route命令)或守护进程(routed或gated)把选路消息写入选路插口,以使内核添加路由、删除路由或者修改现有
2014-10-21 22:18:22
2575
原创 《TCP/IP详解卷2:实现》笔记--Radix树路由表
由IP完成的路由选择是一种选路机制,它通过搜索路由表来确定从哪个接口把分组发送出去,它与选路策略不一样,选路策略是一组规则的集合,这些规则用来确定哪些路由可以编入到路由表中,Net/3内核实现选路机制,而选路守护进程,典型地如routed或gated,实现选路策略。
2014-10-12 15:42:38
5208
转载 bash代码注入的安全漏洞
本文转载于:http://www.kankanews.com/ICkengine/archives/182068.shtml
2014-10-11 14:37:49
839
哈弗曼编码实现文件压缩
2014-09-07
关于获取cpu字长的程序
发表于 2013-03-22 最后回复 2019-09-16
CAS单点认证的问题
发表于 2014-06-18 最后回复 2014-06-25
信号量的问题
发表于 2013-12-11 最后回复 2014-06-18
vfork函数
发表于 2013-11-11 最后回复 2013-11-14
关于cat << EOF
发表于 2013-08-14 最后回复 2013-08-18
epoll的问题
发表于 2013-07-12 最后回复 2013-07-17
关于strcat函数
发表于 2012-08-21 最后回复 2013-06-05
bus error
发表于 2013-04-17 最后回复 2013-04-17
ssh无法连接至服务器,急!
发表于 2013-03-17 最后回复 2013-03-17
关于netbios
发表于 2013-03-13 最后回复 2013-03-14
关于access函数
发表于 2013-03-05 最后回复 2013-03-05
关于windwos和linux之间的文件共享
发表于 2013-01-02 最后回复 2013-01-02
关于文件的access time
发表于 2012-11-26 最后回复 2012-11-30
mysql的问题
发表于 2012-07-20 最后回复 2012-11-23
关于linux分区挂载的问题
发表于 2012-08-31 最后回复 2012-09-01
关于root组的问题
发表于 2012-08-10 最后回复 2012-08-10
计算机基础问题
发表于 2012-08-05 最后回复 2012-08-07
关于rpm命令的-q选项
发表于 2012-08-02 最后回复 2012-08-02
关于tar命令的v选项
发表于 2012-08-02 最后回复 2012-08-02
VNC相关
发表于 2011-06-17 最后回复 2012-07-20
共享内存的问题
发表于 2011-06-07 最后回复 2011-06-09
字符串赋值的问题
发表于 2011-03-24 最后回复 2011-03-24
关于内存对齐
发表于 2011-03-18 最后回复 2011-03-18
二维数组的问题
发表于 2011-03-05 最后回复 2011-03-05
修改字符串常量的问题
发表于 2011-03-05 最后回复 2011-03-05
函数指针的问题
发表于 2011-02-22 最后回复 2011-02-22
关于遵循GPL协议进行商用的问题
发表于 2010-09-07 最后回复 2010-09-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝