【OVS2.5.0源码分析】sFlow实现分析(2)

本文主要探讨了OVS2.5.0中sFlow的实现,重点在于sFlow流表的生成过程。在xlate_actions函数中,sFlow流表被创建,并通过netlink协议发送到数据平面。文章详细剖析了xlate_actions及compose_sample_action函数的关键作用。
摘要由CSDN通过智能技术生成

本篇分析,sFlow流表生成过程,sFlow流表是在xlate_actions函数中生成,然后通过netlink下发给datapath的。

1、xlate_actions函数

        /* Sampling is done only for packets really received by the bridge. */
        unsigned int user_cookie_offset = 0;
        if (!xin->recirc) {
            user_cookie_offset = compose_sflow_action(&ctx);	//生成sflow action
            compose_ipfix_action(&ctx, ODPP_NONE);		//生成ipfix action
        }
        size_t sample_actions_len = ctx.odp_actions->size;

        if (tnl_process_ecn(flow)
            && (!in_port || may_receive(in_port, &ctx))) {	//判断该报文是否可以接收
            const struct ofpact *ofpacts;
            size_t ofpacts_len;
2、compose_sflow_action函数

/* If sFLow is not enabled, returns 0 without doing anything.
 *
 * If sFlow is enabled, appends a template "sample" action to the ODP actions
 * in &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值