定义新的协议域:
#define PF_NEW_DOMAIN 17
定义新的套接字结构:
struct sockaddr_new_domain {
short sn_family/* 套接字类型 */
char sn_data[128]/* 地址数据 */
}
(2)编辑net/socket.c,定义新的协议函数:
static struct net_proto_family new_domain_family_ops = {
.family = PF_NEW_DOMAIN,
.create = new_domain_create,
.owner = THIS_MODULE,
}
/* 新协议创建函数 */
int new_domain_create(struct net *net, struct socket *sock,
int protocol, int kern)
{
/* 创建新的套接字 */
return 0
}
(3)编辑net/core/sock.c,把新的协议函数注册到内核:
/* 注册新协议函数 */
void __init new_domain_init(void)
{
sock_register(&new_domain_family_ops)
}
(4)编辑net/core/dev.c,实现新的协议处理函数:
/* 新的协议处理函数 */
int new_domain_handler(struct sk_buff *skb)
{
/* 处理新的协议数据包 */
return 0
}
(5)编辑net/core/net_namespace.c,把新的协议处理函数注册到内核:
/* 注册新的协议处理函数 */
void __init new_domain_init(void)
{
dev_add_pack(&new_domain_packet_type)
}
你可以在终端下修改ifconfig eth0 192.168.1.1 netmask 255.255.255.0
上面的方法是临时修改
你要保存修改结果需要修改/etc/sysconfig/network-scripts/ifcfg-eth0文件
给你一个我的例子
# Networking Interface
DEVICE=eth0
HWADDR=00:E0:06:09:00:21
ONBOOT=yes
IPADDR=192.168.1.254
NETMASK=255.255.255.0
DNS1=202.100.96.68
DNS2=202.100.96.69
TYPE=Ethernet
BOOTPROTO=none
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)