首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Quagga bgp_accept码

Quagga bgp_accept码
EN

Stack Overflow用户
提问于 2013-08-27 08:26:06
回答 1查看 283关注 0票数 0

我试图理解下面(下面的代码)在做什么,并且很难理解sockunions的概念。有人能帮我吗?这与线程和线程文件描述符有什么关系?

预先感谢您的帮助,并愿意接受任何您可以重新推荐的资源!

莎拉

代码语言:javascript
复制
static int
bgp_accept (struct thread *thread)
{
int bgp_sock;
int accept_sock;
union sockunion su;
struct bgp_listener *listener = THREAD_ARG(thread);
struct peer *peer;
struct peer *peer1;
char buf[SU_ADDRSTRLEN];

/* Register accept thread. */
accept_sock = THREAD_FD (thread);

    if (accept_sock < 0)
    {
    zlog_err ("accept_sock is nevative value %d", accept_sock);
    return -1;
    }

listener->thread = thread_add_read (master, bgp_accept, listener, accept_sock);

/* Accept client connection. */
bgp_sock = sockunion_accept (accept_sock, &su);
    if (bgp_sock < 0)
    {
...
EN

回答 1

Stack Overflow用户

发布于 2013-09-27 06:59:13

bgp_accept是一个自调用(thread_add_read)函数。(读取quagga线程概念不要与linux线程概念混淆)。每次调用bgp_accept时,它都将与其他对等点建立一个tcp连接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18460539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档