DPDK-VPP 学习笔记-03 lb-plugin

VPP Load Balancer plugin 现阶段支持以下几种部署模式:

1). IPv4+GRE ad IPv6+GRE encap
2). IPv4+L3DSR encap
3). IPv4/IPv6 + NAT4/NAT6 encap

以下根据测试环境列出不同模式下的典型配置:

Client: 172.16.41.41
VPP: VIP - 10.10.2.2/32WAN- 172.16.41.1LAN- 172.16.40.1
RS: 172.16.40.40

:
1)未做IPv6测试, 配置与IPv4类似;
2) VPP LB plugin NAT4 模块有几处bug, 需要修正后才可以使用;
3) 不建议使用最新的代码编译使用, 部分命令跟文档有差异;

ENCAP GRE4

vpp# set int state  TenGigabitEthernet5/0/0 up
vpp# set int state  TenGigabitEthernet5/0/1 up
vpp# set interface ip address TenGigabitEthernet5/0/1  172.16.41.1/24
vpp# set interface ip address TenGigabitEthernet5/0/0 172.16.40.1/24
vpp# lb conf ip4-src-address 172.16.40.1
vpp# lb vip 10.10.2.2/32 encap gre4
lb_vip_add ok 1
vpp# lb as 10.10.2.2/32 172.16.40.40
vpp# show lb vip verbose      ip4-gre4 [1] 10.10.2.2/32new_size:1024counters:packet from existing sessions: 0first session packet: 0untracked packet: 0no server configured: 0#as:1172.16.40.40 1024 buckets   0 flows  dpo:18 used

L3DSR

vpp# set int state  TenGigabitEthernet5/0/0 up
vpp# set int state  TenGigabitEthernet5/0/1 up
vpp# set interface ip address TenGigabitEthernet5/0/1  172.16.41.1/24
vpp# set interface ip address TenGigabitEthernet5/0/0 172.16.40.1/24
vpp# lb conf
vpp# lb vip 10.10.2.2/32 encap l3dsr dscp 8
lb_vip_add ok 1
vpp# lb as 10.10.2.2/32 172.16.40.40
vpp# show lb vips verboseip4-l3dsr [1] 10.10.2.2/32new_size:1024dscp:8counters:packet from existing sessions: 0first session packet: 0untracked packet: 0no server configured: 0#as:1172.16.40.40 1024 buckets   0 flows  dpo:18 used

NAT4

clusterip

vpp# set int state  TenGigabitEthernet5/0/0 up
vpp# set int state  TenGigabitEthernet5/0/1 up
vpp# set interface ip address TenGigabitEthernet5/0/1  172.16.41.1/24
vpp# set interface ip address TenGigabitEthernet5/0/0 172.16.40.1/24
vpp# nat44 forwarding enable
vpp# nat addr-port-assignment-alg default
vpp# lb conf
vpp# lb set interface nat4 in TenGigabitEthernet5/0/0
vpp# lb vip 10.10.2.2/32 protocol tcp port 3310 encap nat4 type clusterip target_port 3310
lb_vip_add ok 1
vpp# lb as 10.10.2.2/32 protocol tcp port 3310 172.16.40.40
vpp# lb vip 10.10.2.2/32 protocol udp port 3310 encap nat4 type clusterip target_port 3310
lb_vip_add ok 2
vpp# lb as 10.10.2.2/32 protocol udp port 3310 172.16.40.40
vpp# show lb vip verbose ip4-nat4 [1] 10.10.2.2/32new_size:1024protocol:6 port:3310type:clusterip port:3310 target_port:3310  counters:packet from existing sessions: 0first session packet: 1untracked packet: 0no server configured: 0#as:1172.16.40.40 1024 buckets   1 flows  dpo:19 usedip4-nat4 [2] 10.10.2.2/32new_size:1024protocol:17 port:3310type:clusterip port:3310 target_port:3310  counters:packet from existing sessions: 0first session packet: 0untracked packet: 0no server configured: 0#as:1172.16.40.40 1024 buckets   0 flows  dpo:19 used

nodeport

vpp# set int state  TenGigabitEthernet5/0/0 up
vpp# set int state  TenGigabitEthernet5/0/1 up
vpp# set interface ip address TenGigabitEthernet5/0/1  172.16.41.1/24
vpp# set interface ip address TenGigabitEthernet5/0/0 172.16.40.1/24
vpp# nat44 forwarding enable
vpp# nat addr-port-assignment-alg default
vpp# lb conf ip4-src-address 10.10.2.2
vpp# lb set interface nat4 in TenGigabitEthernet5/0/0
vpp# lb vip 10.10.2.2/32 protocol udp port 3310 encap nat4 type nodeport target_port 3310
lb_vip_add ok 1
vpp# lb as 10.10.2.2/32 protocol udp port 3310 172.16.40.40
vpp# show lb vip verbose ip4-nat4 [1] 10.10.2.2/32new_size:1024protocol:17 port:3310type:nodeport port:3310 target_port:3310  counters:packet from existing sessions: 0first session packet: 0untracked packet: 0no server configured: 0#as:1172.16.40.40 1024 buckets   0 flows  dpo:18 used

Reference

Load Balancer plugin for VPP

DPDK-VPP 学习笔记-03 Load Balancer plugin相关推荐

  1. JDBC学习笔记03【JDBC事务管理、数据库连接池、JDBCTemplate】

    黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...

  2. ESP32 单片机学习笔记 - 03 - MCPWM脉冲输出/PCNT脉冲计数

    ESP32 单片机学习笔记 - 03 - MCPWM脉冲输出/PCNT脉冲计数 前言,继续上一篇的内容.因为上一篇刚好实验了iic和spi,形成一对.接下来讲pwm另起一篇. 目录 ESP32 单片机 ...

  3. Git 的安装与初次使用 —— Git 学习笔记 03

    Git 的安装与初次使用 -- Git 学习笔记 03 Git 的安装与初次使用 -- Git 学习笔记 03 安装 Git 在 Linux 上安装 在 Windows 上安装 初次运行 Git 前的 ...

  4. JavaWeb黑马旅游网-学习笔记03【登陆和退出功能】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...

  5. HTML/CSS学习笔记03【CSS概述、CSS选择器、CSS属性、CSS案例-注册页面】

    w3cschool菜鸟教程.CHM(腾讯微云):https://share.weiyun.com/c1FaX6ZD HTML/CSS学习笔记01[概念介绍.基本标签.表单标签][day01] HTML ...

  6. MySQL学习笔记03【数据库表的CRUD操作、数据库表中记录的基本操作、客户端图形化界面工具SQLyog】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

  7. Scala学习笔记03:操作符

    Scala学习笔记03:操作符 一.scala中操作符与方法的等价性 scala中操作符即方法.方法即操作符.scala中操作符其实是普通方法调用的另一种表现形式,运算符的使用其实就是隐含地调用对应的 ...

  8. ES6学习笔记03:变量的解构赋值

    ES6学习笔记03:变量的解构赋值 如果想从复杂数据结构(数组.对象)中获取某一个数据,可能需要大量的遍历操作才能完成.通过解构赋值,这一过程可以得到简化. 1.字符串的解构赋值 其实,Python也 ...

  9. PHP学习笔记03:简单网上调查站点

    PHP学习笔记03:简单网上调查站点 网上调查站点由两个页面构成.第一个页面(vote.html文件)是一份问卷,问卷上只有一个问题"开发MySQL应用程序你最喜欢哪种编程语言?" ...

  10. openCVPracticalExercise学习笔记03

    原创:openCVPracticalExercise学习笔记03 20使用OpenCV实现基于增强相关系数最大化的图像对齐(略) 21使用OpenCV的Eigenface 如何计算如何计算EigenF ...

最新文章

  1. 后台提示云提醒未激活 点击激活删除方法
  2. 前端学习(2052)vue之电商管理系统电商系统之配置http服务
  3. 未来属于SVO? - KlayGE游戏引擎
  4. 思科修复 ASA/FTD 防火墙高危缺陷,已遭利用
  5. XBMC源代码分析 3:核心部分(core)-综述
  6. 【课堂教学/课堂复习/课堂竞赛手段探析】给广大教师推荐一个期末课堂复习的最好办法
  7. AutoCAD2012从入门到精通中文视频教程 第一课 简介及界面组成 (个人收藏)
  8. 基于python微信群聊机器人开题报告
  9. ElementUI表格表头对角线的绘制
  10. 大数据模型案例库-涵盖多行业,超百个实战项目案例
  11. 编程中的脚手架是什么意思?
  12. taro开发微信小程序禁止下拉刷新(ios下拉出现空白问题)
  13. 任意地址读写驱动提权(cred、VDSO、modprobe_path、core_pattern、修改内核指针提权)
  14. wireshark抓包看post请求的body是什么样子
  15. 针对Unity导出的exe如果提示运行库报错或者系统缺少XX组件的对话框的话。一般解决办法如下:
  16. 【ElasticSearch7.X】学习笔记(三)
  17. 【毕设参考】ESP32 + HaaS Python 打造可以远程控制的智能风扇
  18. linux 下项目自动化构建工具makefile详解
  19. 获取图片的创建修改时间
  20. IE退役,建议使用IE的网站如何打开,Edge接力。

热门文章

  1. android图片根据屏幕适配
  2. vue组件相关知识点
  3. java jquery时间问候语,js实现实时问候,不同时间显示不同问候语
  4. 微信小程序wxml如何判断字符串中汉语某字符_如何获取别人微信小程序的源文件?...
  5. python整体设计目标怎么写_设计模式及Python实现
  6. python程序由三种基本结构组成_python入门基础教程04 Python程序基本组成
  7. java_web基本概念
  8. confirm 调用ajax,jQuery ajax中使用confirm,确认是否删除的简单实例
  9. mybatis单元测试(无需启动容器)
  10. Dart教程(二):基本语法