DPDK-VPP 学习笔记-06 bond 链路聚合 LACP

dpdk bond口学习笔记 概述 DPDK支持网卡的bond,通过调用rte_eth_bond_create创建bond口,bond口id和常规dpdk口id不会重复。bond口和普通dpdk口通过统一的API实现网卡的初始化、报文的收发等操作。 bond口创建的一般流程: 创建slave口 slave口配置网卡队列、网口启动 创建bond口 bond口添加slave口 bond口配置网卡队列、网口启动 通过bond口id进行收发包 rte_eth_bond_create 调用rte_eth_bond_create创建bond网口 阅读详情

DPDK-VPP 学习笔记-06 bond 链路聚合 LACP

本笔记主要测试VPP与交换机链路聚合配置&状态:

  • Switch: HW CE6880
  • NIC: Mellanox CX5

链路聚合简介

以太网链路聚合(Eth-Trunk)简称链路聚合,它通过将多条以太网物理链路捆绑在一起成为一条逻辑链路,从而实现增加链路带宽的目的。同时,这些捆绑在一起的链路通过相互间的动态备份,可以有效地提高链路的可靠性。使用上因系统不同, PortChannel & Bond 等都是链路聚合的别名。
在这里插入图片描述
链路聚合工作模式分为手工负载分担模式和LACP模式。

手工负载分担模式

手工负载分担模式下,链路聚合的建立、成员接口的加入由手工配置,没有链路聚合控制协议的参与。该模式下所有活动链路都参与数据的转发,平均分担流量,因此称为负载分担模式。如果某条活动链路故障,链路聚合组自动在剩余的活动链路中平均分担流量。当需要在两个直连设备间提供一个较大的链路带宽而设备又不支持LACP协议时,可以使用手工负载分担模式。

LACP模式

链路聚合协议LACP分为静态LACP模式和动态LACP模式

静态LACP模式

静态LACP模式下,链路聚合接口的建立,成员接口的加入,都是由手工配置完成的。但与手工负载分担模式链路聚合不同的是,该模式下活动接口的选择由LACP协议报文负责。也就是说,当把一组接口加入链路聚合接口后,这些成员接口中哪些接口作为活动接口,哪些接口作为非活动接口还需要经过LACP协议报文的协商确定。

静态LACP模式也称为M∶N模式。这种方式同时可以实现负载分担和冗余备份的双重功能。在链路聚合组中M条链路处于活动状态,这些链路负责转发数据并进行负载分担,另外N条链路处于非活动状态作为备份链路,不转发数据。当M条链路中有链路出现故障时,系统会从N条备份链路中选择优先级最高的接替出现故障的链路,同时这条链路状态变为活动状态开始转发数据。

动态LACP模式

静态LACP模式和动态LACP模式在LACP协议交互方面没有区别,区别在于两种模式在LACP协商失败后的处理不一致:
◾静态LACP模式下,LACP协商失败后链路聚合端口变为Down,不能转发数据。
◾动态LACP模式,LACP协商失败后链路聚合端口变为Down,但其成员口继承链路聚合端口的VLAN属性状态变为Indep,可独立进行二层数据转发。

当部署动态LACP模式链路聚合接口的设备能够收到对端的LACP协议报文时,两端设备将通过LACP协议报文进行聚合参数协商。协商成功后的聚合链路功能与两端都配置为静态LACP模式链路聚合接口的链路一样。

VPP bond LACP

VPP bond lacp 模式等同于HW交换机中 LACP模式 , 支持静态mode lacp-static 与动态mode lacp-dynamic 两种模式.

vpp# create bond mode lacp  load-balance l23 
BondEthernet0
vpp# bond add BondEthernet0 HundredGigabitEthernet5/0/0 
vpp# bond add BondEthernet0 HundredGigabitEthernet5/0/1 
vpp# set int state BondEthernet0 up 
vpp# set int ip address BondEthernet0  10.245.120.42/24 
vpp# show bond details
BondEthernet0
  mode: lacp
  load balance: l23
  number of active members: 0
  number of members: 2
    HundredGigabitEthernet5/0/0
    HundredGigabitEthernet5/0/1
  device instance: 0
  interface id: 0
  sw_if_index: 3
  hw_if_index: 3
vpp# 
vpp# show int
              Name               Idx    State  MTU (L3/IP4/IP6/MPLS)     Counter          Count     
BondEthernet0                     3      up          1500/0/0/0     rx packets                  2590
                                                                    rx bytes                  321102
                                                                    tx packets                     1
                                                                    tx bytes                      66
HundredGigabitEthernet5/0/0       1      up          1500/0/0/0     rx packets                  1310
                                                                    rx bytes                  161986
                                                                    tx packets                    78
                                                                    tx bytes                    8966
                                                                    drops                       1294
HundredGigabitEthernet5/0/1       2      up          1500/0/0/0     rx packets                  1306
                                                                    rx bytes                  161626
                                                                    tx packets                    54
                                                                    tx bytes                    6638
                                                                    drops                       1295
local0                            0     down          0/0/0/0       drops                          1
vpp# 

静态LACP模式

HW CE8850 交换配置:

[~HUAWEI-Eth-Trunk20]disp this
#
interface Eth-Trunk20
 undo portswitch
 ip address 10.245.120.1 255.255.255.0
 mode lacp-static
#
return
[~HUAWEI-Eth-Trunk20]disp eth-trunk 20
Eth-Trunk20's state information is:
Local:
LAG ID: 20                      Working Mode: Static
Preempt Delay: Disabled         Hash Arithmetic: profile default
System Priority: 32768          System ID: 04bd-706e-b951
Least Active-linknumber: 1      Max Active-linknumber: 16 
Operating Status: up            Number Of Up Ports In Trunk: 2
Timeout Period: Slow          
--------------------------------------------------------------------------------
ActorPortName          Status   PortType PortPri PortNo PortKey PortState Weight
100GE1/0/3             Selected 100GE    32768   2      5201    10111100  1     
100GE1/0/27            Selected 100GE    32768   1      5201    10111100  1     

Partner:
--------------------------------------------------------------------------------
ActorPortName          SysPri   SystemID        PortPri PortNo PortKey PortState
100GE1/0/3             65535    9803-9b97-5076  255     1      3       11111100 
100GE1/0/27            65535    9803-9b97-5076  255     2      3       11111100 

VPP lacp 状态:

vpp# show lacp        
                                                        actor state                      partner state                   
interface name            sw_if_index  bond interface   exp/def/dis/col/syn/agg/tim/act  exp/def/dis/col/syn/agg/tim/act
HundredGigabitEthernet5/0 2            BondEthernet0      0   0   1   1   1   1   1   1    0   0   1   1   1   1   0   1
  LAG ID: [(ffff,98-03-9b-97-50-76,0003,00ff,0002), (8000,04-bd-70-6e-b9-51,1451,8000,0001)]
  RX-state: CURRENT, TX-state: TRANSMIT, MUX-state: COLLECTING_DISTRIBUTING, PTX-state: PERIODIC_TX
HundredGigabitEthernet5/0 1            BondEthernet0      0   0   1   1   1   1   1   1    0   0   1   1   1   1   0   1
  LAG ID: [(ffff,98-03-9b-97-50-76,0003,00ff,0001), (8000,04-bd-70-6e-b9-51,1451,8000,0002)]
  RX-state: CURRENT, TX-state: TRANSMIT, MUX-state: COLLECTING_DISTRIBUTING, PTX-state: PERIODIC_TX

动态LACP模式

HW CE8850 交换配置:

[~HUAWEI-Eth-Trunk20]disp this
#
interface Eth-Trunk20
 undo portswitch
 ip address 10.245.120.1 255.255.255.0
 mode lacp-dynamic
#
return
[~HUAWEI-Eth-Trunk20]disp eth-trunk 20
Eth-Trunk20's state information is:
Local:
LAG ID: 20                      Working Mode: Dynamic
Preempt Delay: Disabled         Hash Arithmetic: profile default
System Priority: 32768          System ID: 04bd-706e-b951
Least Active-linknumber: 1      Max Active-linknumber: 16 
Operating Status: up            Number Of Up Ports In Trunk: 2
Timeout Period: Slow          
--------------------------------------------------------------------------------
ActorPortName          Status   PortType PortPri PortNo PortKey PortState Weight
100GE1/0/3             Selected 100GE    32768   2      5201    10111100  1     
100GE1/0/27            Selected 100GE    32768   1      5201    10111100  1     

Partner:
--------------------------------------------------------------------------------
ActorPortName          SysPri   SystemID        PortPri PortNo PortKey PortState
100GE1/0/3             65535    9803-9b97-5076  255     1      3       11111100 
100GE1/0/27            65535    9803-9b97-5076  255     2      3       11111100 

VPP lacp 状态:

vpp# show lacp                            
                                                        actor state                      partner state                   
interface name            sw_if_index  bond interface   exp/def/dis/col/syn/agg/tim/act  exp/def/dis/col/syn/agg/tim/act
HundredGigabitEthernet5/0 2            BondEthernet0      0   0   1   1   1   1   1   1    0   0   1   1   1   1   0   1
  LAG ID: [(ffff,98-03-9b-97-50-76,0003,00ff,0002), (8000,04-bd-70-6e-b9-51,1451,8000,0001)]
  RX-state: CURRENT, TX-state: TRANSMIT, MUX-state: COLLECTING_DISTRIBUTING, PTX-state: PERIODIC_TX
HundredGigabitEthernet5/0 1            BondEthernet0      0   0   1   1   1   1   1   1    0   0   1   1   1   1   0   1
  LAG ID: [(ffff,98-03-9b-97-50-76,0003,00ff,0001), (8000,04-bd-70-6e-b9-51,1451,8000,0002)]
  RX-state: CURRENT, TX-state: TRANSMIT, MUX-state: COLLECTING_DISTRIBUTING, PTX-state: PERIODIC_TX

VPP bond XOR

VPP bond xor 模式等同于HW交换机中 手工负载分担模式 & mode manual load-balance 也是链路聚合的默认模式.

HW CE8850交换机配置:

[~HUAWEI-Eth-Trunk20]disp this
#
interface Eth-Trunk20
 undo portswitch
 ip address 10.245.120.1 255.255.255.0
#
return
[~HUAWEI-Eth-Trunk20]disp eth-trunk 20
Eth-Trunk20's state information is:
Working Mode: Normal        Hash Arithmetic: profile default
Least Active-linknumber: 1  Max Bandwidth-affected-linknumber: 16
Operating Status: up        Number of Up Ports in Trunk: 2
--------------------------------------------------------------------------------
PortName                      Status      Weight
100GE1/0/3                    Up          1          
100GE1/0/27                   Up          1       

VPP 配置:

vpp# set int state  HundredGigabitEthernet5/0/0 up
vpp# set int state  HundredGigabitEthernet5/0/1 up
vpp# create bond mode xor  load-balance l23
vpp# bond add BondEthernet0 HundredGigabitEthernet5/0/0
vpp# bond add BondEthernet0 HundredGigabitEthernet5/0/1
vpp# set int state BondEthernet0 up
vpp# set int ip address  BondEthernet0 10.245.120.42/24
vpp# show bond details
BondEthernet0
  mode: xor
  load balance: l23
  number of active members: 2
    HundredGigabitEthernet5/0/0
    HundredGigabitEthernet5/0/1
  number of members: 2
    HundredGigabitEthernet5/0/0
    HundredGigabitEthernet5/0/1
  device instance: 0
  interface id: 0
  sw_if_index: 3
  hw_if_index: 3
vpp# show version 
vpp v21.01-rc1~3-gf097300c2 built by root on fc29 at 2021-01-21T06:11:27
vpp# show int
              Name               Idx    State  MTU (L3/IP4/IP6/MPLS)     Counter          Count     
BondEthernet0                     3      up          1500/0/0/0     rx packets                    26
                                                                    rx bytes                    2510
                                                                    tx packets                    25
                                                                    tx bytes                    2394
                                                                    drops                          1
                                                                    ip4                           25
HundredGigabitEthernet5/0/0       1      up          1500/0/0/0     rx packets                    16
                                                                    rx bytes                    1530
                                                                    tx packets                    25
                                                                    tx bytes                    2394
HundredGigabitEthernet5/0/1       2      up          1500/0/0/0     rx packets                    10
                                                                    rx bytes                     980
local0                            0     down          0/0/0/0       drops                          1
vpp# 

参考文档

VPP vnet bonding
CloudEngine 12800, 12800E V200R005C00 配置指南-以太网链路聚合配置
链路聚合Eth-Trunk

BOND 动态链路聚合 lacp配置及相关问题 内容基本都是参考的,哪里有雷同或者错的地方,请批评指正。 针对802.3ad协议。 阅读详情

相关推荐

以太网链路聚合之静态LACP

LACP即链路聚合控制协议,(Link Aggregation Control Protocol)

weixin_44471753的博客 4614

LACP Bond配置(by quqi99)

  作者:张华  发表于:2016-04-26 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明   ( http://blog.youkuaiyun.com/quqi99 )     linux有七种网卡绑定模式: bond0:round-robin, 轮询。各接口轮流使用。需要交换机支持。交换机要配置成聚合口 bond1:active-backup,...

技术并艺术着 2万+

手把手教你用STM32的ADC读取PT100模块,实现高精度温度采集(附完整代码)

本文详细介绍了如何利用STM32的ADC模块读取PT100温度传感器信号,实现高精度温度采集系统。从硬件选型、ADC配置校准到温度计算算法和软件滤波技术,提供完整的实现方案和优化技巧,帮助工程师快速构建稳定可靠的温度监测系统。

weixin_29185199的博客 347

使用Web管理型交换机配置对接服务器的LACP / bond

在Linux服务器配置bond mode 4 的时候,需要在对端交换机配置链路聚合(LACP) root@infra:~# cat /proc/net/bonding/bond0 Permanent HW addr: 14:18:77:58:f8:c6 若此处是00:00:00:00:00:00的话意味着交换机没配置LACP

筋斗云计算 4047

【计算机视觉40例】案例08:石头剪刀布手势识别

计算机视觉40例——从入门到深度学习(OpenCV-Python)》在介绍Python基础、OpenCV基础、计算机视觉理论基础、深度学习理论的基础上,介绍了计算机视觉领域内具有代表性的40个典型案例。这些案例中,既有传统的案例(数字识别、答题卡识别、物体计数、缺陷检测、手势识别、隐身术、以图搜图、车牌识别、图像加密、指纹识别等),也有深度学习案例(图像分类、风格迁移、姿势识别、实例分割等),还有人脸识别方面的案例(表情识别、驾驶员疲劳监测、识别性别与年龄等)。......

计算机视觉之光 2157

stm32H743基于CubeMX配置为双ADC多通道DMA规则采样

stm32H743的ADC支持的最大频率为36MHz,有相关资料上说是可以超频,具体技术细节不多讨论。 需求: 使用stm32H743的ADC采集5路ovrc

xtqbp的博客 4364

链路聚合/端口备份bond与交换机lacp模式,拔线再插上不通

环境描述:eth6、eth7加入聚合bond0,模式为主备;bond0、sis0加入桥vsi0;eth6、eth7分别与交换机的两个聚合口相连;

u010921364的博客 1373

YOLOv11改进策略【损失函数篇】| Slide Loss,解决简单样本和困难样本之间的不平衡问题

本文记录的是改进YOLOv11的损失函数,将其替换成Slide Loss,并详细说明了优化原因,注意事项等。Slide Loss函数可以有效地解决样本不平衡问题,为困难样本赋予更高的权重,使模型在训练过程中更加关注困难样本。若是在自己的数据集中发现容易样本的数量非常大,而困难样本相对稀疏,可尝试使用Slide Loss来提高模型在处理复杂样本时的性能。

Limiiiing的博客 4569

Linux网络:Bond的七种模式详解与配置参考

Bond是Linux内核提供的一种网络驱动,它可以将多个网络接口聚合为一个逻辑接口,从而提高网络带宽、实现负载均衡和故障转移。bond0:Balance-RR(轮询模式)bond1:Active-Backup(主备模式)bond2:Balance-XOR(平衡异或模式)bond3:Broadcast(广播模式)bond4:802.3ad(LACP模式)bond5:Balance-TLB(自适应传输负载均衡模式)bond6:Balance-ALB(自适应负载均衡模式)模式编号。

Tassel_YUE的博客 2万+

ESP32 DW1000 UWB 室内定位系统

详细介绍ESP32 DW1000 UWB 室内定位系统的设计演示demo。

DT程序员的博客 1662

Unity零基础到入门 ☀️| 基础知识入门篇章,看完就可以做游戏啦! | 寻找C站宝藏

Unity入门基础知识。本篇文章介绍了关于Unity入门的一些基础知识,包括基本概念和使用实例。简单易上手,轻松实现Unity入门操作!

努力前行,总会成为自己心中的那道光 1万+

vpp bond 总结

1、vpp bond现状 vpp 在19.08版本中已经移除了DPDK自带bond接口类型,也就是不支持通过参数( vdev eth_bond0,mode=2,slave=0000:0f:00.0,slave=0000:11:00.0,xmit_policy=l34 )生成dpdk bond 类型接口,vpp设置此参数会导致rte_eal_init 返回失败。 具体修改请查看:vpp git commithttps://github.com/FDio/vpp/commit/048acfbd9ee.

shaoyunzhe的专栏 1877

【归因】MATLAB实现最佳指纹法(待更新)

简述用于归因分析的最佳指纹法,及其MATLAB实现。

WW、forever的博客 4286

dpdk bond

​​break;break;break;break;break;​break;​​return 0;

lingshengxiyou的博客 584

Sigrity OptimizePI IC Device Power Pin Inductance Analysis模式如何计算IC电源管脚电感操作指导

Sigrity OptimizePI IC Device Power Pin Inductance Analysis模式可以计算电容到IC电源管脚的电感,用于评估电容位置对于IC电源管脚的效果,如何分析,以下图为例进行说明。Capacitors:选择层面,这里选择top layer(IC在top层),下方可以选择电容的size,这里选择All Size。IC devices,输入U*, A*, B*, Q*, P*,将所有这些字母开头的器件都识别为IC。模式如何计算IC电源管脚电感操作指导。

weixin_54787054的博客 410

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

bond4 交换机配置_CentOS 网卡配置bond4(LACP)

交换机开启LACP,配置聚合。网卡eno1, eno2, eno3。eno1为管理口,eno2和eno3绑定,配置bond4.配置eno2:vim /etc/sysconfig/network-scripts/ifcfg-eno2ifcfg-eno2配置如下:DEVICE=eno2NAME=eno2TYPE=EthernetBOOTPROTO=noneONBOOT=yesMASTER=bond4S...

weixin_39963534的博客 1364

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

ovs+dpdk bond功能总结

1、ovs支持bond现状 ovs 支持自身bond接口,命令操作如下:   ovs-vsctl add-bond br0 dpdkbond dpdk0 dpdk1 -- set Interface dpdk0 type=dpdk -- set Interface dpdk1 type=dpdk 以下说法引用于:http://blog.youkuaiyun.com/hliyuxin/article/...

shaoyunzhe的专栏 1万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

交换机链路聚合以及对应服务器的BOND模式

交换机链路聚合分为两类,手工模式和LACP模式,其中LACP模式又包含静态/动态LACP两种形式,最大支持8个端口链路聚合。

weixin_43356118的博客 4760

f-stack dpdk bond 功能

要实现f-stack bond 功能, 首先是要让bond口向slave口配置port_conf.rxmode.hw_vlan_strip = 1;,原有的代码只是设置了普通接口,bond口没有下发成功到slave口 其次是获取slave口的mac,设置到bond static int init_port_start(void) { int nb_ports = ff_global_

shaoyunzhe的专栏 5493

LCP创建bond接口

如下VPP命令创建bond接口,模式选择LACP协议,负载均衡模式选择网络三四层。新创建的接口为BondEthernet0,添加两个子接口GigabitEtherneta/0/0和GigabitEthernetb/0/0。查看创建的bond接口,显示成员数量为两个。随后将两个成员接口状态设置为UP。LCP插件创建以上bond接口的对等接口,取名为be0。在linux中查看,创建了bond接口be0。接口be0的MAC地址与VPP中对等接口BondEthernet0的MAC地址相同。MAC相同。...

redwingz的博客 1864

ZStack云平台物理网络配置

学完之后,若是想验收效果如何,其实最好的方法就是可自己去总结一下。比如我就会在学习完一个东西之后自己去手绘一份xmind文件的知识梳理大纲脑图,这样也可方便后续的复习,且都是自己的理解,相信随便瞟几眼就能迅速过完整个知识,脑补回来。下方即为我手绘的MyBtis知识脑图,由于是xmind文件,不好上传,所以小编将其以图片形式导出来传在此处,细节方面不是特别清晰。但可给感兴趣的朋友提供完整的MyBtis知识脑图原件(包括上方的面试解析xmind文档)

2401_84048225的博客 798

Linux--多网卡的7种Bond模式

网卡bond是通过把多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡。在应用部署中是一种常用的技术,我们公司基本所有的项目相关服务器都做了bond,这里总结整理,以便待查。 bond模式: Mode=0(balance-rr) 表示负载分担round-robin,和交换机的聚合强制不协商的方式配合。 Mode=1(active-backup) 表示主备模式,只有一块网卡是ac

letterwuyu的专栏 1793

链路聚合概述

链路聚合有几种工作模式,分别是Manual Load-balance(手动负载分担)、LACP-Static(链路聚合控制协议-静态)、LACP-Dynamic(链路聚合控制协议-动态)。手动负载分担模式无需协商,当你将eth-trunk应用到接口上时,链路聚合的状态即会up。

数通Dinner的博客 6315

dpdk 和 linux报文转发的区别,基于DPDK的链路聚合接口的数据包转发方法与流程

本发明属于网络技术领域,尤其是涉及链路聚合技术,一种基于DPDK的网络中间设备的链路聚合及其数据包快转的方法,用于网关设备对网络数据包进行快速转发。背景技术:链路接口聚合就是把多个物理接口绑定成一个逻辑接口,以实现出/入流量吞吐量在各成员端口的负荷分担,交换机根据用户配置的端口负荷分担策略决定网络封包从哪个成员端口发送到对端的交换机。当交换机检测到其中一个成员端口的链路发生故障时,就停止在此端口上...

weixin_30778043的博客 726

Linux6&7 绑定网卡【bonding和team】

Linux 网卡绑定 在RHEL 7 之前,网卡绑定常用的是bonding模块,在RHEL7开始,支持使用team作网卡绑定,但在RHEL7中,bonding依然可用。以下主要介绍bonding模块配置双网卡绑定。 Linux网卡绑定模式介绍 模式简介 0 for balance-rr, 1 for active-backup, 2 for balance-xor, 3 for broadcast, 4 for 802.3ad, 5 for balance-tlb, 6 for balance-alb 常用

wonderviolet的博客 4910

华为--链路捆绑聚合实验or bond配置

文章目录一:捆绑链路原理二:以太网链路捆绑2.1:链路捆绑分类:2.2:LACP三:链路捆绑实验3.1:实验拓扑图3.2:实验目的3.3 实验步骤3.4:实验结果3.5:总结4.1:实验拓扑图4.2:实验目的4.3:实验步骤4.4:实验结果4.5:总结 一:捆绑链路原理 1.1:链路聚合基本概念 链路聚合(Link Aggregation),也称为端口捆绑,端口聚集或链路聚集。链路聚合是将多个端口聚合在一起形成一个汇聚组,以实现出/入负荷在和成员端口中的分担。从外面看起来,一个汇聚组好像就是一个端口。 使用

BIGmustang的博客 1828
上一篇: DPDK-VPP 学习笔记-05 NAT配置
下一篇: DPDK - 使用 cmake 构建l2fwd多平台编译系统
功名半纸
功名半纸 领域专家: 操作系统技术领域 领域专家: 操作系统技术领域
博客等级 码龄26年 1137粉丝 282原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值