当前位置: 首页 > news >正文

qnx的网络知识记录

1、网络驱动加载

http://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.core_networking/topic/drivers_Loading.html

使用mount挂载io-pkt模块

mount -Tio-pkt /lib/dll/devnp-e1000.so

nicinfo 命令可以查看网卡的各种状态,包括phy的状态

2、iopkt

iopkt的介绍,包括bpf

http://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.neutrino.sys_arch/topic/net_Manager.html

3、vdevpeer

http://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.hypervisor.safety.user/topic/utils/devnp-vdevpeer-net.so.html

Guest-to-host

Configure a virtio-net vdev

The following excerpt shows the virtio-net vdev configuration in the *.qvmconf file for the VM hosting the guest.

For a QNX guest on an ARM board, configure a virtio-net vdev as follows:
system qnx71-arm-guest ... # The loc and intr gic options are for ARM only. The guest will see the # virtio-net vdev as a memory-mapped I/O device at the specified location. vdev virtio-net loc 0x1c0c0000 intr gic:40 mac aa:aa:aa:aa:aa:aa name p2p peer /dev/vdevpeers/vp0 peerfeats 0x3

http://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.hypervisor.user/topic/network/guest2host.html

Description:

The devnp-vdevpeer-net.so driver enables an io-pkt-* networking manager running in the host to communicate with virtual network devices configured for guests. The driver works with both the io-pkt-v4-hc and io-pkt-v6-hc stack variants. It is used for peer-to-peer communication between the hypervisor host and guests, and can be used to facilitate communication between guests and the outside world, by enabling a bridge running in the host's networking manager to connect guests to the outside world.

To use the devnp-vdevpeer-net.so driver to set up peer-to-peer communication in a hypervisor system and with the outside world:

  1. In the hypervisor host, start io-pkt-*, specifying the devnp-vdevpeer-net.so driver, and using the driver options to configure the node in the hypervisor host: the connection path, the MAC address, the path to the node in the guest, and, optionally, a name for the node. For example:

io-pkt-v6-hc -d vdevpeer-net \

peer=/dev/qvm/vt1,bind=/pkt/vp0,mac=a0b0c0d0e0f0

where /dev/qvm/vt1 is the path of the peer to communicate with, /pkt/vp0 is the path to the peer node (the guest), and a0b0c0d0e0f0 is this peer node's MAC address.

  1. Configure the IP address of the peer node; for example:

ifconfig vp0 192.0.2.1

where vp0 is the peer node, and 192.0.2.1 is its IP address.

  1. In the qvm configuration file for the VM that will host the guest, configure the virtio-net vdev (see “vdev virtio-net” in the “Virtual Device Reference” chapter).

可以通过.qvmconfig配置文件配置vdevpeer:

http://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.hypervisor.safety.user/topic/network/guest2host.html

http://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.hypervisor.user/topic/network/network.html

4、8155双系统中的qnx配置

QNX/qnx_ap/target/hypervisor/host/startup.qvmhost.tmpl

https://download.csdn.net/download/yudelian/87472378

这儿会根据Guest的类型挂载io-pkt,绑定不同的vdevpeer,我的车机系统只绑定了vp0

在这儿,qnx创建一个bridge0, 将vp0加入,并且将emac0加入,形成一个网桥二层网络

这儿还可以通过devc-quipv3设置 uart启动之类的

echo $(nsec)"mount -T io-pkt"
#if defined(__GUEST_TYPE_LA__) 
mount -T io-pkt -o peer=/dev/qvm/la/la_to_host,bind=/dev/vdevpeer/vp0,mac=aaaaaaaaaaaa,mode=0660 /lib/dll/devnp-vdevpeer-net.so#elif defined(__GUEST_TYPE_FDN__)
echo $(nsec)"mount -T io-pkt -o peer=/dev/qvm/la/la_to_host"
mount -T io-pkt -o peer=/dev/qvm/la/la_to_host,bind=/dev/vdevpeer/vp0,mac=aaaaaaaaaaaa /lib/dll/devnp-vdevpeer-net.so
mount -T io-pkt -o peer=/dev/qvm/lv/agl_to_host,bind=/dev/vdevpeer/vp1,mac=aaaaaaaaaaa1  /lib/dll/devnp-vdevpeer-net.so
mount -T io-pkt -o peer=/dev/qvm/qnx_1/qnx_to_host,bind=/dev/vdevpeer/vp2,mac=aaaaaaaaaaa2 /lib/dll/devnp-vdevpeer-net.so#else
echo $(nsec)"mount -T io-pkt -o peer=/dev/qvm/la/la_to_host"
mount -T io-pkt -o peer=/dev/qvm/la/la_to_host,bind=/dev/vdevpeer/vp0,mac=aaaaaaaaaaaa /lib/dll/devnp-vdevpeer-net.so
mount -T io-pkt -o peer=/dev/qvm/lv/agl_to_host,bind=/dev/vdevpeer/vp1,mac=aaaaaaaaaaa1  /lib/dll/devnp-vdevpeer-net.so
#endif#if defined(__GUEST_TYPE_LA__) 
if [ $SECPOL_ENABLE -eq 1 ];thenon -T ifconfig_t -u IFCONFIG_UID:IFCONFIG_GID ifconfig vp0 upon -T ifconfig_t -u IFCONFIG_UID:IFCONFIG_GID ifconfig bridge0 createbrconfig bridge0 add vp0 up
elseifconfig vp0 upifconfig bridge0 createbrconfig bridge0 add vp0 up
fiecho $(nsec)"brconfig bridge0 add emac0 up"
brconfig bridge0 add emac0 up
ifconfig emac0 172.20.0.34/24 up
route add default 172.20.0.40ifconfig vlan3 create
if_up -p vlan3
ifconfig vlan3 vlan 3 vlanif emac0
ifconfig vlan3 172.20.3.34/24 up

QNX/qnx_ap/ target/hypervisor/host/build_files/system.build.tmpl

这个文件应该可以配置uart、spi、中断号等

vdev vdev-virtio-net.so loc 0x1c0c0000 intr gic:41 peer /dev/vdevpeer/vp0 mac aa:bb:cc:dd:ee:23 name la_to_host//这儿感觉是通过qvm加载配置,暂时也不太清楚
//代码里没找到/vm/images/linux-la.config, 但是在qnx运行系统里有
[uid=0 gid=0 perms=555] bin/runla={
dtach -A /tmp/la_1 -r winch qvm @/vm/images/linux-la.config

相关文章:

qnx的网络知识记录

1、网络驱动加载http://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.core_networking/topic/drivers_Loading.html使用mount挂载io-pkt模块mount -Tio-pkt /lib/dll/devnp-e1000.sonicinfo 命令可以查看网卡的各种状态,包括phy的状态2、iopktiopkt的介…...

【Vue/基础知识】Vue基础知识(一)

如果觉得我的分享有一定帮助,欢迎关注我的微信公众号 “码农的科研笔记”,了解更多我的算法和代码学习总结记录。或者点击链接扫码关注 【Vue/基础知识】Vue基础知识(一) 1、v-show 和 v-if 指令的共同点和不同点? 共…...

Iceberg实战踩坑指南

第 1 章 介绍 Apache Iceberg 是一种用于大型分析数据集的开放表格,Iceberge 向 Trino 和 Spark 添加了使用高性能格式的表,就像 Sql 表一样。 Iceberg 为了避免出现不变要的一些意外,表结构和组织并不会实际删除,用户也不需要特…...

预告|2月25日 第四届OpenI/O 启智开发者大会昇腾人工智能应用专场邀您共启数字未来!

如今,人工智能早已脱离科幻小说中的虚构想象,成为可触及的现实,并渗透到我们的生活。随着人工智能的发展,我们正在迎来一个全新的时代——数智化时代。数据、信息和知识是这个时代的核心资源,而人工智能则是这些资源的…...

UnRaid虚拟机安装OpenWrt软路由

文章目录0、前言1、Openwrt虚拟机安装1.1、前提,需要先在UnRaid中开启虚拟机:1.2、下载OpenWrt虚拟机镜像并上传至UnRaid共享文件夹1.3、创建OpenWrt虚拟机2、开启并设置OpenWrt虚拟机2.1、修改OpenWrt管理ip2.2、OpenWrt的上网设置0、前言 最近折腾了很…...

开发日记-lombok

开发日记-lombok环境问题解决方案:1 Data注解失效 无法正常生成 get和set方法2 RequiredArgsConstructor(onConstructor _(Lazy)) 符号_无法识别环境 idea2020.1lombok1.18.24jdk1.8 问题 Data注解失效 无法正常生成 get和set方法RequiredArgsConstructor(onCons…...

Web3中文|2023年zk赛道爆发,即将推出的Polygon zkEVM有多重要?

2月15日,以太坊第2层解决方案提供商Polygon终于公布了备受期待的扩展更新,其零知识以太坊虚拟机(zkEVM)主网的测试版定于3月27日发布。 据官方消息报道,自去年10月上线测试网以来,已取得许多重要的里程碑&…...

【自然语言处理】主题建模:Top2Vec(理论篇)

主题建模:Top2Vec(理论篇)Top2Vec 是一种用于 主题建模 和 语义搜索 的算法。它自动检测文本中出现的主题,并生成联合嵌入的主题、文档和词向量。 算法基于的假设:许多语义相似的文档都可以由一个潜在的主题表示。首先…...

【ICLR 2022】重新思考点云中的网络设计和局部几何:一个简单的残差MLP框架

文章目录RETHINKING NETWORK DESIGN AND LOCAL GEOMETRY IN POINT CLOUD: A SIMPLE RESIDUAL MLP FRAMEWORKPointMLP残差点模块几何仿射模块精简版模型:PointMLP-elite实验结果消融实验RETHINKING NETWORK DESIGN AND LOCAL GEOMETRY IN POINT CLOUD: A SIMPLE RESI…...

《MySQL学习》 count(*) 原理

一 . count(*)的实现方式 MyISAM 引擎把一个表的总行数存在了磁盘上,因此执行 count() 的时候会直接返回这个数,效率很高; 而 InnoDB 引擎就麻烦了,它执行 count(*) 的时候,需要把数据一行一行…...

时间序列数据预测的类型

本文主要内容是使用LSTM网络进行不同类型的时间序列预测任务,不涉及代码,仅仅就不同类型的预测任务和数据划分进行说明。 参考文章:https://machinelearningmastery.com/how-to-develop-lstm-models-for-time-series-forecasting/ 注&#xf…...

sk_buff结构体成员变量说明

一. 前言 Socket Buffer的数据包在穿越内核空间的TCP/IP协议栈过程中,数据内容不会被修改,只是数据包缓冲区中的协议头信息发生变化。大量操作都是围绕sk_buff结构体来进行的。 sk_buff结构的成员大致分为3类:结构管理域,常规数据…...

springbatch设置throttle-limit参数不生效

背景描述 当springbatch任务处理缓慢时,就需要使用多线程并行处理任务。 参数throttle-limit用于控制当前任务能够使用的线程数的最大值。 调整throttle-limit为10时,处理线程只有8,再次增大throttle-limit值为20,处理线程依旧为…...

用 tensorflow.js 做了一个动漫分类的功能(一)

前言:浏览某乎网站时发现了一个分享各种图片的博主,于是我顺手就保存了一些。但是一张一张的保存实在太麻烦了,于是我就想要某虫的手段来处理。这样保存的确是很快,但是他不识图片内容,最近又看了 mobileNet 的预训练模…...

看完这篇Vue-element-admin,跟面试官聊骚没问题

Vue-element-admin vue-element-admin 是一个后台前端解决方案,它基于 vue 和 element-ui实现。它使用了最新的前端技术栈,内置了 i18 国际化解决方案,动态路由,权限验证,提炼了典型的业务模型,提供了丰富…...

2022年全国职业院校技能大赛(中职组)网络安全竞赛试题A(5)

目录 模块A 基础设施设置与安全加固 一、项目和任务描述: 二、服务器环境说明 三、具体任务(每个任务得分以电子答题卡为准) A-1任务一 登录安全加固(Windows) 1.密码策略 a.密码策略必须同时满足大小写字母、数…...

基于Java+SpringBoot+Vue+Uniapp前后端分离商城系统设计与实现

博主介绍:✌全网粉丝3W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战✌ 博主作品:《微服务实战》专栏是本人的实战经验总结,《Spring家族及…...

新建ES别名 添加别名 切换别名

# 查询别名指向到哪个索引 GET bebd_factory_search/_alias # 查询这个索引使用了什么别名 GET bebd_factory_search_1588250935622/_alias # 删除索引 DELETE bebd_factory_search_1588250935622 # 新建别名 POST /_aliases { "actions": [ { "ad…...

MySQL —— 内外连接

目录 表的内外连接 一、内连接 二、外连接 1. 左外连接 2. 右外连接 表的内外连接 表的连接分为内连和外连 一、内连接 内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我们前面博客中的查询都是内连接,也是在开发过程中使用的最多…...

EXCEL中文本和数字的相互转换方法

将EXCEL中存为文本的数字转换成数字 如果在 Excel 中,将数字存储为文本格式,可以通过以下步骤将其转换为数字: 选中需要转换格式的单元格或者整列;右键单击,选择“格式单元格”;在弹出的对话框中选择“常…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

基于Springboot+Vue的办公管理系统

角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...

数据结构第5章:树和二叉树完全指南(自整理详细图文笔记)

名人说:莫道桑榆晚,为霞尚满天。——刘禹锡(刘梦得,诗豪) 原创笔记:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 上一篇:《数据结构第4章 数组和广义表》…...

STM32标准库-ADC数模转换器

文章目录 一、ADC1.1简介1. 2逐次逼近型ADC1.3ADC框图1.4ADC基本结构1.4.1 信号 “上车点”:输入模块(GPIO、温度、V_REFINT)1.4.2 信号 “调度站”:多路开关1.4.3 信号 “加工厂”:ADC 转换器(规则组 注入…...

小智AI+MCP

什么是小智AI和MCP 如果还不清楚的先看往期文章 手搓小智AI聊天机器人 MCP 深度解析:AI 的USB接口 如何使用小智MCP 1.刷支持mcp的小智固件 2.下载官方MCP的示例代码 Github:https://github.com/78/mcp-calculator 安这个步骤执行 其中MCP_ENDPOI…...

Java设计模式:责任链模式

一、什么是责任链模式? 责任链模式(Chain of Responsibility Pattern) 是一种 行为型设计模式,它通过将请求沿着一条处理链传递,直到某个对象处理它为止。这种模式的核心思想是 解耦请求的发送者和接收者,…...

第22节 Node.js JXcore 打包

Node.js是一个开放源代码、跨平台的、用于服务器端和网络应用的运行环境。 JXcore是一个支持多线程的 Node.js 发行版本,基本不需要对你现有的代码做任何改动就可以直接线程安全地以多线程运行。 本文主要介绍JXcore的打包功能。 JXcore 安装 下载JXcore安装包&a…...

更新 Docker 容器中的某一个文件

&#x1f504; 如何更新 Docker 容器中的某一个文件 以下是几种在 Docker 中更新单个文件的常用方法&#xff0c;适用于不同场景。 ✅ 方法一&#xff1a;使用 docker cp 拷贝文件到容器中&#xff08;最简单&#xff09; &#x1f9f0; 命令格式&#xff1a; docker cp <…...

【字节拥抱开源】字节团队开源视频模型 ContentV: 有限算力下的视频生成模型高效训练

本项目提出了ContentV框架&#xff0c;通过三项关键创新高效加速基于DiT的视频生成模型训练&#xff1a; 极简架构设计&#xff0c;最大化复用预训练图像生成模型进行视频合成系统化的多阶段训练策略&#xff0c;利用流匹配技术提升效率经济高效的人类反馈强化学习框架&#x…...