自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 收藏
  • 关注

原创 bcm56146学习笔记

HiGig/HiGig+/HiGig2HiGig(通常称为HiGigTM)是Broadcom公司的私有串行总线互联方案,于2001年推出,主要用于Broadcom公司StrataXGS系列芯片(如BCM5670/BCM5690等)之间的互联(也可以跟支持HiGig协议的NPU或ASIC连接),既可用于板内连接,也可通过背板走线形式实现跨板连接。HiGig总线是在以太网协议的基础上发展而来的,它在以...

2018-04-23 11:10:48 2420

原创 windows + virtualbox + ubuntu1404

1、使用virtualbox自带增强,提供共享文件夹;2、安装telnetd(http://blog.csdn.net/linux_ever/article/details/50519028)3、安装samba(http://blog.csdn.net/a1232345/article/details/49473963),配置如下:[share]  path = /home/tes

2017-07-18 11:13:08 350

原创 三层交换机--访问本地VLANIF接口所需要的L3表项

(SDK5-10-2)L3包含三个表项:l3table、DEFIP、INTF。将vlanif接口的MAC地址下发到 INTF 表项中,同时将vlanif接口的网段信息,比如192.168.1.0/24 端口 0 等信息下发至DEFIP表中,其中DEFIP表项中的INTF目前没有发现与前面的INTF产生关联的地方;访问步骤:1、包含目的地址是vlanif的报文进入L2处理,发现存在静态此

2017-07-17 15:35:27 2157

原创 CLI中如何调整命令的显示位置及“!”符号显示

在使用show running-config或write命令时,1、调用vtysh_client_config(),将vtysh_client[ ]中的所有client,执行已注册的write(),将所有命令字符串保存在buf中;2、调整enmu node_type{}中*_NODE宏的位置;3、vtysh_client_config()-->vtysh_config_parse()-

2017-02-24 11:32:12 617

原创 VirtualBox下设置与Ubuntu14.04 共享文件夹并自动挂载

一、安装 VirtualBox 的 VBoxGuestAddition.iso,在“设备”->“安装增强功能”,后重启。二、VirtualBox的“设备”->“分配数据空间”,添加固定分配,如F:\share, 名称share。三、创建ubuntu内的共享目录:#mkdir /mnt/share#sudo mount -t vboxsf share /mnt/share

2016-12-26 14:40:09 3838

原创 [VTYSH] CLI命令行----'?'

1、在vtysh_main.c文件main中:调用vtysh_readline_init()函数;2、vtysh_readline_init()函数中:调用rl_bind_key()函数;其中:rl_bind_key(‘?, (Function *) vtysh_rl_describe’);3、vtysh_rl_describe()函数就是用来CLI实现命令说明的。

2015-03-13 14:04:21 2639

转载 交互shell设置为/dev/console之后提示job control turned off(下)

一、为什么ash本身从串口读取没问题这个是我之后突然又想到的一个问题,为什么直接继承init的console文件描述符之后,作为交互式的ash没有出现read失败,而单单密码的读取会出现失败呢?如果是读取用户命令行输入的时候修改了文件描述符的属性,那么在读取密码的时候就应该也没有问题,这个就比较诡异了。二、ash输入读取在busybox-1.14.2\shell\ash.c文件中,对于

2015-01-15 14:02:13 1072

转载 交互shell设置为/dev/console之后提示job control turned off(中)

一、回顾一下之前是说,对于etc/inittab中配置项,如果在执行的交互式shell命令前没有添加‘-’的话,那么系统启动的时候,shell会提示job control turned off,这个提示可能乍一看不知道是啥意思,反正惊出一身冷汗还是妥妥的。这里的输出的意思就是shell没有找到自己的控制终端,而这个控制终端一般是session leader打开第一个tty设备的时候由内

2015-01-15 14:01:18 1367

转载 交互shell设置为/dev/console之后提示job control turned off(上)

一、busybox交互shell设置这个是一个测试busybox功能的实现,主要就是配置了/etc/inittab文件中有一项,其内容为/dev/console::respawn:/bin/ash之类的一个配置项,然后提示了一个错误,所谓“提示无意、听者有心”,我也就注意到了这个提示,所以就看了一下busybox及内核的代码,想说明个大概是啥意思,可能也不一定对,但是慢慢积累,总是要一

2015-01-15 14:00:13 3210

转载 【IPV6】IP地址分配原则

IPv6最显著的特征就在于它的巨量的地址空间,我们知道IPv6采用128位的地址长度,是IPv4的四倍。在IPv4时最多就可有2^32或4,294,967,296(40多亿)个可能的IP地址,但由于对这些IP进行分类,实际上可利用的IP地址就少许多。而当IPv6地址长度为128位时,则将有2^128或340,282,366,920,938,463,463,374,607,431,768,2

2014-12-03 17:25:35 29238 2

原创 路由分类

路由的分类方法很多,按转发的目的分,简单的可分为三类,一是主机路由,二是直连路由,三是网关路由。  1.什么是主机路由?  比如,本机在 eth0 添加了一个 IPv6 地址 1010::aaaa:1,此时,如果从 eth2 接口收到一个到 1010::aaaa:1 的数据包,对于 eth2 发现数据包的目的地址不是本接口的地址,应该转发或扔掉,转发的时候,必须要知道发给谁,所

2014-05-23 13:30:44 1645

转载 [*] Linux实现的ARP缓存老化时间原理解析

一.问题众所周知,ARP是一个链路层的地址解析协议,它以IP地址为键值,查询保有该IP地址主机的MAC地址。协议的详情就不详述了,你可以看RFC,也可以看教科书。这里写这么一篇文章,主要是为了做一点记录,同时也为同学们提供一点思路。具体呢,我遇到过两个问题:1.使用keepalived进行热备份的系统需要一个虚拟的IP地址,然而该虚拟IP地址到底属于哪台机器是根据热备群的主备来决定的,

2014-05-22 10:21:06 3387

转载 Linux系统--route命令详解

Linux系统的route命令用于显示和操作IP路由表(show / manipulate the IP routing table)。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。在Linux系统中,设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的IP地址设

2014-03-31 15:27:40 1132

原创 Complete L2/L3-lite

"The difference between L2 managed, L3 lite, L3 RIP, and L3 advanced is the level of routing they provide (amongst other things):•L2 - no routing•L3 lite - L2 features + static routing, usually li

2013-12-10 10:47:03 847

转载 main函数之前 与 之后

一种解释实际上,在可执行文件被加载之后,控制权立即交给由编译器插入的Start函数,它将对后面这些全局变量进行准备:   _osver 操作系统的构件编号 _winmajor 操作系统的主版本号 _winminor 操作系统的次版本号 _winver 操作系统完全版本号 __argc 命令行参数个数  __argv 指向参数字符串的

2013-10-10 10:24:48 714

转载 一次路由 多次交换[以太网正解]

三层交换机的结构:ASIC芯片和CPUASIC芯片用于完成二层和三层的转发,内部包含用于二层转发的MAC地址表和用于IP转发的三层转发表。CPU用于转发的控制,主要维护一些软件表项(包括路由表,ARP表),并根据软件表项的转发信息来配置ASIC的硬件三层转发表。真正决定高速转交换转发的是ASCIC的二三层硬件表项,而ASIC的硬件表来源于CPU维护的软件表项。假设A和B处于两个

2013-07-02 15:16:14 2044 1

转载 以太网端口的双工模式和速率

设置以太网端口的双工模式和速率时,需要注意如下事项:设置端口双工模式注意事项端口类型                                   双工状态设置注意事项百兆以太网电口                       可以工作在 full、half 或 auto 模式下,可以根据需要对其设置 ;千兆以太网电 口                      可以工作在

2013-05-09 16:38:26 6826

转载 在linux内核中操作文件的方法--使用get_fs()和set_fs(get_ds())

#include #include #include #include #include #include #include #include #include #define MY_FILE "/tmp/LogFile"char buf[128];struct file *file = NULL;static int __init init(void){

2013-03-21 11:35:19 1576

原创 大小端测试用例 (C语言)

#include static union { char c[4]; unsigned long l; } endian_test = { {'l','?','?','b'} };#define ENDIANNESS ((char)endian_test.l)int main(void){ char c = ENDIANNESS; if(c == 'l') printf("l

2013-02-21 10:17:18 832

原创 三层交换机学习--三层表项精确匹配和最长匹配

1、三层转发是必然需要路由信息的,而转发过程中的路由选择决定了报文的最终出口如何,三层交换机只是将这种路由功能整合到交换芯片中去了。2、路由选择存在精确匹配和最长匹配两种方式。2.1、精确匹配即目的IP地址与路由的地址信息必须完全吻合;2.2、最长匹配则是选择所有包含了目的地址的路由中掩码最长的一条。2.3、早期的三层交换机上其交换芯片多采用精确匹配的方式它们的硬件三层表项中只包含

2012-12-24 11:56:59 6502

转载 关于802.3u快速以太网规范(快速链路脉冲)

Fast Link PulseAuto-Negotiation takes place using Fast Link Pulse (FLP) signals. These signals are a modified version of the Normal Link Pulse (NLP) signals used for verifying link integrity, as

2012-12-05 17:17:15 5500

原创 Linux Shell脚本实现自动交互

方法一:(以OpenSSH编译完成之后的 拷贝和生成key 为例)#!/bin/bashDIR_PATH=$HOME/sshdfilecp sshd $DIR_PATH/sbincp scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan $DIR_PATH/bincp sftp-server ssh-keysign $DIR_

2012-11-23 14:00:02 4048

原创 网络--QOS(PAUSE帧与BackPressure背压)

BCM56224芯片支持4种QOS模式:基于端口(Port-ID)、基于MAC地址、基于802.1p、基于DiffServ的优先级设置。基于802.1p、基于DiffServ的优先级设置的寄存器在Register Definitions中很快找到;而基于端口的优先级设置寄存器却在802.1Q Vlan章节中。配置过程中会遇到QOS PAUSE Enable Register寄存

2012-09-12 13:41:55 7898 3

转载 网络--QOS

1  概述1.1  产生背景在传统的IP网络中,所有的报文都被无区别的等同对待,每个转发设备对所有的报文均采用先入先出(FIFO)的策略进行处理,它尽最大的努力(Best-Effort)将报文送到目的地,但对报文传送的可靠性、传送延迟等性能不提供任何保证。网络发展日新月异,随着IP网络上新应用的不断出现,对IP网络的服务质量也提出了新的要求,例如VoIP等实时业务就对报文的传输延迟提出

2012-09-11 18:05:00 7005

原创 BCM53262芯片开发手册----静态组播表

BCM53262 Switch芯片支持静态组播表人为设置,支持4K的组播地址索引。使用NuDog 310C双网卡测试设备,A口发送,B口抓取。一、发现B口网线在组播转发口插拔时,要10S左右才能正常收到组播报文?                可能是开启了STP或RSTP功能,在生成树未完成之前端口状态不稳定,所以不能正常转发。二、BCM53262芯片默认支持未知组播洪泛;

2012-08-14 14:52:39 4573

原创 Serdes小记

1.Switch(MAC) 芯片如果内置Serdes,则可以直接出Fiber物理接口(如千兆光口);2.如果没有,则可以通过SGMII接口连接PHY芯片(PHY芯片也必须选择SGMII模式),如果PHY芯片支持Serdes,则也可以出Fiber物理接口(如千兆光口),如果不支持则可以出copper物理接口(如千兆电口);3.Switch(MAC) 芯片也可以直接出copper物理接口(如百

2012-08-02 10:00:35 1861

转载 linux进程调度程序schedule--系统何时夺回CPU的控制权

CPU控制权的夺回如果某个程序无休止地运行下去,它会不会一直霸占CPU?答案是否定的,因为操作系统会剥夺它的CPU使用权。又如,在一个分时操作系统中,操作系统每隔一个时间片调度一个新的就绪进程执行。我以前不太明白的是,操作系统要剥夺其他进程的CPU使用权,那么它必须先得到CPU的控制权。在单CPU的环境下,操作系统怎么夺回控制权呢(在其他进程运行的时候,操作系统的进程是阻塞

2012-06-30 13:44:26 1244

原创 ubuntu 删除目录及子目录中指定文件

find   ./apps   -name '.svn' | xargs rm -r上面的命令是删除./apps目录及其子目录下所有.svn文件

2012-03-13 13:38:12 4586

转载 生成树协议STP/RSTP初步介绍

STP(Spanning Tree Protocol)生成树协议是一种二层管理协议,它通过有选择性地阻塞网络冗余链路来达到消除网络二层环路的目的,同时具备链路的备份功能。  生成树协议和其他协议一样,是随着网络的不断发展而不断更新换代的。“生成树协议”是一个广义的概念,并不是特指IEEE 802.1D中定义的STP协议,而是包括STP以及各种在STP基础上经过改进了的生成树协议。

2012-03-03 11:31:20 1342

转载 ubuntu10.10 搭建svn服务器 配合Apache2实现目录访问权限控制

1.安装# sudo apt-get install subversion subversion-tools# sudo apt-get install apache2 libapache2-svn2.增加svn用户组,用于管理svn,并加入到www-data的apache组:# sudo addgroup subversion# sudo usermod -G subve

2012-02-16 14:56:02 1617

转载 MII及其工作原理

MIIMII(Media Independent Interface(介质无关接口));或称为媒体独立接口,它是IEEE-802.3定义的以太网行业标准。它包括一个数据接口,以及一个MAC和PHY之间的管理接口。数据接口包括分别用于发送器和接收器的两条独立信道。每条信道都有自己的数据、时钟和控制信号。MII数据接口总共需要16个信号。管理接口是个双信号接口:一个是时钟信号,另一个是数据信号。通

2012-01-10 10:39:01 2272

转载 LINUX SIGNAL信号标志详解

在终端使用kill -l 命令可以显示所有的信号。$kill -l1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE9) SIGKILL 10) SIG

2011-08-16 17:36:27 15654

原创 linux 内核中的 Makefile

对于内核,Makefile分为5类:    Documentation/kbuild/makefiles.txt描述如下:50 The Makefiles have five parts:51 52     Makefile                总Makefile,控制

2011-07-22 11:15:22 1007

原创 linux 内核代码树介绍

linux-2.6.29     |-arch          : 包含和硬件体系结构相关的代码    |-block        : 硬盘调度算法,不是驱动    |-firmware     : 固件    |-Documentation : 标准官方文档    |-di

2011-07-22 10:58:59 968

转载 GCC 编译全过程

现代编译器常见的编译过程:源文件-->预处理-->编译/优化-->汇编-->链接-->可执行文件对于gcc而言:第一步 预处理       命令: gcc -o test.i -E test.c             或者 cpp -o test.i test.c (这里cpp

2011-07-15 08:40:06 1320

转载 GPIO的上拉下拉功能说明

The port pull-up register controls the pull-up resister enable/disable of each port group. When the corresponding bit is 0, the pull-up resi

2011-07-11 14:36:13 10386

原创 C语言#define宏的扩展

使用带参数的宏定义可完成函数调用的功能,又能减少系统开 销,提高运行效率。正如C语言中所讲,函数的使用可以使程序更加模块化,便于组织,而且可重复利用,但在发生函数调用时,需要保留调用函数的现场,以便子 函数执行结束后能返回继续执行,同样在子函数执行完后要恢复调用函数的现场,这都需要一定的时间,如果子函数执行的操作比较多,这种转换时间开销可以忽 略,但如果子函数完成的功能比较少,甚至

2011-06-30 14:07:00 3500

转载 UNIX/LINUX 平台可执行文件格式分析

本文讨论了 UNIX/LINUX 平台下三种主要的可执行文件格式:a.out(assembler and link editor output 汇编器和链接编辑器的输出)、COFF(Common Object File Format 通用对象文件格式)、ELF(Executable and Linking Format 可执行和链接格式)。首先是对可执行文件格式的一个综述,并通过描述 ELF 文件加载过程以揭示可执行文件内容与加载运行操作之间的关系。随后依此讨论了此三种文件格式,并着重讨论

2011-05-26 11:22:00 625

转载 C语言编译过程总结详解

偶然看到一位网友的文章写得很全面,故转帖,以作备忘。       C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接。编译就是把文本形式源代码翻译为机器语言形式的目标文件的过程。链接是把目标文件、操作系统的启动代码和用到的库文件进行组织形成最终生成可执行代码的过程。过程图解如下:        从图上可以看到,整个代码的编译过程分为编译和链接两个过程,编译对应图中的大括号括起的部分,其余则为链接过程。编译过程编译过程又可以分成两个

2011-05-26 11:17:00 1317

原创 C/C++中获取系统时间

<br />Include head file time.h, though it's a C include file, C++ certainly can use it. Under C++, you can include <ctime> instead of <time.h> _____________________________________________________ time.h @函数名称: localtime 函数原型: struct tm *localt

2011-05-06 11:18:00 733

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除