quagga and frr,from The Linux Foundation

简介: website:https://frrouting.org/     github:https://github.com/FRRouting/frr FRRouting (FRR) is an IP routing protocol suite for Linux and Unix platf...

website:https://frrouting.org/     

github:https://github.com/FRRouting/frr

 

FRRouting (FRR) is an IP routing protocol suite for Linux and Unix platforms which includes protocol daemons for BGP, IS-IS, LDP, OSPF, PIM, and RIP.

FRR’s seamless integration with the native Linux/Unix IP networking stacks makes it applicable to a wide variety of use cases including connecting hosts/VMs/containers to the network, advertising network services, LAN switching and routing, Internet access routers, and Internet peering.

 

支持的协议列表:

 

Protocol     IPv4     IPv6
OSPF    OSPFv2   OSPFv3
ISIS     ISIS IPv4   ISIS IPv6
RIP     RIP     RIPng
BGP     BGP IPv4   BGP IPv6
BGP 4-byte AS BGP   IPv4 4-byte AS BGP   IPv6 4-byte AS
LDP     LDP IPv4

 

每个守护进程使用socket收发报文,以RIP为例:

1、static int rip_create(void)

/* Create read and timer thread. */
rip_event(RIP_READ, rip->sock);
rip_event(RIP_UPDATE_EVENT, 1);

 

2、void rip_event(enum rip_event event, int sock)

thread_add_read(master, rip_read, NULL, sock, &rip->t_read);

thread_add_timer(master, rip_update, NULL,
sock ? 2 : rip->update_time + jitter,
&rip->t_update);

 

3、static int rip_read(struct thread *t)

len = recvfrom(sock, (char *)&rip_buf.buf, sizeof(rip_buf.buf), 0,
(struct sockaddr *)&from, &fromlen);

 

4、static int rip_send_packet(u_char *buf, int size, struct sockaddr_in *to, struct connected *ifc)

ret = sendto(rip->sock, buf, size, 0, (struct sockaddr *)&sin,
sizeof(struct sockaddr_in));

 

目录
相关文章
|
网络协议 Shell Linux
Linux Foundation(笔记)
/************************************************************* * Linux Foundation * 1.
1039 0
|
16天前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
112 5
|
15天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
51 4
|
2天前
|
缓存 监控 Linux
|
6天前
|
Linux Shell 数据安全/隐私保护
|
7天前
|
域名解析 网络协议 安全
|
14天前
|
监控 Linux Shell
|
13天前
|
运维 监控 网络协议
|
16天前
|
Unix Linux
Linux | Rsync 命令:16 个实际示例(下)
Linux | Rsync 命令:16 个实际示例(下)
28 3
Linux | Rsync 命令:16 个实际示例(下)
|
20天前
|
安全 Linux
Linux系统之lsof命令的基本使用
【10月更文挑战第14天】Linux系统之lsof命令的基本使用
75 2
Linux系统之lsof命令的基本使用