summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/macos.yml8
-rw-r--r--.gitlab-ci.yml42
-rw-r--r--AUTHORS5
-rw-r--r--CMakeLists.txt6
-rw-r--r--ChangeLog1887
-rw-r--r--NEWS59
-rw-r--r--doc/release-notes.adoc282
-rw-r--r--docbook/attributes.adoc2
-rw-r--r--docbook/wsug_src/capinfos-h.txt2
-rw-r--r--docbook/wsug_src/dumpcap-h.txt2
-rw-r--r--docbook/wsug_src/editcap-h.txt2
-rw-r--r--docbook/wsug_src/mergecap-h.txt2
-rw-r--r--docbook/wsug_src/rawshark-h.txt2
-rw-r--r--docbook/wsug_src/reordercap-h.txt2
-rw-r--r--docbook/wsug_src/text2pcap-h.txt2
-rw-r--r--docbook/wsug_src/tshark-h.txt2
-rw-r--r--docbook/wsug_src/wireshark-h.txt2
-rw-r--r--editcap.c11
-rw-r--r--epan/CMakeLists.txt2
-rw-r--r--epan/dissectors/asn1/nr-rrc/nr-rrc.cnf88
-rw-r--r--epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c2
-rw-r--r--epan/dissectors/packet-5co-legacy.c16
-rw-r--r--epan/dissectors/packet-5co-rap.c18
-rw-r--r--epan/dissectors/packet-btmesh.c13
-rw-r--r--epan/dissectors/packet-cql.c35
-rw-r--r--epan/dissectors/packet-docsis-macmgmt.c3
-rw-r--r--epan/dissectors/packet-e212.c554
-rw-r--r--epan/dissectors/packet-epl.c19
-rw-r--r--epan/dissectors/packet-fcfzs.c16
-rw-r--r--epan/dissectors/packet-gquic.c4
-rw-r--r--epan/dissectors/packet-grpc.c137
-rw-r--r--epan/dissectors/packet-gsm_a_rp.c12
-rw-r--r--epan/dissectors/packet-http2.c21
-rw-r--r--epan/dissectors/packet-http2.h8
-rw-r--r--epan/dissectors/packet-icmpv6.c51
-rw-r--r--epan/dissectors/packet-ieee1905.c60
-rw-r--r--epan/dissectors/packet-ieee80211.c12
-rw-r--r--epan/dissectors/packet-ipars.c2
-rw-r--r--epan/dissectors/packet-json_3gpp.c28
-rw-r--r--epan/dissectors/packet-lapd.c8
-rw-r--r--epan/dissectors/packet-lldp.c6
-rw-r--r--epan/dissectors/packet-mongo.c8
-rw-r--r--epan/dissectors/packet-nas_5gs.c20
-rw-r--r--epan/dissectors/packet-nr-rrc.c69
-rw-r--r--epan/dissectors/packet-per.c22
-rw-r--r--epan/dissectors/packet-pfcp.c129
-rw-r--r--epan/dissectors/packet-ptp.c2
-rw-r--r--epan/dissectors/packet-quic.c8
-rw-r--r--epan/dissectors/packet-ssh.c3
-rw-r--r--epan/dissectors/packet-tipc.c7
-rw-r--r--epan/dissectors/packet-tls-utils.c29
-rw-r--r--epan/dissectors/packet-zbee-direct.c6
-rw-r--r--epan/dissectors/packet-zbee-tlv.c10
-rw-r--r--epan/dissectors/usb.c1
-rw-r--r--epan/enterprises.c234
-rw-r--r--epan/manuf-data.c695
-rw-r--r--epan/packet.c12
-rw-r--r--epan/packet.h5
-rw-r--r--epan/pci-ids.c596
-rw-r--r--epan/services-data.c2
-rw-r--r--epan/wslua/init_wslua.c34
-rw-r--r--epan/wslua/lrexlib/pcre2/lpcre2.c2
-rwxr-xr-xepan/wslua/make-taps.py24
-rw-r--r--epan/wslua/wslua.h4
-rw-r--r--epan/wslua/wslua_byte_array.c12
-rw-r--r--epan/wslua/wslua_dissector.c53
-rw-r--r--epan/wslua/wslua_field.c12
-rw-r--r--epan/wslua/wslua_file.c6
-rw-r--r--epan/wslua/wslua_file_handler.c8
-rw-r--r--epan/wslua/wslua_frame_info.c8
-rw-r--r--epan/wslua/wslua_int64.c2
-rw-r--r--epan/wslua/wslua_pinfo.c2
-rw-r--r--epan/wslua/wslua_pref.c4
-rw-r--r--epan/wslua/wslua_proto.c4
-rw-r--r--epan/wslua/wslua_struct.c10
-rw-r--r--epan/wslua/wslua_tree.c10
-rw-r--r--epan/wslua/wslua_tvb.c56
-rw-r--r--epan/wslua/wslua_wtap.c10
-rw-r--r--packaging/debian/changelog2
-rw-r--r--packaging/nsis/mingw64-qt-mapping.txt2
-rw-r--r--packaging/nsis/windeployqt-to-nsis.py6
-rwxr-xr-xpackaging/source/git-export-release.sh.in2
-rw-r--r--plugins/epan/mate/mate_runtime.c122
-rw-r--r--plugins/epan/mate/packet-mate.c9
-rw-r--r--reordercap.c94
-rw-r--r--resources/file_dlg_win32.rc14
-rw-r--r--sharkd_session.c68
-rw-r--r--test/captures/quic-with-secrets.pcapngbin0 -> 44236 bytes
-rw-r--r--test/lua/protofield.lua8
-rw-r--r--test/suite_sharkd.py55
-rwxr-xr-xtools/macos-setup.sh8
-rwxr-xr-xtools/make-version.py4
-rw-r--r--tools/win-setup.ps19
-rw-r--r--ui/logray/logray_main_window_slots.cpp2
-rw-r--r--ui/qt/export_dissection_dialog.cpp6
-rw-r--r--ui/qt/models/column_list_model.cpp2
-rw-r--r--ui/qt/models/packet_list_model.cpp69
-rw-r--r--ui/qt/packet_list.cpp2
-rw-r--r--ui/qt/packet_range_group_box.cpp19
-rw-r--r--ui/qt/rtp_player_dialog.cpp6
-rw-r--r--ui/qt/sequence_dialog.cpp50
-rw-r--r--ui/qt/sequence_dialog.h5
-rw-r--r--ui/qt/tcp_stream_dialog.cpp16
-rw-r--r--ui/qt/utils/data_printer.cpp48
-rw-r--r--ui/qt/voip_calls_dialog.cpp3
-rw-r--r--ui/qt/wireshark_de.ts4
-rw-r--r--ui/qt/wireshark_en.ts4
-rw-r--r--ui/qt/wireshark_es.ts4
-rw-r--r--ui/qt/wireshark_fr.ts4
-rw-r--r--ui/qt/wireshark_it.ts4
-rw-r--r--ui/qt/wireshark_ja_JP.ts4
-rw-r--r--ui/qt/wireshark_ko.ts4
-rw-r--r--ui/qt/wireshark_main_window_slots.cpp2
-rw-r--r--ui/qt/wireshark_pl.ts24
-rw-r--r--ui/qt/wireshark_ru.ts4
-rw-r--r--ui/qt/wireshark_sv.ts4
-rw-r--r--ui/qt/wireshark_tr_TR.ts4
-rw-r--r--ui/qt/wireshark_uk.ts4
-rw-r--r--ui/qt/wireshark_zh_CN.ts4
-rw-r--r--ui/win32/file_dlg_win32.cpp152
-rw-r--r--ui/win32/file_dlg_win32.h31
-rw-r--r--wiretap/CMakeLists.txt2
-rw-r--r--wiretap/blf.c191
-rw-r--r--wiretap/blf.h28
-rw-r--r--wiretap/file_access.c2
-rw-r--r--wiretap/pcapng.c112
-rw-r--r--wiretap/wtap.h3
-rw-r--r--wiretap/wtap_opttypes.c26
-rw-r--r--wiretap/wtap_opttypes.h23
-rw-r--r--writecap/pcapio.c5
-rw-r--r--wsutil/cpu_info.c3
131 files changed, 4713 insertions, 2124 deletions
diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml
index 7ea23317..345a7bab 100644
--- a/.github/workflows/macos.yml
+++ b/.github/workflows/macos.yml
@@ -9,14 +9,18 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v3
- - name: Set up Python 3.8
+ - name: Set up Python 3.11
uses: actions/setup-python@v4
with:
- python-version: 3.8
+ python-version: 3.11
- name: Install deps
run: ./tools/macos-setup-brew.sh --install-optional --install-doc-deps --install-dmg-deps --install-test-deps
env:
HOMEBREW_NO_AUTO_UPDATE: 1
+ - name: Install pytest
+ run: pip3 install pytest pytest-xdist
+ - name: Install dmgbuild
+ run: pip3 install dmgbuild
- name: Mkdir
run: mkdir build
- name: Cmake
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index dd025492..67a5e645 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -82,7 +82,7 @@ variables:
.build-linux:
stage: build
tags:
- - docker
+ - saas-linux-small-amd64
before_script:
- printf "\e[0Ksection_start:%s:ci_env_section[collapsed=true]\r\e[0KCI environment variables" "$(date +%s)"
- env | grep ^CI | sort
@@ -96,7 +96,7 @@ variables:
.test-linux:
stage: test
tags:
- - docker
+ - saas-linux-small-amd64
variables:
GIT_STRATEGY: none
@@ -232,7 +232,7 @@ variables:
- cd build
script:
- printf "\e[0Ksection_start:%s:cmake_section[collapsed=true]\r\e[0KRunning CMake" "$( date +%s)"
- - cmake -G Ninja -DENABLE_CCACHE=ON -DLUA_FIND_VERSIONS=ANY -DTEST_EXTRA_ARGS=--disable-capture ..
+ - cmake -G Ninja -DENABLE_CCACHE=ON -DTEST_EXTRA_ARGS=--disable-capture ..
- printf "\e[0Ksection_end:%s:cmake_section\r\e[0K" "$( date +%s)"
- ninja
- ninja test-programs
@@ -262,6 +262,7 @@ Source Package:
- cp -v doc/release-notes.txt ../release-notes-${WIRESHARK_VERSION}.txt
after_script:
# - ccache --max-size $( du --summarize --block-size=1M "$CI_PROJECT_DIR/build" | awk '{printf ("%dM", $1 * 1.5)}' )
+ - if [ "$CI_JOB_STATUS" != "success" ]; then exit 0 ; fi
- stat --format="%n %s bytes" wireshark-*.tar.*
- for digest in sha512 sha256 sha1 ; do openssl $digest wireshark-*.tar.* ; done
# This will break if we produce multiple tarballs, which is arguably a good thing.
@@ -345,7 +346,7 @@ Windows MinGW-w64 Package:
image: registry.gitlab.com/wireshark/wireshark-containers/mingw-dev
rules: !reference [.if-merged]
tags:
- - docker
+ - saas-linux-small-amd64
cache:
# XXX Use ${CI_JOB_NAME}-${CI_MERGE_REQUEST_TARGET_BRANCH_NAME} instead?
key: ${CI_JOB_NAME}-release-4.2
@@ -372,22 +373,22 @@ Windows MinGW-w64 Package:
expire_in: 3 days
needs: []
-openSUSE 15.4 RPM Package:
+openSUSE 15.5 RPM Package:
extends: .build-rpm
- image: registry.gitlab.com/wireshark/wireshark-containers/opensuse-15.4-dev
+ image: registry.gitlab.com/wireshark/wireshark-containers/opensuse-15.5-dev
script:
- printf "\e[0Ksection_start:%s:cmake_section[collapsed=true]\r\e[0KRunning CMake" "$( date +%s)"
- cmake -G Ninja -DUSE_qt6=OFF ..
- printf "\e[0Ksection_end:%s:cmake_section\r\e[0K" "$( date +%s)"
- ninja wireshark_rpm
-openSUSE 15.4 RPM Test:
+openSUSE 15.5 RPM Test:
extends: .test-rpm
- image: registry.gitlab.com/wireshark/wireshark-containers/opensuse-15.4-dev
+ image: registry.gitlab.com/wireshark/wireshark-containers/opensuse-15.5-dev
script:
- zypper --no-gpg-checks --no-remote install -y build/packaging/rpm/RPMS/x86_64/*.rpm
- tshark --version
- needs: [ 'openSUSE 15.4 RPM Package' ]
+ needs: [ 'openSUSE 15.5 RPM Package' ]
Rocky Linux 9 RPM Package:
extends: .build-rpm
@@ -528,7 +529,7 @@ macOS Arm Package:
- wireshark-macos-arm-package
retry: 1
script:
- - export CMAKE_PREFIX_PATH=/usr/local/Qt-6.2.4
+ - export CMAKE_PREFIX_PATH="/usr/local/Qt-6.2.4:/usr/local/lua-5.2"
- export PATH="$PATH:$HOME/bin"
- mkdir build
- cd build
@@ -573,7 +574,7 @@ macOS Intel Package:
- wireshark-macos-intel-package
retry: 1
script:
- - export CMAKE_PREFIX_PATH=/usr/local/Qt-6.2.4
+ - export CMAKE_PREFIX_PATH="/usr/local/Qt-6.2.4:/usr/local/lua-5.2"
- export PATH="$PATH:$HOME/bin"
- mkdir build
- cd build
@@ -624,7 +625,7 @@ Documentation:
script:
# XXX We might want to move this to wireshark-ubuntu-dev or debian-setup.sh.
- DEBIAN_FRONTEND=noninteractive apt-get update
- - DEBIAN_FRONTEND=noninteractive apt-get --yes install ruby-coderay ruby-asciidoctor-pdf
+ - DEBIAN_FRONTEND=noninteractive apt-get --yes install ruby-asciidoctor-pdf ruby-coderay ruby-dev
- NOKOGIRI_USE_SYSTEM_LIBRARIES=1 gem install asciidoctor-epub3
- mkdir build
- cd build
@@ -633,16 +634,16 @@ Documentation:
- printf "\e[0Ksection_end:%s:cmake_section\r\e[0K" "$( date +%s)"
- ninja all_guides
- cd docbook
- - for HTML_DIR in wsug_html wsug_html_chunked wsdg_html wsdg_html_chunked ; do zip -9 -r "$HTML_DIR.zip" "$HTML_DIR" ; done
- after_script:
- - mv -v build/docbook/ws[ud]g_html{,_chunked}.zip .
- - mv -v build/docbook/Wireshark*Guide.{epub,pdf} .
+ - for HTML_DIR in ws[ud]g_html{,_chunked} ; do zip -9 -r "$HTML_DIR.zip" "$HTML_DIR" ; done
- |
if [ -n "$S3_DESTINATION_DOCS" ] ; then
for DOC_FILE in ws[ud]g_html{,_chunked}.zip Wireshark*Guide.{epub,pdf} ; do
aws s3 cp "$DOC_FILE" "$S3_DESTINATION_DOCS/"
done
fi
+ - mv -v ws[ud]g_html{,_chunked}.zip Wireshark*Guide.{epub,pdf} ../..
+ after_script:
+ - if [ "$CI_JOB_STATUS" != "success" ]; then exit 0 ; fi
artifacts:
paths:
- wsug_html.zip
@@ -812,14 +813,14 @@ macOS Build:
- cmake -GNinja ..
- printf "\e[0Ksection_end:%s:cmake_section\r\e[0K" "$( date +%s)"
- ninja wsar_html_zip 2>&1 > doxygen_output.txt | tee doxygen_errors.txt
- after_script:
- - mv build/wsar_html.zip .
- - mv build/doxygen_output.txt .
- - mv build/doxygen_errors.txt .
+ - mv wsar_html.zip doxygen_{output,errors}.txt ..
+ - cd ..
- |
if [ -n "$S3_DESTINATION_DOCS" ] ; then
aws s3 cp wsar_html.zip "$S3_DESTINATION_DOCS/"
fi
+ after_script:
+ - if [ "$CI_JOB_STATUS" != "success" ]; then exit 0 ; fi
artifacts:
paths:
- doxygen_errors.txt
@@ -856,6 +857,7 @@ macOS Build:
# The cache should be large enough to be useful but it shouldn't take
# too long to restore+save each run.
- ccache --max-size $( du --summarize --block-size=1M "$CI_PROJECT_DIR/build" | awk '{printf ("%dM", $1 * 1.5)}' )
+ - if [ "$CI_JOB_STATUS" == "canceled" ]; then exit 0 ; fi
- . /tmp/fuzz_result.sh
- if $FUZZ_PASSED ; then exit 0 ; fi
- echo Fuzzing failed. Generating report.
diff --git a/AUTHORS b/AUTHORS
index c3dc9da4..93af0ecc 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -4256,6 +4256,7 @@ Cédric Delmas <cedricde[AT]outlook.fr>
D. W. Poon <dwpoon[AT]mail.ubc.ca>
Daan De Meyer <daan.j.demeyer[AT]gmail.com>
Damir Franusic <damir.franusic[AT]gmail.com>
+Dan <DanOfTheRoses[AT]gmail.com>
Dan Robertson <danlrobertson89[AT]gmail.com>
Dana Sy <dana.hayden.sy[AT]gmail.com>
Daniel Dulaney <dan[AT]dulaney.xyz>
@@ -4338,6 +4339,7 @@ Dmitry Linikov <linikov[AT]arrival.com>
Dmitry Radivonchik <mitya[AT]oktetlabs.ru>
Dom Gifford <Dominic.Gifford[AT]atmel.com>
Dominic Chen <d.c.ddcc[AT]gmail.com>
+Dominic Pearson <dsp[AT]technoanimal.net>
Dominik Kilian <Dominik.Kilian[AT]nordicsemi.no>
Domonkos P. Tomcsanyi <domi[AT]tomcsanyi.net>
Donatas Abraitis <donatas[AT]opensourcerouting.org>
@@ -5249,6 +5251,7 @@ Yannik Enss <Yannik.Enss[AT]rohde-schwarz.com>
Yasuyuki Tanaka <yasuyuki.tanaka[AT]inria.fr>
Yehonatan Zecharia <yonti95[AT]gmail.com>
Yehudah Aaron <yehmron[AT]gmail.com>
+Yingjie Deng <17322619133[AT]163.com>
Yoni Gilad <yonig[AT]radcom.com>
Yoshihiro Ueda <uyoshihiro[AT]users.noreply.gitlab.com>
Yoshiyuki Kurauchi <ahochauwaaaaa[AT]gmail.com>
@@ -5300,8 +5303,10 @@ m.kaldenbach <m.kaldenbach[AT]wearetriple.com>
mGhony99 <mGhony99[AT]gmail.com>
mbutkereit <marvin.butkereit[AT]haw-hamburg.de>
mirkodeckert <mirko.deckert[AT]adtran.com>
+mistral13 <mistral[AT]gmx.ch>
mivens <mark.ivens[AT]vitrifi.net>
mkg20001 <mkg20001[AT]gmail.com>
+mverkleij <mail[AT]mverkleij.nl>
naesten <naesten[AT]gmail.com>
naf <naf[AT]sdf.org>
nickvsnetworking <nick[AT]nickvsnetworking.com>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 132e4a94..155e0a43 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -57,7 +57,7 @@ endif()
# Updated by tools/make-version.py
set(PROJECT_MAJOR_VERSION 4)
set(PROJECT_MINOR_VERSION 2)
-set(PROJECT_PATCH_VERSION 4)
+set(PROJECT_PATCH_VERSION 5)
set(PROJECT_BUILD_VERSION 0)
set(PROJECT_VERSION_EXTENSION "")
@@ -1201,6 +1201,10 @@ find_package(GCRYPT "1.8.0" REQUIRED)
# C Asynchronous resolver
reset_find_package(CARES)
find_package(CARES "1.13.0" REQUIRED)
+if (CARES_VERSION VERSION_GREATER_EQUAL "1.28.0")
+ # Suppress deprecation warnings.
+ add_compile_definitions(CARES_NO_DEPRECATED)
+endif ()
find_package(LEX REQUIRED)
find_package(Perl)
find_package(PCRE2 REQUIRED)
diff --git a/ChangeLog b/ChangeLog
index 4711cda7..73405da0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,1175 +1,1506 @@
-commit cde7eb73a1b
-Author: Niels Widger <niels@qacafe.com>
-Date: Mon Mar 25 13:58:54 2024 -0400
+commit 7263aefcb0
+Author: Gerald Combs <gerald@wireshark.org>
+Date: Mon May 13 15:55:35 2024 -0700
- sharkd: Add "column_info" field to "status" method
+ Prep for 4.2.5
- Add new `column_info` field to `sharkd`'s `status` method which
- contains additional column information. A new `column_info` field was
- added because the existing `columns` field is a simple string array
- and therefore new fields could not be added to it in a
- backwards-compatible manner. The new `column_info` field includes
- each column's title, format string (i.e. `%x` or
- `%Cus:<expr>:<occurrence>` if `COL_CUSTOM`) as well as booleans
- indicating if the column is visible or resolved.
+commit e02689beb6
+Author: John Thacker <johnthacker@gmail.com>
+Date: Mon May 13 22:06:46 2024 +0000
- The existing `sharkd` unit tests `test_sharkd_req_status_no_pcap` and
- `test_sharkd_req_status` have been updated to check for the new
- `column_info` field.
+ Qt: Fix RTP Player crash
- (cherry picked from commit a7236f6a57802cddb8d57f21d904bea729051b09)
+ marker_stream_ might not exist when playFinished is called.
+ In particular, deleting the RtpAudioStreams might cause
+ playFinished to be called when the audio streams delete
+ their audio output in certain cases, such as if they are
+ paused. (The behavior might be slightly different on Qt6,
+ where QAudioSink is used vs. Qt5 where QAudioOutput is used.)
-commit 99655aa204c
-Author: John Thacker <johnthacker@gmail.com>
-Date: Wed Mar 27 09:52:21 2024 -0400
+ Fix #19596
- IPPUSB: Avoid (mostly harmless) string overread
+ (cherry picked from commit 7698e03ba13e2e9966c84fbd800f8ab6c25983ef)
- The result of tvb_get_ptr and the CHUNKED_END array are not
- null terminated (but are guaranteed to be CHUNK_LENGTH_MIN),
- so memcmp is more appropriate than strncmp, as the later will
- call strlen, which goes outside the desired range. It's a read,
- not a write, and it will be thrown away because it will always
- compare larger than CHUNK_LENGTH_MIN, but there's no reason to
- do it. It also, at least on some versions of gcc and some compiler
- options, causes a stringop-overread warning that becomes an error.
+ Co-authored-by: John Thacker <johnthacker@gmail.com>
- For good practice, replace the tvb_get_ptr + memcmp call with
- tvb_memeql.
+commit 8be6839369
+Author: Gerald Combs <gerald@wireshark.org>
+Date: Mon May 13 13:07:00 2024 -0700
- (cherry picked from commit 3a7b6188972e5fc59ce7df053e660b4f200795f8)
+ GitLab CI: Fix a couple of separators
-commit e6abb97eb87
+commit 01a8f70b09
Author: John Thacker <johnthacker@gmail.com>
-Date: Tue Mar 26 19:03:31 2024 -0400
-
- Qt: Apply the fix for SyntaxComboBoxes to Qt 5.15.3
+Date: Wed Oct 18 20:59:53 2023 -0400
- The change that caused SyntaxLineEdit backgrounds not to be applied
- when inside a QComboBox (#18175, caused by Qt trying to fix
- https://bugreports.qt.io/browse/QTBUG-81533) was backported to
- Qt 5.15.3, so apply it on those versions as well.
+ GitLab CI: Switch the openSUSE builds to 15.5
- There might well be a better way to work around this, but this
- is simple enough and works.
+ (cherry picked from commit a274d763df69d2a3d91f6478f6deb29c0c039952)
- Fix #18996
+commit 1b9e1eccc8
+Author: Gerald Combs <gerald@wireshark.org>
+Date: Mon May 13 12:41:37 2024 -0700
- (cherry picked from commit 24b27a78e2cb2c64f1b359c920fd5f2fa051396a)
+ GitLab CI: Quote a variable
-commit c05c751df5a
+commit c637058453
Author: Gerald Combs <gerald@wireshark.org>
-Date: Mon Mar 25 16:29:53 2024 -0700
+Date: Mon May 13 12:01:53 2024 -0700
- Prep for 4.2.4
+ GitLab CI: Try to add back Lua on macOS
-commit bff2e50c192
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Sat Mar 23 17:16:46 2024 -0700
+commit 9118420bb8
+Author: John Thacker <johnthacker@gmail.com>
+Date: Mon May 13 14:52:45 2024 +0000
- DVB-S2: Add a null check
+ Packaging: Get MinGW cross-compiling working with Qt 6.7
- (cherry picked from commit 105da2927f217e21216b0d1f3e5c6f4022d28ac6)
+ Qt 6.7 renamed QWindowsVistaStylePlugin to QModernWindowsStylePlugin.
+ We have an explicit mapping because windeployqt6 doesn't work well
+ with cross-compiling. Skip files that don't exist, since only one
+ of the Windows plugin files will exist.
-commit 4bd1e2d4deb
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Sat Mar 23 17:12:04 2024 -0700
+ (cherry picked from commit 169392ce60ebf3d1fdc090ebf08ecdb313edb145)
- ISO 7816: Add a null check
+ Co-authored-by: John Thacker <johnthacker@gmail.com>
- (cherry picked from commit 45342588857f4410c7e2c7d11c72105010e459b3)
+commit e93ac94572
+Author: John Thacker <johnthacker@gmail.com>
+Date: Mon May 13 13:37:23 2024 +0000
-commit c430b886679
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Sat Mar 23 17:03:35 2024 -0700
+ wslua: Fix segfault when registering a field / ei twice
- H.264+H.265: Add null checks
+ We need to call Proto_commit as a protected function so that
+ errors don't call wslua_panic and abort, but instead are handled
+ gracefully.
- Make sure our field pointers are valid. Found by scan-build.
+ Fix #19194
- (cherry picked from commit 0cc1a5f11077094266b2bd3ddf272aa0a5c7ae88)
+ (cherry picked from commit 70a3c9f82913d6c70ddc57d19976f80a676c9c56)
- Conflicts:
- epan/dissectors/packet-h264.c
- epan/dissectors/packet-h265.c
+ Co-authored-by: John Thacker <johnthacker@gmail.com>
-commit 9cc50ba9757
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Sun Mar 24 09:24:14 2024 +0000
+commit 7f380a2a9d
+Author: John Thacker <johnthacker@gmail.com>
+Date: Mon May 13 13:06:21 2024 +0000
- [Automatic update for 2024-03-24]
+ GitLab CI: Fix the Documentation job artifacts
- Update manuf, services enterprise numbers, translations, and other items.
+ (cherry picked from commit 674e79c29e8144bb61ef4b3248be9fcb33c8dc9b)
-commit 73cae3cda13
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Sat Mar 23 10:37:13 2024 -0700
+ Co-authored-by: Gerald Combs <gerald@wireshark.org>
- Add recursion checks to SoulSeek, SML, and Socks
+commit 8c1ba39798
+Author: John Thacker <johnthacker@gmail.com>
+Date: Mon May 13 12:35:29 2024 +0000
- (cherry picked from commit 5366c18d28774f30c463d95df0e5e58d61f85897)
+ GitLab CI: Install ruby-dev in the Documentation job
-commit 092d48aec06
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Sat Mar 23 11:53:04 2024 -0700
+ (cherry picked from commit 520fb7848ec713eadd9a0b149197d793789e9c52)
- Recursion updates for Gryphon, MATE, OpcUa, PNIO, and WiMAX ASN CP
+ Co-authored-by: Gerald Combs <gerald@wireshark.org>
- (cherry picked from commit 6d4375846b07b827c73be6474c34dc68284414ab)
+commit 235136144c
+Author: John Thacker <johnthacker@gmail.com>
+Date: Sun May 12 08:53:46 2024 -0400
- Conflicts:
- plugins/epan/mate/mate_runtime.c
- plugins/epan/opcua/opcua_simpletypes.c
+ Revert "Lua: Replace lua_pushnumber with lua_pushinteger where apropriate."
-commit 76c41d8dc0a
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Sat Mar 23 10:19:43 2024 -0700
+ This reverts commit 8cac5932f79b87deda26480769a266ff344036e6.
- Add recursion checks to LLRP, MQ PCF, OPSI, and OSC
+commit f12b53ac0f
+Author: John Thacker <johnthacker@gmail.com>
+Date: Sun May 12 08:53:24 2024 -0400
- (cherry picked from commit f9e954497fb9900dfc62fd55b870f0d859147ec6)
+ Revert "wslua: Fix support for Lua 5.1 and 5.2 on 32bit"
-commit f0678f3ae71
-Author: Guy Harris <gharris@sonic.net>
-Date: Fri Mar 22 12:23:04 2024 -0700
+ This reverts commit f8fd960cb8f5378c8ab6b20b4bc7f0b73498d057.
- expert: register ei_unreassembled with proto_unreassembled.
+commit 4ed940da8c
+Author: John Thacker <johnthacker@gmail.com>
+Date: Sun May 12 08:53:11 2024 -0400
- We have two pseudo-protocols, not one, and proto_unreassembled is
- intended for "Wireshark didn't reassemble this, so we ran past the end
- of the first segment" type errors. Have two separate ei_register_info[]
- arrays, one for errors deemed "malformed" and one for errors deemed
- "unreassembled", and register them with the appropriate protocols.
+ Revert "Lua: Revert a mistaken change to lua_pushinteger"
- (cherry picked from commit e4a33420689431c6c399946fb3c6203cf687b5a2)
+ This reverts commit f2dc894cb2e50668a3f80bfdffed1932f8e35459.
-commit 0ef35722a7f
+commit a88ec0adc0
Author: Gerald Combs <gerald@wireshark.org>
-Date: Thu Mar 21 09:25:29 2024 -0700
-
- USBVIDEO: Add a class data type check
+Date: Sun May 12 09:26:48 2024 +0000
- Make sure our class data type is USB_CONV_VIDEO before trying to use it.
+ [Automatic update for 2024-05-12]
- Fixes #19717
+ Update manuf, services enterprise numbers, translations, and other items.
- (cherry picked from commit 0e1bad2875f2d73a6d67169eeb9f1cdb7554e1c2)
+commit e8d6cf7c66
+Author: John Thacker <johnthacker@gmail.com>
+Date: Sat May 11 13:12:25 2024 +0000
-commit a9c7dcd27eb
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Thu Mar 21 13:03:14 2024 -0700
+ lua: Deregister heuristic lists added via heuristic_new on reload
- Windows: Upgrade c-ares to 1.27.0
+ Heuristic dissectors lists don't necessarily (and don't usually)
+ have the name of a given dissector handle.
- (cherry picked from commit c733727c76a012b43d4026071e51e9a0d56559f3)
+ There's still a leak when reloading plugins because the created
+ heuristic dissector list isn't returned to the caller. That also
+ means there's no way of knowing if it succeeded, and using the
+ heuristic list involves calling proto:register_heuristic with
+ the name, but rather than calling a function on a returned
+ object.
-commit 02218b1fb77
-Author: John Thacker <johnthacker@gmail.com>
-Date: Wed Mar 20 12:02:51 2024 -0400
+ Fix #19603
- TFTP: Fix export objects in single pass tshark
+ (backported from commit 2b2b032af2bdb33345534db33445a2aad24c6217)
- We cannot know during the first pass if the capture file contains
- the last block of a TFTP transfer, so we have to copy the blocks
- regardless (if we have no missing blocks yet.)
+commit 0711fa7b1e
+Author: mistral13 <mistral@gmx.ch>
+Date: Wed Oct 11 22:17:50 2023 +0200
- Fix #19715
+ btmesh: Various fixes from master
- (cherry picked from commit e640ecd591fdc837ee2ed79b1e39bee5b34829e3)
+ 1. Register the company ID as big endian.
+ 2. The pinfo column of the own (lua-)dissector was overwritten
+ by the btmesh dissector.
+ 3. Output of the own (lua-)dissector as root-tree element.
-commit b0288cb8fb4
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Wed Mar 20 09:54:17 2024 -0700
+ Fixed some code indent while already visiting this file.
- Add recursion checks to EXTREME MESH, LwM2M-TLV, MPLS ECHO, SNA, and TCAP
+ Ping #19388
- (cherry picked from commit 1ed5bd8dd2c7b1a8c79c60fb368717728f0d15c4)
+ (cherry picked from commit d3fab19401caf09e2e65047d2843db9d3caf2131)
+ (cherry picked from commit 50f322ec1702f4ce0e2d94a19509a82b3fb3df24)
+ (cherry picked from commit 38d05ad97a4a2158b834f973a5b6a034c78edc7b)
+ (cherry picked from commit a4527fa0418605318c8986bc8947a606e72043a9)
-commit b03e1136fc4
-Author: Guy Harris <gharris@sonic.net>
-Date: Tue Mar 19 11:43:18 2024 -0700
+commit 949aa570f3
+Author: John Thacker <johnthacker@gmail.com>
+Date: Fri May 10 10:42:03 2024 -0400
- mac-lte: fix more bogus casts.
+ Lua: Fix DissectorTable on certain Lua versions (e.g., 32 bit)
- It is *not* safe to pass a pointer to anything other than a pointer to a
- guint32/uint32_t as the last argument to proto_tree_add_item_ret_uint().
+ The port value is a uint32_t. Calling checkinteger and implicitly
+ casting to an unsigned integer later does not give the correct
+ result on a Lua install where Lua_Integer is 32 bit for unsigned
+ integers greater than INT32_MAX. Lua will truncate to the integer
+ range (sometimes by using inline assembly, sometimes explicitly.)
- Doing so, and then making the compiler's complaint about that because
- you want your code to compile, means that a full 32 bits will be written
- to, even though they're being written to somethiing smaller than 32
- bits, so *something* outside of the item to be stored into will be
- written. If you're *lucky*, that will be padding. If you're *not*
- lucky, it could be anothr variable, or something else in memory.
+ Note that Lua_Integer can 32 bit on 64 bit platforms; it can also
+ be 64 bit on 32 bit platforms.
- Don't do that.
+ Fix #18367
- (cherry picked from commit 3ea56842a3750d760d1742e534eab424e81d9a41)
+ (backported from commit 4049ea7e6c4009158cbf91b0bf3300759d2106d6)
-commit 34bf4d1d361
-Author: Matan Perelman <matan1008@gmail.com>
-Date: Tue Mar 19 09:07:13 2024 +0200
+commit f2dc894cb2
+Author: John Thacker <johnthacker@gmail.com>
+Date: Fri May 10 10:08:00 2024 -0400
- mac-lte: Fix memory access in LONG_BSR_LCID
+ Lua: Revert a mistaken change to lua_pushinteger
- Before this change, when reaching LCID Group 2 in LONG_BSR_LCID parsing,
- the call to `proto_tree_add_item_ret_uint` with `(guint32*)&buffer_size[2]`
- would access memory beyond the array since the array contains 4 elements
- of type guin8. The invalid access sometimes created an unexpected write
- to the `lcids` array, changing the LCID and causing a wrong dissection
- of the matching body.
+ The value read from a file here is allowed to be a floating point number,
+ it should not be pushed as a Lua_Integer.
- (cherry picked from commit 5de524bc2027b6d65480849f780169a9553506e2)
+ (backported from commit 1428fe28e663c8c6057d583d336b84014f169de1)
-commit 4fc3be24f0d
-Author: John Thacker <johnthacker@gmail.com>
-Date: Mon Mar 18 10:14:44 2024 -0400
+commit 077104f6dc
+Author: Gerald Combs <gerald@wireshark.org>
+Date: Wed May 8 14:17:01 2024 -0700
- MinGW+NSIS: Install NSIS package in setup script
+ Windows: Upgrade GnuTLS to 3.8.4
- (cherry picked from commit 4c5f838c5881f11a91635ba330d9a5b0f70fa86b)
+ (cherry picked from commit b119b9d6010f7ec0210f83297df365c2e1dec1ae)
-commit 36afc6b15f5
+commit 6ab3e8ed88
Author: John Thacker <johnthacker@gmail.com>
-Date: Mon Mar 18 09:43:16 2024 -0400
+Date: Thu May 9 14:08:33 2024 +0000
- MinGW+NSIS: Work around QTBug-122257 when building
+ GitLab CI: Remove LUA_FIND_VERSIONS ANY
- For one status message type, windeployqt --list ignores the
- verbosity setting and prints them to standard out in
- Qt 6.6.0 - 6.6.2. Work around that so that MSYS2 builds work.
+ That was added briefly but support removed in
+ commit 759c0feab351de2b20946ececf2949ab52592ccd and it
+ results in Lua not being found.
- https://bugreports.qt.io/browse/QTBUG-122257
+ (cherry picked from commit eccf1104d6e310eaf78a0bf063425179c81a7150)
- (cherry picked from commit 3cff44e4a06e5c0aa09e090538e0cea08e5a45d8)
+ Co-authored-by: John Thacker <johnthacker@gmail.com>
-commit 3bc3389128b
+commit 38c5a89ac4
Author: Gerald Combs <gerald@wireshark.org>
-Date: Sun Mar 17 12:52:39 2024 -0700
+Date: Tue May 7 16:48:37 2024 -0700
- Add recursion checks to DCOM, MPEG PES, PROXY, Snort config, and Thread
+ Windows: Upgrade nghttp2 to 1.61.0
- (cherry picked from commit 6653bfd82ed86417578a31525de67e5f1e299a89)
+ (cherry picked from commit fe51f8424f9a5dcae514745b919b6139c3c568fd)
- Conflicts:
- epan/dissectors/packet-snort-config.c
+commit 5e96f900a9
+Author: John Thacker <johnthacker@gmail.com>
+Date: Tue May 7 06:38:31 2024 -0400
-commit b8146867260
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Sun Mar 17 10:37:39 2024 -0700
+ gitlab-ci: Remove docker tag from jobs
- Add recursion checks to DICOM, FC-SWILS, PIM, RSL, and WASSP
+ The small SaaS runner on Linux had the docker (plus all other tags)
+ removed, causing all the jobs with that tag to get stuck.
- (cherry picked from commit e9f0d2c22a23bf279753884fd9a8980d2ae13642)
+ https://about.gitlab.com/blog/2023/08/15/removing-tags-from-small-saas-runner-on-linux/
+ https://docs.gitlab.com/ee/update/deprecations.html#removal-of-tags-from-small-saas-runners-on-linux
+ (backported from commit a0e399e5c3edd06cfc78fe41f8959f4c556045be)
-commit 218d89ff7db
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Sun Mar 17 09:25:25 2024 -0700
+commit 94ac8729f3
+Author: John Thacker <johnthacker@gmail.com>
+Date: Sun May 5 13:59:27 2024 +0000
- Add recursion checks to DCCP, KNX/IP, PANA, SOME/IP, and WLCCP
+ MATE: Handle fields that are in different data sources
- (cherry picked from commit db886b4acbc761e730d2364e3759019266404275)
+ In addition to the start and end offset locations, store a pointer to
+ the data source tvb in each mate_range. The start and end offsets
+ are only relevant within a data source.
-commit 9c9a8a5defe
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Sat Mar 16 10:35:37 2024 -0700
+ If a field has a data source different from one of the protocol,
+ transport protocol, or payload ranges, search in the tree for the
+ ancestor nodes of the field, and see if an ancestor is located within
+ one of the ranges.
- Add recursion checks to CSN.1, GSM A-bis OML, NAS-5GS, SolarEdge, and WMIO
+ In order to workaround #17877 (non-visible items can't change length
+ after being added to the tree, which affects most protocols), set
+ the tree as visible similar to done with a number of Lua postdissectors
+ that need all fields. Unfortunately this is overkill that hurts
+ performance.
- (cherry picked from commit 73b6bf25e27796352774f7d95ef053c1da1d1cfd)
+ Fix #19619
- Conflicts:
- epan/dissectors/packet-wmio.c
+ (cherry picked from commit 4ec5c7f78f9af35b2cebe92c4dd7eab033a1aa82)
+
+ Co-authored-by: John Thacker <johnthacker@gmail.com>
-commit 248cb260566
+commit 48c0364590
Author: Gerald Combs <gerald@wireshark.org>
-Date: Sun Mar 17 09:24:41 2024 +0000
+Date: Sun May 5 09:25:22 2024 +0000
- [Automatic update for 2024-03-17]
+ [Automatic update for 2024-05-05]
Update manuf, services enterprise numbers, translations, and other items.
-commit 9042c92dd95
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Sat Mar 16 09:44:46 2024 -0700
+commit cb267b4e52
+Author: Martin Nyhus <martin@nyhus.dev>
+Date: Wed May 1 17:17:06 2024 +0200
- Add recursion checks to CQL, GSM GSUP, MSWSP, RSVP, and WTP
+ ZigBee TLV: fix infinite loop in deeply nested packets
- (cherry picked from commit 277d965657060085e14990d7eafc596f0b1f0ed0)
+ When analyzing a packet that hits the recursion limit returning the
+ remaining length of the buffer would allow backtracking, setting up an
+ infinite loop if the packet is constructed correctly and the code would
+ fail by hitting the too many items check.
-commit cc138f8ea22
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Fri Mar 15 14:31:15 2024 -0700
+ Since dissect_zbee_tlvs doesn't know the length of the value it is
+ dissecting it can't pretend to have consumed all of it. Most of the
+ callers of this function eventually check for bytes that weren't
+ consumed so returning offset (i.e. no bytes consumed) makes the value
+ get treated as unknown bytes.
- Add recursion checks to COSE, GQUIC, SUA, and XML
+ Input to fuzzshark_zbee_beacon that triggered this:
+ fb 03 49 ff 49 eb 49 ff 49 ff 49 eb 49 ff
- (cherry picked from commit 7122291d5d0df839f4dd404cad13d93e36bd04a0)
+ (cherry picked from commit 9ab952b9641bb07d796499487e8d8691d52a6902)
-commit 8cac5932f79
-Author: Anders Broman <a.broman58@gmail.com>
-Date: Mon Mar 4 12:22:54 2024 +0100
+commit 37c53eab86
+Author: John Thacker <johnthacker@gmail.com>
+Date: Thu May 2 23:29:30 2024 +0000
- Lua: Replace lua_pushnumber with lua_pushinteger where apropriate.
+ Qt: Fix an typo of row vs count in columnListModel
- (cherry picked from commit 4e997a93ea4c494b5fdae5b14829feffafa6f453)
+ The size of the internal store is the number of model rows (which
+ are the packet list columns), not the number of model columns (which
+ are the parameter types for the packet list columns). This caused data
+ not to appear for the later parameter types when the number of packet
+ list columns were small. More of a difference in the current branch
+ because width and alignment are also shown in preferences, so it
+ has effects at the default number of columns.
-commit 77897acfb46
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Tue Mar 12 19:28:43 2024 -0700
+ Related to #19821 (but not sufficient.)
- Add recursion checks to COROSYNC/TOTEMSRP, HSMS, ProtoBuf, RTLS, and YAMI
+ (cherry picked from commit 704fe87abd1e83a3451ba4abb2001ef7349d5c71)
- (cherry picked from commit 5b29346f9b7e4c67401afc2015b880de760eb73b)
+ Co-authored-by: John Thacker <johnthacker@gmail.com>
-commit efed69f77b8
+commit a338e8117c
Author: John Thacker <johnthacker@gmail.com>
-Date: Thu Mar 14 20:43:24 2024 -0400
+Date: Wed May 1 11:41:24 2024 +0000
+
+ LAPD: Set source address
- Lua: Don't test for removed functions
+ The destination and source address are both being set to the
+ destination value. This causes the normal all source Flow Graph
+ (as opposed to the one created by the VoIP Calls Dialog) to have
+ empty lines.
- atan2, cosh, sinh, tanh, pow, frexp, ldexp, and log10 were
- removed from Lua 5.3. (log10 was removed in Lua 5.2), along
- with other functions.
+ Set the dl_src and dl_dst addresses using the AT_STRINGZ address
+ instead of col_set_str so that it works for both the Resolved and
+ Unresolved columns, and set the src and dst addresses as shallow
+ copies of those.
- Don't test for or promise their existence. People using them in dissectors
- will have to use workarounds. The most common ones have native
- implementations - anyone using hyperbolic sine in a dissector will
- have to find some other workaound.
+ Fixup 7ac827fd74cf7b1eac80d54b5ce0001f15a587e3
- Related to #10881
+ (cherry picked from commit 1da57b5ad536acd1d138d363825bc7aad7ad1f4b)
- (backported from ad69c29f8e89b4f77ae4c63fa1b65da2ec57d648)
+ Co-authored-by: John Thacker <johnthacker@gmail.com>
-commit 12b34c36d3a
+commit 8b916c603e
Author: John Thacker <johnthacker@gmail.com>
-Date: Sun Mar 3 17:46:26 2024 -0500
+Date: Tue Apr 30 23:20:17 2024 +0000
- Lua: In tests, use load instead of loadstring on Lua > 5.1
+ Qt: Fix ProgressFrame location in non-VoIP Flow Graph
- loadstring was removed after Lua 5.1. load given a string argument
- has the same behavior as loadstring did. Test for the Lua version
- in order to use the appropriate function.
+ ProgressFrame::addToButtonBox examines the button box layout to
+ determine where to add itself. Changing the visibility of the
+ RTP player button redoes the layout and upsets the positioning
+ of the frame. This leaves the ProgressFrame dangling in the far
+ left of the ButtonBox, on top of the Help button.
- Related to #10881
+ SequenceDialog only determines whether it's a VoIP Calls dialog or
+ a non-VoIP Flow Graph when initially instantiated (there's no call
+ to disable it), so add the VoIP parameter to the constructor and
+ set the visibility appropriately before adding the ProgressFrame
+ instead of having the VoIP Calls Dialog call an extra public method.
- (cherry picked from commit 5e4d7dd565b9262c38847ff33688b675996d2546)
+ (cherry picked from commit a95dec6ef9612d80598547a346825639e16c4e51)
-commit 4791b23c6c6
+ Co-authored-by: John Thacker <johnthacker@gmail.com>
+
+commit a862720a7e
Author: John Thacker <johnthacker@gmail.com>
-Date: Wed Mar 13 08:39:38 2024 -0400
+Date: Tue Apr 30 22:41:28 2024 +0000
+
+ Qt: Use afterLayout signal for Flow Graph y axis labels
- wsutil: Allow converting zero length bytestrings again
+ For the Sequence Dialog (Flow Graph / VOIP Calls), we place
+ text labels for the two y-axes (Time and Comment) above the
+ axes, which is not a normally supported position, so we
+ manually place it. The position of the labels depends on the
+ axis rectangle sizes and positions.
- Prior to 3.6, we allowed the bytes_to_str function to convert
- an empty (but non NULL) hex byte string to an empty string,
- and some uses expected that, e.g. in the UATs. Allow that again.
+ QCustomPlot 2.1.0 added a new QCustomPlot::afterLayout signal
+ that is extremely helpful for situations like this. It is
+ called immediately before the draw step in a replot, or before
+ printing happens, and can put the labels in the correct position
+ after any change.
- Fix #19705
+ This is a little more reliable than our previous solution, which
+ sometimes left the labels out of position, needing to be fixed
+ by manually pushing the Reset button.
- (cherry picked from commit eb585523846961c8bfef20d7206a265e76825cd8)
+ (cherry picked from commit 84fe646b78d62dcc5540d7a2950a06b0f86de0e7)
-commit 9dbd02ff654
+ Co-authored-by: John Thacker <johnthacker@gmail.com>
+
+commit 51a925ce40
Author: John Thacker <johnthacker@gmail.com>
-Date: Tue Mar 12 23:29:14 2024 -0400
+Date: Mon Apr 29 01:45:43 2024 +0000
+
+ ptp: multiple tlv_pathsequence in announce message
- Qt: queue TCP stream graph replots during mouse moves
+ (cherry picked from commit 7ef8501c347d4336a1cb62b4b312f8c93b92efff)
- For a mouseMove event, don't immediately replot but queue
- the replot for the next event loop iteration. This dramatically
- improves performance on Linux for graphs with a large number
- of points when moving the mouse for graphs.
+ 32b82d47 Update file packet-ptp.c
+ 746c18cf ptp: multiple tlv_pathsequence in announce message
- (cherry picked from commit 1ea44a05e95d71d458750ee3f57fbf9801989e5f)
+ Co-authored-by: Chuck Craft <bubbasnmp@gmail.com>
+
+commit 42e3b84e31
+Author: John Thacker <johnthacker@gmail.com>
+Date: Sun Apr 28 21:16:17 2024 +0000
-commit 4577621fc2f
-Author: Jaap Keuter <jaap.keuter@xs4all.nl>
-Date: Wed Mar 13 01:13:02 2024 +0000
+ GitLab CI: Fix the Documentation job
- SNMP set correct req/resp relation when req's are repeated.
+ Remove a duplicate `cd`. Use the same pattern for the guides when
+ zipping and copying.
- (cherry picked from commit 97bef124aea9d15fb202b8e9c412d4c575025d15)
+ (cherry picked from commit 4f8f52dea0db04dfefaefcba47e8ba16b2d29e2e)
- ab0f0c24 SNMP set correct req/resp relation when req's are repeated.
+ Co-authored-by: Gerald Combs <gerald@wireshark.org>
-commit 59c270da82f
+commit d705e804ed
Author: John Thacker <johnthacker@gmail.com>
-Date: Tue Mar 12 09:44:36 2024 -0400
+Date: Sun Apr 28 18:40:52 2024 +0000
- dfilter: Fix parsing of single character hex character escapes
+ ipars: Fix truncation warning
- Fix parsing of C-style hex escape character constants with only
- one hex digit.
+ MAX_EOM_MSG_SIZE is defined to be too small for the value placed in
+ for an unknown type.
- Prevents errors like:
+ epan/dissectors/packet-ipars.c:130:29: error: 'snprintf' will always be truncated; specified size is 16, but format string expands to at least 24 [-Werror,-Wformat-truncation]
+ 130 | default: snprintf(eom_msg, MAX_EOM_MSG_SIZE, "Unknown EOM type (0x%2.2X)", ia); break;
- Error: '\x1' is too long to be a valid character constant.
+ (cherry picked from commit 4320031c97b3528bc96ab5d366bab8b7fdb2a243)
- (cherry picked from commit e05dfae55318c3b4e0f3176decdc2d06941fb729)
+ Co-authored-by: John Thacker <johnthacker@gmail.com>
-commit 29ab3749d3a
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Sun Mar 10 11:59:21 2024 -0700
+commit f2b9b7b582
+Author: John Thacker <johnthacker@gmail.com>
+Date: Sun Apr 28 17:38:21 2024 +0000
- Add recursion checks to BVLC, DOCSIS MAC MGMT, MsgPack, RTMPT, and ZigBee ZCL
+ c-ares: Suppress deprecation warnings
- (cherry picked from commit 9bfa8d9142ba9efa38827346486c895df9dce9cc)
+ c-ares 1.28.0 emits deprecation warnings by default for certain
+ functions. We will try to move away from those functions, but
+ suppress the warnings by default.
-commit a6cdd65539b
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Sun Mar 10 10:25:14 2024 -0700
+ It's possible for recent versions of c-ares to be built without
+ thread safety and threading support, and it can only be checked
+ at runtime. We will probably have to fallback to using deprecated
+ functions on recent versions of c-ares if threading is not available
+ even if and when we switch to using event threads, so disable the
+ warning.
- Add recursion checks to BT SDP, GTPv2, NHRP, SCTP, and Windows common
+ Ping #19763
- (cherry picked from commit 128c298122e71147f7fa3d7b6df2d7f0fde4eb7a)
+ (cherry picked from commit e1a6557d34ff45073e3e75923bf3f6521ebc2b16)
- Conflicts:
- epan/dissectors/packet-sctp.c
+ Co-authored-by: John Thacker <johnthacker@gmail.com>
-commit 022b66008bf
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Sat Mar 9 17:22:34 2024 -0800
+commit 4dadd9b029
+Author: Dan <DanOfTheRoses@gmail.com>
+Date: Fri Apr 26 21:49:40 2024 -0500
+
+ wslua: Fix integer validation signedness
+
+ The C Standard (any revision) 6.3.1.4 Real floating and integer,
+ in a footnote says:
+ "The remaindering operation performed when a value of integer type is
+ converted to unsigned type need not be performed when a value of real
+ floating type is converted to unsigned type."
- Add recursion checks to BT BNEP, DOF, ICQ, Q.2931, and S7COMM
+ Since a Lua_Number is a float type, converting a (possibly negative)
+ float to an unsigned type and then to a signed type is undefined
+ behvavior, and doesn't necessarily produce the same result as converting
+ the float to a signed integer type directly. On x86 and x86-64 it
+ has the same result, but it's permissible to instead first cast the float
+ to the nearest unsigned integer value (i.e. 0), so that the end result
+ is 0 instead on negative.
- (cherry picked from commit e50ef0effb253534c1e8afa9102aa6d52f9cbd12)
+ On the ARM architecture this is what seems to happen:
-commit f170401f909
+ https://embeddeduse.com/2013/08/25/casting-a-negative-float-to-an-unsigned-int/
+ https://github.com/mavlink/mavlink/issues/2073#issuecomment-2080103820
+
+ (Compilers can warn about this, but it's perhaps difficult to get the
+ only the right subset of conversion warnings.)
+
+ Therefore, when adding a signed integer field, we must use
+ wslua_checkgint32.
+
+ (backported from commit 15392c324d5eaefcaa298cdee09cd5b40b12e09c)
+
+commit af5546f31d
Author: Gerald Combs <gerald@wireshark.org>
-Date: Sun Mar 10 09:24:40 2024 +0000
+Date: Sun Apr 28 09:25:05 2024 +0000
- [Automatic update for 2024-03-10]
+ [Automatic update for 2024-04-28]
Update manuf, services enterprise numbers, translations, and other items.
-commit 59c773d6540
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Sat Mar 9 10:56:40 2024 -0800
+commit e63cbbb720
+Author: John Thacker <johnthacker@gmail.com>
+Date: Fri Apr 26 13:15:27 2024 +0000
- Add recursion checks to BGP, Etch, LI5G, RPL, and SIMULCRYPT
+ 5co-rap: Use ITEM_LABEL_LENGTH for snprintf in CF_FUNCs
- (cherry picked from commit 6f2514fba5fca8cbdc0b3513979a68f56424f868)
+ At least one case cases a format truncation warning in recent
+ versions of clang.
-commit 53e8374919d
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Sat Mar 9 10:32:56 2024 -0800
+ (cherry picked from commit f1dd3bf4f2c95571e854d3e35536021ba9aa053d)
+
+ Co-authored-by: John Thacker <johnthacker@gmail.com>
- Add recursion checks to BFCP, EDONKEY, QNET, RTPS, and XMPP
+commit 43225b77d8
+Author: John Thacker <johnthacker@gmail.com>
+Date: Fri Apr 26 11:35:25 2024 +0000
- (cherry picked from commit 709404e401cfb36fdeb38f0bc1bd481b7309c1d9)
+ 5co-legacy: Use ITEM_LABEL_LENGTH for snprintf in CF_FUNCs
-commit 4c3c98e2abc
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Sat Mar 9 12:29:15 2024 -0800
+ In particular, one case leads to a format truncation warning on
+ recent versions of clang.
+
+ (cherry picked from commit 2056120ddce063850acb5cfd207dce724093c83e)
+
+ Co-authored-by: John Thacker <johnthacker@gmail.com>
- GitLab CI+tools: Homebrew recently adopted PEP 668
+commit 21d3008eb0
+Author: Anders Broman <a.broman58@gmail.com>
+Date: Sun Apr 21 19:42:46 2024 +0200
+
+ PER: When showing internal bitfields handle integer values.
- Attempting to install Python packages using pip under Homebrew now
- returns
+ (cherry picked from commit f0462182da63155ffde38d51da7dbedc9fd2d0a6)
- ```
- error: externally-managed-environment
- × This environment is externally managed
- ╰─> To install Python packages system-wide, try brew install
- xyz, where xyz is the package you are trying to
- install.
+commit ae4f2529db
+Author: Niels Widger <niels@qacafe.com>
+Date: Tue Apr 23 12:27:43 2024 +0000
- If you wish to install a non-brew-packaged Python package,
- create a virtual environment using python3 -m venv path/to/venv.
- Then use path/to/venv/bin/python and path/to/venv/bin/pip.
+ sharkd: Fix SIP follow filter returned in "frame" command
- If you wish to install a non-brew packaged Python application,
- it may be easiest to use pipx install xyz, which will manage a
- virtual environment for you. Make sure you have pipx installed.
- note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
- ```
+ `sip_follow_conv_filter` uses its `edt` argument to determine the
+ `sip.Call-ID == "<call-id>"` value to return as the conversation
+ filter. If `edt` is `NULL`, a fallback filter of `sip.Call-ID` is
+ returned.
- Install pytest and pytest-xdist in a venv for now.
+ `sharkd`'s `frame` method returns the SIP filter returned by
+ `sip_follow_conv_filter` for SIP conversations in a `filter` field of
+ its `fol` object array. These fields are emitted by
+ `sharkd_follower_visit_layers_cb`, which uses `get_follow_conv_func`
+ to retrieve `sip_follow_conv_filter`. Previously,
+ `sharkd_follower_visit_layers_cb` always passed `NULL` as the `edt`
+ argument to the function returned by `get_follow_conv_func`, therefore
+ `sip_follow_conv_filter` always saw a `edt=NULL` and was not able to
+ output a specific `sip.Call-ID` filter, even if one was otherwise be
+ available.
- (cherry picked from commit 77ec5a5068f9c68e67957c7978ef340b1e00536a)
+ This commit updates `sharkd_follower_visit_layers_cb` to instead pass
+ the `edt` argument that is available as the `edt` argument to its
+ caller, `sharkd_session_process_frame_cb`.
-commit 7be4bbb413d
-Author: John Thacker <johnthacker@gmail.com>
-Date: Wed Mar 6 20:40:42 2024 -0500
+ (cherry picked from commit 9778cc82207520547e22c39f11ca3c1ac52c8aea)
- t38: Allocate forced defragmented memory in correct scope
+ Co-authored-by: Niels Widger <niels@qacafe.com>
- Fragment data can't be allocated in pinfo->pool scope, as it
- outlives the frame. Set it to be freed when the associated tvb
- is freed, as done in the main reassemble.c code.
+commit f8fd960cb8
+Author: Balint Reczey <balint@balintreczey.hu>
+Date: Sat Apr 20 18:57:17 2024 +0200
- Fix #19695
+ wslua: Fix support for Lua 5.1 and 5.2 on 32bit
- (cherry picked from commit 6fd3af5e999c71df67c2cdcefb96d0dc4afa5341)
+ Add macros to use lua_pushnumber for Lua 5.1/5.2 and lua_pushinteger for Lua 5.3/5.4
+ based on change proposal by Stig Bjørlykke.
-commit eb894c6bca6
+ Ping #10881
+
+ Follow up for commit 8cac5932f79b87deda26480769a266ff344036e6.
+
+ Co-authored-by: Stig Bjørlykke <stig@bjorlykke.org>
+
+commit 91e4bbf5cb
Author: John Thacker <johnthacker@gmail.com>
-Date: Sun Mar 3 20:11:02 2024 -0500
+Date: Fri Apr 26 01:26:04 2024 +0000
+
+ Qt: Fix flow graph scroll direction via keyboard
+
+ The y (time) axis is range reversed. QCP reversed ranges still
+ have the mathematically smaller element in lower and the larger
+ in upper, so reverse the direction of movement in panAxes.
+
+ Also fix the keyboard right arrow allowing the graph to be scrolled
+ to right farther than the QScrollBar allows, into extra empty space.
+
+ Fix #12932
+
+ (cherry picked from commit cc4c931b4a3a3d481aeb9ea320e5fb5e31ca0f70)
- Lua: Convert the time to an integer in tests
+ Co-authored-by: John Thacker <johnthacker@gmail.com>
- Apparently in Lua 5.3, os.date doesn't like being handed a
- value with fractional seconds. Convert the time to an integer
- via a method that also works on Lua 5.1
+commit 4e70db8cf0
+Author: Yaniv Michael Kaul <yaniv.kaul@scylladb.com>
+Date: Thu Apr 25 16:46:21 2024 +0300
- Related to #10881
+ Release-4.2: CQL: take into account NULL and unset values
- (cherry picked from commit 61e8d3392ae476516c22fa727e01a21846f2a487)
+ From https://gitlab.com/wireshark/wireshark/-/commit/291822a25cfaf54a3556c19d5d47af7efb1bdf48 to stable branch.
-commit 1b3e1c9e8ec
+ Signed-off-by: Yaniv Kaul <mykaul@gmail.com>
+
+commit a4d779fbbb
+Author: Yaniv Michael Kaul <yaniv.kaul@scylladb.com>
+Date: Thu Apr 25 16:28:19 2024 +0300
+
+ Release-4.2: CQL: fix show paging state first
+
+ Brings to release 4.2 a single fix from https://gitlab.com/wireshark/wireshark/-/commit/161b9809b17c394e025453b5accdd9733eee3ee7 :
+ If Has_more_pages flag is set, then paging_state field should be the first to apper in the metadata, before the (optional) global_table_spec
+
+ Signed-off-by: Yaniv Kaul <mykaul@gmail.com>
+
+commit c193bcea08
Author: John Thacker <johnthacker@gmail.com>
-Date: Mon Mar 4 17:11:21 2024 -0500
+Date: Thu Apr 25 15:17:47 2024 +0000
- Lua: Make tests work on Lua 5.4
+ Qt: Fix Window scaling graph axis labels
- Lua tables are stored with reference values that default to
- a one-up counter starting at 1. To reduce the number of necessary
- reallocations, the allocated but previously freed entries form
- a linked list. Starting with the head of the freelist, each
- reference points to the index number of the next freed reference
- in the list, or 0 as a sentinel value. The head always present
- and is 0 if nothing has been deleted.
+ Commit 259a3e508f37bb3c9b6d18cdacf7a18aa6dbd8f8 added a graph
+ of the congestion window to the Window Scale graph, but didn't
+ update the axes now that the window has two graphs.
- On Lua 5.4 the head of the list is always index 3 (LUA_RIDX_LAST + 1).
- On earlier Lua, 0 is used.
+ Fix #17425. Fix #15016
- Various C API functions like lua_next and lua_len (and thus the length
- operator #) do not distinguish between these values that refer to
- table indices and those that refer to objects we've stored in them.
- We can distinguish by checking whether or not the value for a particular
- key is one of our classes, e.g. a ProtoField, or a lua_Number. Our
- setters should assure that we aren't putting any lua_Numbers into
- the tables.
+ (cherry picked from commit 259bbbff2a5257319ff69aa32cc377fc501eb022)
- Related to #10881
+ Co-authored-by: John Thacker <johnthacker@gmail.com>
- (cherry picked from commit 2188257743e44c98806df3968d756500f9697309)
+commit 47199b51b9
+Author: John Thacker <johnthacker@gmail.com>
+Date: Thu Apr 25 14:39:26 2024 +0000
-commit 3959fc563dc
-Author: Anders Broman <a.broman58@gmail.com>
-Date: Wed Feb 21 21:34:10 2024 +0100
+ TLS: SM3 and SM2 are not in TLS (Signature|Hash)Algorithm registries
- LUA: Make it compile with LUA 5.4
+ These two value strings are only for displaying the contents of the
+ two octets contained in a signature_algorithms extension as a TLS 1.2
+ SignatureAndHashAlgorithm. (As opposed to displaying it as a TLS 1.3
+ SignatureScheme where the two octets do not necessarily separately
+ indicate signature and hash.)
- (cherry picked from commit f9e052b88ed2303f2f2b52d0808cded1f5736576)
+ SM3 and SM2 are not assigned in those registries, are not supported in
+ TLS 1.2 (RFC 8998), and if they were would not receive the values chosen
+ here.
-commit 3a10e3984ba
-Author: Anders Broman <a.broman58@gmail.com>
-Date: Wed Feb 21 21:23:28 2024 +0100
+ Add a comment explaining why even though RFC 8422 registered ED25519
+ and ED448 to the TLS 1.2 SignatureAlgorithm and HashAlgorithm registries
+ we don't add it to the value strings for those. (It would take more
+ complicated processing to avoid confusion, and for little gain.)
- LUA bitop: Convery our lua_bitop.c to work with 5.3 and 5.4
+ Fix #19801
- The code is written by Andrew Engelbrecht and found here:
- https://github.com/LuaJIT/LuaJIT/issues/384
+ (cherry picked from commit ea5ed37426c9489b66ea32cec818d68c584a5a85)
- (cherry picked from commit 926344c16c2147d06689cbde3c1e08aa6b5d6e93)
+ Co-authored-by: John Thacker <johnthacker@gmail.com>
-commit 2283c1efd4d
+commit dc29e276dd
Author: John Thacker <johnthacker@gmail.com>
-Date: Tue Mar 5 09:19:39 2024 -0500
+Date: Thu Apr 25 11:04:41 2024 +0000
- ICMPv6: Remove recursion check from 0 length option path
+ E212: update MNC information
- Fixup 972bb56d0ab3fc825955d58bee629ba13c1e1a99
+ Update MNC information from the 15 November 2013 release of
+ Mobile Network Codes (MNC) for the international identification
+ plan for public networks and subscriptions
+ (According to Recommendation ITU-T E.212 (09/2016))
- Fix #19688
+ https://www.itu.int/pub/T-SP-E.212B-2023
+ https://www.itu.int/pub/T-SP-OB.1280
- (cherry picked from commit ba82fcdef633214518aa2ea7f7a99f54e6bb03f3)
+ Fix #19800
-commit 7d7be263168
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Sun Mar 3 17:38:10 2024 -0800
+ (cherry picked from commit a2eaaa4e8804189ef50406fb6b2783d492367949)
- ASAP: More recursion updates
+ Co-authored-by: John Thacker <johnthacker@gmail.com>
- Check against pinfo->flags.in_error_pkt.
+commit 22a9b5ab5d
+Author: Gian Lorenzo Meocci <gianlorenzo.meocci@athonet.com>
+Date: Wed Apr 24 09:37:25 2024 +0200
- (cherry picked from commit d46e93b274aec46d75ca91dcd4e6f4f7a4b9f420)
+ fix pfcp outer header desc
-commit 79fdafac830
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Mon Mar 4 14:13:59 2024 -0800
+commit 52d644b084
+Author: Niels Widger <niels@qacafe.com>
+Date: Wed Apr 24 12:26:07 2024 +0000
- Add recursion checks to Bencode, BT-DHT, ErlDP, H.233, and H.264
+ sharkd: Improve sub-stream support in "frame" and "follow" methods
- (cherry picked from commit f38f79d6e14c5a278d5e08ba1b96f9f4c0e600e0)
+ Add new optional `sub_stream` input argument to `sharkd`'s `follow`
+ method which, if given, specifies the sub-stream index number to
+ follow (e.g. for HTTP/2 or QUIC streams). If no `sub_stream` argument
+ is given, all sub-streams are followed (by using the special
+ `SUBSTREAM_UNUSED` sub-stream index value).
-commit 175347ef5e2
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Mon Mar 4 11:33:20 2024 -0800
+ Add new `followers` output field to `sharkd`'s `frame` method which
+ contains an array of objects each containing `protocol`, `filter`,
+ `stream` and (for HTTP/2 or QUIC streams) `sub_stream` fields. A new
+ `followers` array was added to the response instead of adding the
+ stream and sub-stream indices to the existing `fol` field due to
+ backwards-compatibility issues. The `fol` field is an array of string
+ arrays, each subarray containing the same values as the `protocol` and
+ `filter` fields in the new `followers` array, i.e.:
- Add recursion checks and suppressions to BEEP, Kafka, and OpenFlow
+ "fol": [["TCP", "tcp.stream eq 0"], ["TLS", "tcp.stream eq 0"]]
- (cherry picked from commit fcde25cfb8dc0d86904aaeaab8b50e87e1985fc0)
+ which makes adding new, possibly optional, fields difficult. The
+ `fol` field should be considered deprecated, any new fields should be
+ added to `followers`. The new `followers` field is an array of
+ objects, making adding new fields down the road simple:
-commit 18b84f7734d
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Mon Mar 4 10:51:16 2024 -0800
+ "followers": [{"protocol": "TCP", "filter": "tcp.stream eq 0"}, {"protocol": "TLS", "filter": "tcp.stream eq 0"}]
- Add recursion checks to Banana, ISAKMP, KINK, M2UA, and M3UA
+ Updated existing and added new `sharkd` unit tests to validate
+ behavior of new fields/arguments.
- (cherry picked from commit 48e65f0c54b05dbc3d082dc645e3d111b46e9055)
+ (cherry picked from commit 289a159042e3b81c2c135031dd4da9590aea848e)
-commit d238e207d84
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Sun Mar 3 17:53:45 2024 -0800
+ Co-authored-by: Niels Widger <niels@qacafe.com>
- Remove our recursion checks in ICMPv6 and NETLINK
+commit 15b77707dd
+Author: John Thacker <johnthacker@gmail.com>
+Date: Wed Apr 24 22:41:03 2024 +0000
- We'll run out of packet before we run out of stack in each case.
+ github/workflow: fix macos
- (cherry picked from commit 972bb56d0ab3fc825955d58bee629ba13c1e1a99)
+ For macos-latest runner on Github using macos14 on arm there is only Python
+ >= 3.11 available.
-commit 4a83b8f470b
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Sun Mar 3 09:25:02 2024 +0000
+ We have to install pytest and dmgbuild manually
- [Automatic update for 2024-03-03]
+ (cherry picked from commit f186f44a711b1ba831173238c49a8e280697ae1e)
- Update manuf, services enterprise numbers, translations, and other items.
+ Co-authored-by: Uli Heilmeier <uh@heilmeier.eu>
-commit 13e199a4a56
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Sat Mar 2 18:42:13 2024 -0800
+commit 06a5e5c445
+Author: John Thacker <johnthacker@gmail.com>
+Date: Wed Apr 24 10:55:41 2024 +0000
- ASAP: Make sure pinfo is set
+ SSH: Handle "curve25519-sha256@libssh.org" KEX name
- Fixes #19685.
+ As RFC 8731 notes, 'The "curve25519-sha256" key exchange method is
+ identical to the "curve25519-sha256@libssh.org" key exchange method
+ created by Aris Adamantiadis and implemented in libssh and OpenSSH.'
- (cherry picked from commit dc84bddc1f245512c56aa3f5e617db9fff729796)
+ Handle the other name in ssh_kex_hash_type. It is already accounted
+ for in other functions.
-commit 0a90847b7e9
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Sat Mar 2 15:37:37 2024 -0800
+ Fix #19240
- Add recursion checks to BACnet, CIP, IPP, LISP, and NETLINK
+ (cherry picked from commit 6966cdb73e6f5dc2e6a03136b07b8ed59c7ff65a)
- (cherry picked from commit c4d62f97615f85b24f86a0ab2a8aa0d62851b6e5)
+ Co-authored-by: John Thacker <johnthacker@gmail.com>
-commit 129b918b14a
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Sat Mar 2 11:58:35 2024 -0800
+commit 1a88d0c734
+Author: Christian Krump <christian.krump@br-automation.com>
+Date: Tue Apr 23 10:58:35 2024 +0200
- Add recursion checks to ASAP, iSCSI, JXTA, MBIM, and MQTT-SN
+ EPLv2: modified limitation of valid SDO segment size
- (cherry picked from commit c49e1f2ceacac3e7a808f95c88d4eabf81c996e5)
+ (cherry picked from commit a9f783600fc787ce891f1eda8e242793cc436fc8)
-commit 2d24f6d995e
+commit 585a3dc48c
Author: Gerald Combs <gerald@wireshark.org>
-Date: Sat Mar 2 10:46:44 2024 -0800
+Date: Tue Apr 23 13:27:56 2024 -0700
- Add recursion checks to AMQP, GNW, LDP, CFLOW, and RDP
+ GitLab CI: after_script updates
- (cherry picked from commit 3948fe5132f9641b662c888efb74b1bd01216cc9)
+ In GitLab 17 and later, after_script will run when a job is cancelled.
+ Update our various jobs accordingly.
-commit 80e5533370b
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Fri Mar 1 13:48:31 2024 -0800
+ (cherry picked from commit e03a58958e065c7e2dc7e15a90978fa5d57edcf6)
- Add recursion checks to various protocols
+ Conflicts:
+ .gitlab-ci.yml
- (cherry picked from commit d0c09f485951a0b014102e8fc82aa5b854d9c33b)
+commit 0c45a5d772
+Author: John Thacker <johnthacker@gmail.com>
+Date: Tue Apr 23 03:03:28 2024 +0000
-commit e7f8b65fdf0
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Fri Mar 1 09:32:00 2024 -0800
+ lldpd: move hf_lldp_tlv_enable_system_cap* to capabilities_enabled_tree
- Rebuild our ASN.1 dissectors
+ (cherry picked from commit e267bfdd88a7fe190f52906ac98a3b03035c580f)
- Switch to simple recursion checks.
+ Co-authored-by: Paul Donald <newtwen+github@gmail.com>
-commit 406c023c621
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Wed Feb 28 17:13:45 2024 -0800
+commit c8a21a6d58
+Author: Guy Harris <gharris@sonic.net>
+Date: Tue Apr 23 02:28:05 2024 +0000
+
+ fcfzs: fix calculation of the number of fill bytes.
+
+ If a name length is a multiple of 4, no padding is required to make what
+ follows be on a 4-byte boundary. Only use 4 - (len % 4) to calculate
+ the padding if len isn't a multiple of 4.
+
+ (cherry picked from commit e8b256c9a0f427b8dc2387ab02a47dc8c2f687e0)
+
+ Co-authored-by: Guy Harris <gharris@sonic.net>
+
+commit 0b80c5ab9e
+Author: Stig Bjørlykke <stig@bjorlykke.org>
+Date: Mon Apr 22 15:52:00 2024 +0200
+
+ icmpv6: Do not add time string when lifetime is infinity
+
+ Do not convert the lifetime value to string when the value
+ is used for infinity.
+
+ (cherry picked from commit 1a40e22a0095056cc4397e07d7b95ce74587a65b)
+
+commit 8e515cac2e
+Author: Anders Broman <a.broman58@gmail.com>
+Date: Mon Apr 22 12:17:29 2024 +0000
+
+ NR-RRC: Remove version from SIB dissector table name.
- epan: Add simple recursion checks
+ (cherry picked from commit e40ec77006f159f816038e5295851f0caf218a7a)
- Add a "dissection_depth" element to packet_info, and add
- increment_dissection_depth and decrement_dissection_depth. Assert if our
- dissection depth exceeds the gui_max_tree_depth preference.
+ Co-authored-by: Anders Broman <a.broman58@gmail.com>
- Use them to replace some of the current p_get_proto_depth and
- p_set_proto_depth calls.
+commit 98fa3eff88
+Author: Pascal Quantin <pascal@wireshark.org>
+Date: Mon Apr 22 15:40:52 2024 +0200
- Get rid of PINFO_LAYER_MAX_RECURSION_DEPTH and use the
- gui_max_tree_depth preference in call_dissector and
- dissector_try_heuristic.
+ NAS 5GS: fix dissection of NAS message container IE
- (cherry picked from commit 4f35c3a34a33f06fb86d4567715d2e935f506cd5)
+ Take into consideration the outer NAS message security header before
+ trying to dissect the IE.
+
+ Closes #19793
+
+ (cherry picked from commit ab3511c5977d0dd483d1d7e3d741940a12eaacc4)
Conflicts:
- epan/dissectors/file-blf.c
- epan/dissectors/packet-smb2.c
+ epan/dissectors/packet-nas_5gs.c
-commit 783048838e2
+commit 6ed87c1638
Author: John Thacker <johnthacker@gmail.com>
-Date: Thu Feb 29 18:38:14 2024 -0500
+Date: Mon Apr 22 13:14:34 2024 +0000
- tools: Parse ranges in make-services.py
+ QUIC: handle connection migrations for zero length CIDs
- The new services parsing was only putting the first and last port
- of a range into the static C array data. This was a regression
- in 4.2 compared to 4.0
+ In Quic Connection Migrations are possible even without source
+ connection IDs. Currently, after connection migration Wireshark fails to
+ associate answers with zero length CIDs for the new address to the
+ original connection.
- (cherry picked from commit 95f6f94f8bd711660959d7d6b7ca0fffcd2f7630)
+ After migration when the client sends data from the new IP
+ the connection data needs to be associated with the new conversation.
+ So when the server answers and the connection is identified by the
+ conversation a connection is found.
-commit 9c374bbfa1e
-Author: John Thacker <johnthacker@gmail.com>
-Date: Wed Feb 28 18:16:20 2024 -0500
+ (cherry picked from commit 95a9fc5c0fa569cc7c5026f0ef235736b99848eb)
+
+ Co-authored-by: Max Schrötter <mail@schrc3b6.de>
- docs: Explicitly set wildcard when including dissection-options tags
+commit c77f142c0e
+Author: Anders Broman <a.broman58@gmail.com>
+Date: Sun Apr 21 18:34:09 2024 +0000
- The double wildcard is implied on recent versions of asciidoctor,
- but explicitly specifying doesn't hurt, and fixes the includes on
- some older versions (such as that with RHEL 8.)
+ NR-RRC: Add callable dissectors for SIB messages
- https://docs.asciidoctor.org/asciidoc/latest/directives/include-tagged-regions/#tag-filtering
- (backported from commit bb37fcb0260eb06692ec127ceb05597c678bf4a7)
+ Add callable dissectors for SIB messages.
+ Add dis table
+ Fix column display for single SIB message.
-commit c8e98a245cb
-Author: Niels Widger <niels@qacafe.com>
-Date: Mon Feb 26 13:51:53 2024 -0500
+ (cherry picked from commit dfec2284f34dae9ee515539d5ce5bb9f14762e3c)
- sharkd: Increase JSON buffer size from 2048 to 8192 bytes
+ Co-authored-by: Anders Broman <a.broman58@gmail.com>
- This commit increases the maximum size for the JSON commands processed
- by `sharkd` from 2048 to 8192 bytes. The primary reason for this
- change is to allow larger filters in `filter0`...`filter9` arguments
- which, combined with the outer JSON boilerplate, can cause a command
- to quickly hit the existing 2048-byte limit.
+commit 77ccc7ece0
+Author: Guy Harris <gharris@sonic.net>
+Date: Mon Apr 22 09:15:13 2024 +0000
- (cherry picked from commit 8989c732fc0b78039c72b695e7c7099948ea5491)
+ tipc: fix byte count.
-commit 57741bfc81d
-Author: John Thacker <johnthacker@gmail.com>
-Date: Tue Feb 27 20:25:05 2024 -0500
+ Use the value used as the number of bytes in an atom to determine
+ whether that number is singular or plural; don't use some other
+ unrelated value.
- prefs: Fix null defererences, remove obsolete function
+ (cherry picked from commit aea66ddc3336a095e6201b633a78014bd3af3a1d)
- Null dereference check to fix Coverity CIDs 1399640 and 1399641.
- Remove a function that has been unused for a decade.
+ Co-authored-by: Guy Harris <gharris@sonic.net>
+
+commit 207981eb13
+Author: Guy Harris <gharris@sonic.net>
+Date: Mon Apr 22 06:54:31 2024 +0000
+
+ tipc: fix padding after bearer instance string.
+
+ Presumably if the length of the string is a multiple of 4, it needs zero
+ byts of padding to put the next item on a 4-byte boundary. This means
+ that (4 - (length % 4)) is not the right formula - a check for whether
+ there's any padding must be done first.
+
+ (cherry picked from commit cda7c030e1eafdca22028d1d8c87e484bba37555)
+
+ Co-authored-by: Guy Harris <gharris@sonic.net>
+
+commit 05e9eeef13
+Author: Gerald Combs <gerald@wireshark.org>
+Date: Sun Apr 21 09:25:15 2024 +0000
- (cherry picked from commit 7dc0f853c6eed609f13fb2786c3cfa833dc850b5)
+ [Automatic update for 2024-04-21]
-commit aeffdcf8206
+ Update manuf, services enterprise numbers, translations, and other items.
+
+commit fc290d976e
+Author: Guy Harris <gharris@sonic.net>
+Date: Sat Apr 20 18:58:25 2024 +0000
+
+ pcapio: fix a check for idb_filter size.
+
+ The filter string in the idb_filter option has a maximum length of
+ UINT16_MAX - 1, because the maximum size of an option bodyis UINT16_MAX,
+ and the first byte of the option contains the filter type.
+
+ The code to write the filter did the right check; the code to count the
+ idb_filter option length checked against UINT16_MAX. Fix that.
+
+ While we're at it, fix a comment.
+
+ (cherry picked from commit d277ecdb3ff7d04e7f64566f21409b3f1359eb2f)
+
+ Co-authored-by: Guy Harris <gharris@sonic.net>
+
+commit 32bde22d9b
Author: John Thacker <johnthacker@gmail.com>
-Date: Wed Feb 28 06:59:45 2024 -0500
+Date: Sat Apr 20 13:04:27 2024 +0000
+
+ editcap, libwiretap: Don't use array of initial DSBs after freeing
+
+ wtap_dump_close frees the passed in GArray of initial DSBs, used
+ by editcap for injecting DSBs from a file or list of files.
+
+ Add functions to increment and decrement the reference count of
+ an array of wtap blocks. Dereference the block of initial DSBs
+ in wtap_dump_close() instead of freeing it. In editcap, before
+ closing the dump file in cases where we intend to open a new
+ file (e.g., with a maximum time value or a maximum packet count),
+ reference the block.
+
+ Fix #19782, #19783, #19784.
+
+ (cherry picked from commit be3550b3b138f39bebb87ac0b8490e75fc8cc847)
- JSON-3GPP: Don't crash on empty suppFeat JSON value
+ Co-authored-by: John Thacker <johnthacker@gmail.com>
- Return straightaway if the length is 0 or less. (It shouldn't
- be less unless the JSON dissector has issues, but if it's
- -1 it might not raise an exception adding the string because of
- the longstanding feature of -1 length for a FT_STRING meaning
- "to the end of the tvb.")
+commit b8d61cd977
+Author: Pascal Quantin <pascal@wireshark.org>
+Date: Sat Apr 20 12:12:00 2024 +0000
- Fix #19677
+ GSM RP: fix dissection of SMS in 5G Nf interface
- (cherry picked from commit ade326dbf56afb361158f7246572d5a96b7493dc)
+ Closes #19773
-commit 005a3e8fdf7
+ (cherry picked from commit 9dffc3834ea0f7439a2e2d2f55350b6d5e2596c5)
+
+ Co-authored-by: Pascal Quantin <pascal@wireshark.org>
+
+commit a7661fd568
Author: John Thacker <johnthacker@gmail.com>
-Date: Tue Feb 27 09:02:55 2024 -0500
+Date: Thu Apr 18 15:37:18 2024 +0000
+
+ Windows: Add include depended upon packets checkbox
+
+ Non-Windows already has this checkbox.
- ENRP: Check for invalid parameter & error cause lengths
+ The vast majority of the time users do want dependent packets
+ so that reassembly, etc. works. Occasionally they don't (e.g.,
+ perhaps to exclude retransmitted segments or duplicates), but
+ the primary use of this checkbox is helping users understand why
+ extra packets are included so they don't think it's in error.
- The value in the length field in ENRP parameters and error causes
- include the length and types, and must be at least 4. In particular,
- not erring on zero can cause an infinite loop.
+ We might want to get rid of the special Windows dialogs. They
+ use a deprecated API, but the newer API is more difficult to customize.
+ The Qt common dialogs are better than the GTK+ file dialogs at the
+ time we started to use the Windows dialogs.
- https://datatracker.ietf.org/doc/html/rfc5354
+ Follow up to dcc9cbffefe0598eadec11cbc1869943a26219c5
+ Fix #19772
- Fix #19674
+ (cherry picked from commit 90d7ecf6971b89a918f61d95a9bce77d74f8cb64)
- (backported from commit 84ffa648eaaa6292c5332df236b10d70f7cf07d0)
+ Co-authored-by: John Thacker <johnthacker@gmail.com>
-commit 4cc9f9bbbf7
-Author: Triton Circonflexe <triton@kumal.info>
-Date: Sat Feb 24 21:39:31 2024 +0100
+commit bd26249852
+Author: Alexis La Goutte <alexis.lagoutte@gmail.com>
+Date: Fri Apr 19 06:50:41 2024 +0000
- Thrift: Fix recursion check
+ Zigbee Direct: Fixed UUID mismatch with join, pjoin & leave characteristics
- Previous recursion check only worked with generic dissector.
- The introduced changes cover the sub-dissectors as well.
+ (cherry picked from commit 8b802bffd12e3bbd80bb6e6e501309bb7fee8124)
- Remove the existing check as it counted basic types as well.
- Add a check at every place where a sub-tree is created:
- - containers (list, set, map)
- - structures
+ Co-authored-by: Cole Wu <chw@exegin.com>
- (cherry picked from commit 4eaf10bc4e46762b1e304baf188d0767907e1914)
+commit 0e5038cf89
+Author: Alexis La Goutte <alexis.lagoutte@gmail.com>
+Date: Thu Apr 18 11:13:55 2024 +0000
-commit 3243e000415
+ ieee80211: Fix typo in display filters
+
+ (cherry picked from commit d4da04f8ee47f12cb737601fdbf2be48e881303c)
+
+ Co-authored-by: WFA-achuang <achuang@wi-fi.org>
+
+commit d4526a807b
Author: John Thacker <johnthacker@gmail.com>
-Date: Thu Feb 22 08:54:12 2024 -0500
+Date: Thu Apr 18 11:56:00 2024 +0000
+
+ Qt: Fix removing ignored packets from selected range
- Qt: Work around QTBUG-122109 when applying packet list style sheet
+ Correctly remove ignored packets from the selected packet
+ range on non-Windows, which for some reason has never done this.
+ The Windows dialog has.
- https://bugreports.qt.io/browse/QTBUG-122109
+ (cherry picked from commit 317177d1d079a1054f2b8935c30c376d67dd7eb5)
- A bug introduced by the fix for https://bugreports.qt.io/browse/QTBUG-116013
- causes all visible sections to reset to the default section size whenever a
- style sheet is applied (even if defaultSectionSize didn't change.)
+ Co-authored-by: John Thacker <johnthacker@gmail.com>
- Make sure that before applying a style sheet we prevent our recent
- column widths from being updated, and then restore column widths
- from the recent values afterwards.
+commit 4d63d194ba
+Author: John Thacker <johnthacker@gmail.com>
+Date: Tue Apr 16 09:05:40 2024 -0400
+
+ pcapng: fix writing hash options
+
+ Since compute_block_option_size() and our option writing routines
+ already add needed padding, we don't need to compute the size
+ with padding in pcapng_compute_packet_hash_option_size(). That allows
+ us to use it both when computing the option size for the total
+ block size, and in the writing routine, for consistency.
+
+ Fix some errors where the type octet was not being included in
+ the bytes written for both one type of packet verdict, and for
+ packet hash. Also an error where the packet verdict option was
+ written with the queue option type.
- This affects versions 6.5.4 (commercial only, 6.5.3 is the last free
- release) and 6.6.1 and 6.6.2.
+ Fix a possible buffer overrun for the fixed length hash types
+ when the hash length is wrong. We have a few different options
+ about how to handle hashes with bogus length - omit, write what
+ we have, truncate (if we have extra bytes) or err. Add some
+ comments regarding the options; for now, choose reporting an
+ error.
- (cherry picked from commit ea38f142e89f81181fe397da0875a7df05787162)
+ Fix #19766
-commit 854dd3c85f0
-Author: Patrik Thunström <patrik.thunstroem@technica-engineering.de>
-Date: Sun Feb 25 00:07:45 2024 +0100
+ (backported from commit b36749f56a4b2a9f1931aa0ab472dbf7420a75e3)
- CSV Export: Last column no longer exported when hidden.
+commit 9c5c64b4cb
+Author: Gerald Combs <gerald@wireshark.org>
+Date: Mon Apr 15 16:06:46 2024 -0700
- Prior to fix the last column no matter if hidden or not was
- always included when exporting packet dissections to CSV.
+ pcapng: Fix logging
- Fixes #19666.
+ WS_LOG_DOMAIN must be defined after including config.h and before
+ including wslog.h.
- (cherry picked from commit 30c0ab964ff62ef95b1a0ec9c04ebbbb0cd51c43)
+ (cherry picked from commit 09b83c0ecee60641439b67ed5931714492ae38c1)
-commit 535a868fab5
+commit b822d573e0
Author: Gerald Combs <gerald@wireshark.org>
-Date: Sun Feb 25 09:26:26 2024 +0000
+Date: Sun Apr 14 09:25:33 2024 +0000
- [Automatic update for 2024-02-25]
+ [Automatic update for 2024-04-14]
Update manuf, services enterprise numbers, translations, and other items.
-commit 459c0d50cb9
+commit 2ece4fa7dc
Author: John Thacker <johnthacker@gmail.com>
-Date: Fri Feb 23 07:56:18 2024 -0500
+Date: Fri Apr 12 07:19:12 2024 -0400
- Inject TLS Secrets: Check for NULL used secrets map
+ ieee1905: Fix bit ordering of HE-MCS set
- The GUI menu item should probably be disabled without a capture file
- too.
+ The Tx Rx HE MCS Support field in IEEE 1905 is reordered from
+ 802.11ax into big-endian order (which is already done), but that
+ shouldn't change which bit is considered the LSB (which is the
+ Max HE-MCS For 1 SS) and which is the MSB (Max HE-MCS for 8 SS).
- Fix #19667
+ Fix #19737
- (cherry picked from commit ac90d8c83437c4eb120f8d64025f2ca07269f35e)
+ (cherry picked from commit 179bf05a4d4e64427fa7e7805f1d4e134874cca8)
-commit 315e14a35d5
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Thu Feb 22 18:35:09 2024 -0800
+commit cee6caf8ea
+Author: John Thacker <johnthacker@gmail.com>
+Date: Wed Apr 10 12:16:02 2024 -0400
- ICMPv6: Add a recursion check
+ Qt: Hide export dissections dialog when accepting
- Fix
+ When the Export Dissections Dialog is accepted but starts to
+ try to save the files, hide it. It will close itself after the
+ export is done (which deletes it), but in the meantime the
+ exporting from a large file can take a long time. Hiding the
+ dialog allows the user to cancel the save with the Progress Dialog
+ on the main window. Leaving the dialog visible allowed the user
+ to click "Cancel" on the dialog, which didn't cancel the save
+ (still up to the progress dialog), but did delete the dialog on
+ close, resulting in a crash when the export did finish.
- ```
- wireshark/epan/dissectors/packet-icmpv6.c:1709:1: warning: function 'dissect_icmpv6_nd_opt' is within a recursive call chain [misc-no-recursion]
- 1709 | dissect_icmpv6_nd_opt(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
- | ^
- wireshark/epan/dissectors/packet-icmpv6.c:1709:1: note: example recursive call chain, starting from function 'dissect_icmpv6_nd_opt'
- wireshark/epan/dissectors/packet-icmpv6.c:2247:30: note: Frame #1: function 'dissect_icmpv6_nd_opt' calls function 'dissect_icmpv6_nd_opt' here:
- 2247 | opt_offset = dissect_icmpv6_nd_opt(tvb, opt_offset, pinfo, icmp6opt_tree);
- | ^
- wireshark/epan/dissectors/packet-icmpv6.c:2247:30: note: ... which was the starting point of the recursive call chain; there may be other cycles
- ```
+ This is for Linux and macOS, and matches the behavior of the native
+ Windows dialog, which already hides itself when Save is clicked.
- (cherry picked from commit 0eb0d6fdb4394872e68ed2c8c9d2cc1a1bc85db9)
+ (cherry picked from commit e84adf41da08c60ff329f3e91bb948e2e1e33753)
-commit 27d5c37e714
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Thu Feb 22 18:50:24 2024 -0800
+commit 7fb337faf8
+Author: John Thacker <johnthacker@gmail.com>
+Date: Wed Apr 10 10:28:45 2024 -0400
- SMB2: Add recursion checks
+ Qt: Fix crash when closing TimeShiftDialog before redissection done
- (cherry picked from commit 1515b211e20354e097092de0b52e50862e64ce36)
+ Commit f67eccedd9836e6ced1f57ae9889f57a5400a3d7 made it so that
+ the TimeShiftDialog doesn't have a nested event loop with exec.
+ That's good, but that means that an AutoConnection between
+ TimeShiftDialog::timeShifted and PacketList::applyTimeShift is a
+ DirectConnection, which means that TimeShiftDialog::applyTimeShift
+ waits for the packet list redissection to finish before the function
+ calls enableWidgets and returns.
- Conflicts:
- epan/dissectors/packet-smb2.c
+ The user can close the Time Shift Dialog while the packet list
+ redissection is still ongoing. As the TimeShiftDialog is also now
+ DeleteOnClose, this means that when the redissection finishes (or
+ is canceled via ProgressDialog) the TimeShiftDialog will try to update
+ its widgets after they've been deleted, causing a crash.
-commit db9610c3896
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Thu Feb 22 18:29:49 2024 -0800
+ To prevent, make the connection between the TimeShiftDialog and
+ the PacketList a Qt::QueuedConnection.
- DHCPv6: Add a recursion check
+ (cherry picked from commit ea70c16e05d0f1f0779bec6e89153a67d07d6cfa)
- Fix
+commit 799735b9c0
+Author: Dr. Lars Völker <lars.voelker@technica-engineering.de>
+Date: Fri Mar 22 18:23:07 2024 +0100
- ```
- wireshark/epan/dissectors/packet-dhcpv6.c:1846:1: warning: function 'dhcpv6_option' is within a recursive call chain [misc-no-recursion]
- 1846 | dhcpv6_option(tvbuff_t *tvb, packet_info *pinfo, proto_tree *bp_tree,
- | ^
- wireshark/epan/dissectors/packet-dhcpv6.c:1846:1: note: example recursive call chain, starting from function 'dhcpv6_option'
- wireshark/epan/dissectors/packet-dhcpv6.c:2052:28: note: Frame #1: function 'dhcpv6_option' calls function 'dhcpv6_option' here:
- 2052 | temp_optlen += dhcpv6_option(tvb, pinfo, subtree,
- | ^
- wireshark/epan/dissectors/packet-dhcpv6.c:2052:28: note: ... which was the starting point of the recursive call chain; there may be other cycles
- wireshark/epan/dissectors/packet-dhcpv6.c:2958:1: warning: function 'dissect_dhcpv6' is within a recursive call chain [misc-no-recursion]
- 2958 | dissect_dhcpv6(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
- | ^
- ```
+ BLF: Fixing Flags Decoding in FlexRayRcvMessage(Ex) (BUGFIX)
- (cherry picked from commit 5a04c4ecee4a40851c8fd0f7de0ee96d257bb752)
+ Flags should have been in the FrameFlags byte.
-commit cd5c51f50f7
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Wed Feb 21 15:01:00 2024 -0800
+ (cherry picked from commit 823b49f6c338ddc0e99315e05e3e3fb5c557456c)
- AllJoyn: Add recursion checks
+commit 6288f7c592
+Author: Giovanni Musto <giovanni.musto@partner.italdesign.it>
+Date: Wed Dec 13 14:26:36 2023 +0100
- (cherry picked from commit 8b0e90d62e283d3aa7b00aa17a55a53bde362da4)
+ BLF: Fix BLF_OBJTYPE_CAN_FD_ERROR_64 not decoded as error
-commit 3b7f2c1ca79
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Wed Feb 21 14:27:58 2024 -0800
+ (cherry picked from commit 7b4d667f306c4ffb6c181280bdb47d01826eb3e6)
- 6LoWPAN: Add recursion checks
+commit 1c7dbe91da
+Author: Guy Harris <gharris@sonic.net>
+Date: Sat Nov 18 14:53:33 2023 -0800
- (cherry picked from commit 34c90f7a3d31c74c7f66a71dcd23eed326718190)
+ blf: expand a comment.
-commit 5d2c25d97e6
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Wed Feb 21 11:53:18 2024 -0800
+ Give more details on how the amount of padding between log container
+ objects is not an obvious "padd the object's size to a multiple of
+ <power of 2> bytes".
- TN5250: Add a recursion check
+ [skip ci]
- (cherry picked from commit 282bd19e887a56496011d14b1bf7bdde40f9216e)
+ (cherry picked from commit 8c22a6cc0240123750347173acef964a3909da34)
-commit 0e272f66bd2
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Wed Feb 21 11:08:42 2024 -0800
+commit 559a6f89f7
+Author: Guy Harris <gharris@sonic.net>
+Date: Sat Nov 18 11:27:26 2023 -0800
- MONGO: Add a recursion check
+ blf: check the validity of the header length field.
- (cherry picked from commit 7183ac40da718b4a0531f84adf090e9a97c1297a)
+ (cherry picked from commit 3e296c041f233b6605f4004bec7e4be1acd34b70)
-commit d8231096d5c
-Author: John Thacker <johnthacker@gmail.com>
-Date: Tue Feb 20 22:58:58 2024 -0500
+commit 13bcc043a4
+Author: Guy Harris <gharris@sonic.net>
+Date: Sat Nov 18 01:02:04 2023 -0800
+
+ blf: add more error checks.
+
+ Check for invalid lengths in headers.
+
+ Have blf_scan_file_for_logcontainers() provide error codes and messages
+ on errors, and, if it fails, clean up and return an error when opening a
+ file.
- text2pcap: Set encapsulation to WIRESHARK_UPPER_PDU with -P
+ Always check for errors from file_seek().
- The documentation, both man page and help, claims that text2pcap
- automatically sets the encapsulation to WIRESHARK_UPPER_PDU if
- -P is given. Make the behavior match the documentation.
+ (cherry picked from commit ae5c7ff41bdd031f7d29151501f42bfcc68d662d)
- (cherry picked from commit 339d6d4aba6f51f32c9483ea4dab5790b713d247)
+commit 91e1ec23d7
+Author: Giovanni Musto <giovanni.musto@partner.italdesign.it>
+Date: Mon Oct 23 09:30:29 2023 +0200
-commit a29a21fb697
+ BLF: Extract FDF, BRS and ESI flags
+
+ (cherry picked from commit c0f287ad69e05ceb8c71a5f7100cd7c59b3835ae)
+
+commit 058ca16704
+Author: Yingjie Deng <17322619133@163.com>
+Date: Thu Apr 11 01:26:26 2024 +0800
+
+ fix: Hmac Missing
+
+ The peer->mac Algorithm is not should set NULL here. The above
+ ssh_decryption_set_cipher_id function takes peer->enc, and set
+ peer->cipher to NULL in else case, the peer->cipher is the field of
+ struct ssh_peer_data, but not have corresponding field with peer->mac in
+ struct ssh_peer_data.So I just delete it in else case.
+
+ (cherry picked from commit a2a911ea1a0adeb5a93f7cf4fd786ca0fdd0c820)
+
+commit a31b9964e6
+Author: Giovanni Musto <giovanni.musto@partner.italdesign.it>
+Date: Tue Oct 17 09:36:17 2023 +0200
+
+ BLF: Fix LIN parsing
+
+ LIN was broken because its payload was treated as a variable length field, while it is always 8 bytes
+ Fix DLC parsing to allow only 8 bytes instead of 15
+ Fix ID parsing to take only the lower 6 bits
+ Parse checksum field
+
+ (cherry picked from commit 7bf7a136766fb20132d1b9cc550f661dc70ab2d2)
+
+commit eaf7d424a7
+Author: John Thacker <johnthacker@gmail.com>
+Date: Sun Apr 7 16:57:23 2024 -0400
+
+ Qt: Work around Qt6 dataChanged pessimization
+
+ A change in Qt 6.0 makes QAbstractItemView::dataChanged, when called
+ with multiple indices, determine exactly how much of the viewport
+ rectangle is covered by the changed indices and only update that much
+ of the viewport instead of always updating the entire viewport. This
+ reduces CPU load when multiple indices, but not enough to span the
+ entire viewport, are updated at once.
+ ( https://codereview.qt-project.org/c/qt/qtbase/+/285280
+ https://bugreports.qt.io/browse/QTBUG-58580
+ )
+
+ Unfortunately, if the number of indices is very large (much larger
+ than the total number of indices that can possibly be displayed in
+ the viewport), computing the union of the intersecting rectangle takes
+ orders of magnitude longer than unconditionally updating the whole
+ viewport. ( https://bugreports.qt.io/browse/QTBUG-124173 )
+
+ When the packetListModel wants to indicate that all packets may have
+ changed, this makes dataChanged scale linearly with the total number of
+ rows/frames, whereas updating the viewport only scaled with the size of
+ the viewport but was unaffected by undisplayed packets. The calculation
+ is unnecessary because we know the entire viewport is affected. On a
+ sample modern workstation, measurements showed dataChanged taking 1 s
+ with 1.4 M packets and 9 s with 12 M packets. This signal can be issued
+ quite often, e.g. if IP address lookup (DNS or MaxMindIP) is enabled, it
+ can be issued once per second at the packet_data_timer expiration for
+ some period of time as idle dissection occurs when opening the file.
+
+ Instead of issuing dataChanged, we can issue layoutAboutToBeChanged()
+ (in practice a no-op) and layoutChanged(), which causes the QTreeView
+ to clear all information about its view items (d->viewItems.clear() in
+ QTreeView::doItemsLayout), but without clearing the current and selected
+ row (unlike [begin|end]ResetModel.) This takes the same 5-8 ms in the
+ same test procedure as above in both the 1.4 M and 12 M packet tests.
+
+ Improves #19486 considerably on Qt 6.
+
+ (cherry picked from commit 5abfe91cc164d873e56c6f24a313b93b7d883a9e)
+
+commit e51f5bf24d
Author: Gerald Combs <gerald@wireshark.org>
-Date: Tue Feb 20 15:22:07 2024 -0800
-
- RBM: Add a recursion check
-
- Fix
-
- ```
- wireshark/epan/dissectors/file-rbm.c:196:13: warning: function 'dissect_rbm_array' is within a recursive call chain [misc-no-recursion]
- 196 | static void dissect_rbm_array(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, guint* offset, gchar** value_str)
- | ^
- wireshark/epan/dissectors/file-rbm.c:410:13: note: example recursive call chain, starting from function 'dissect_rbm_object'
- 410 | static void dissect_rbm_object(tvbuff_t* tvb, packet_info* pinfo, proto_tree* ptree, guint* offset, gchar** type, gchar** value)
- | ^
- wireshark/epan/dissectors/file-rbm.c:439:4: note: Frame #1: function 'dissect_rbm_object' calls function 'dissect_rbm_string' here:
- 439 | dissect_rbm_string(tvb, pinfo, tree, offset, &value_local);
- | ^
- wireshark/epan/dissectors/file-rbm.c:325:2: note: Frame #2: function 'dissect_rbm_string' calls function 'dissect_rbm_object' here:
- 325 | dissect_rbm_object(tvb, pinfo, tree, offset, NULL, NULL);
- | ^
- wireshark/epan/dissectors/file-rbm.c:325:2: note: ... which was the starting point of the recursive call chain; there may be other cycles
- wireshark/epan/dissectors/file-rbm.c:222:13: warning: function 'dissect_rbm_hash' is within a recursive call chain [misc-no-recursion]
- 222 | static void dissect_rbm_hash(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, guint* offset, gchar** value_str)
- | ^
- wireshark/epan/dissectors/file-rbm.c:321:13: warning: function 'dissect_rbm_string' is within a recursive call chain [misc-no-recursion]
- 321 | static void dissect_rbm_string(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, guint* offset, gchar** value)
- | ^
- wireshark/epan/dissectors/file-rbm.c:329:13: warning: function 'dissect_rbm_regex' is within a recursive call chain [misc-no-recursion]
- 329 | static void dissect_rbm_regex(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, guint* offset, gchar** value)
- | ^
- wireshark/epan/dissectors/file-rbm.c:344:13: warning: function 'dissect_rbm_userclass' is within a recursive call chain [misc-no-recursion]
- 344 | static void dissect_rbm_userclass(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, guint* offset, gchar** value)
- | ^
- wireshark/epan/dissectors/file-rbm.c:355:13: warning: function 'dissect_rbm_variable' is within a recursive call chain [misc-no-recursion]
- 355 | static void dissect_rbm_variable(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, guint* offset, gchar** value_str)
- | ^
- wireshark/epan/dissectors/file-rbm.c:368:13: warning: function 'dissect_rbm_struct' is within a recursive call chain [misc-no-recursion]
- 368 | static void dissect_rbm_struct(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, guint* offset, gchar** value)
- | ^
- wireshark/epan/dissectors/file-rbm.c:374:13: warning: function 'dissect_rbm_drb' is within a recursive call chain [misc-no-recursion]
- 374 | static void dissect_rbm_drb(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, guint* offset)
- | ^
- wireshark/epan/dissectors/file-rbm.c:383:13: warning: function 'dissect_rbm_rubyobject' is within a recursive call chain [misc-no-recursion]
- 383 | static void dissect_rbm_rubyobject(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, guint* offset)
- | ^
- wireshark/epan/dissectors/file-rbm.c:400:13: warning: function 'dissect_rbm_extended' is within a recursive call chain [misc-no-recursion]
- 400 | static void dissect_rbm_extended(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, guint* offset)
- | ^
- wireshark/epan/dissectors/file-rbm.c:410:13: warning: function 'dissect_rbm_object' is within a recursive call chain [misc-no-recursion]
- 410 | static void dissect_rbm_object(tvbuff_t* tvb, packet_info* pinfo, proto_tree* ptree, guint* offset, gchar** type, gchar** value)
- | ^
- wireshark/epan/dissectors/file-rbm.c:535:6: warning: function 'dissect_rbm_inline' is within a recursive call chain [misc-no-recursion]
- 535 | void dissect_rbm_inline(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, guint* offset, gchar** type, gchar** value)
- | ^
- ```
-
- (cherry picked from commit d7b15ff6d19763cc29f3cc4677aef28aed2879df)
-
-commit ec470ca63d8
+Date: Sun Apr 7 09:24:53 2024 +0000
+
+ [Automatic update for 2024-04-07]
+
+ Update manuf, services enterprise numbers, translations, and other items.
+
+commit 31188b669e
Author: John Thacker <johnthacker@gmail.com>
-Date: Thu Feb 15 19:39:52 2024 -0500
+Date: Thu Apr 4 20:27:45 2024 -0400
- extcap: Fix writing preferences to file
+ reordercap: Handle IDBs in the middle of the file
- Do not change the preference pointer inside the Extcap Options
- Dialog. That changes the real preference value, which disturbs
- the check inside prefs_store_ext_multiple that storeValues() calls
- for whether a pref has changed or not. Since the prefs are already
- changed to their new value, we won't realize that we need to write
- out a new preference file.
+ We can read IDBs (and other non packet blocks) in the
+ middle of the file, so init the dump parameters after
+ reading all the frames. This will move the IDBs (and NRBs
+ and DSBs) to the start of the new output file (which might
+ have to happen if they're out of order.)
- The other changes in #18487 are sufficent to fix the problem
- identified there (though it's a bit unclear what "required" means
- in combination with a default, and whether we have to send the
- default value for the required parameter or can omit it.)
+ Note: Files with multiple Section Header Blocks probably still
+ aren't handled correctly, because the IDB number might need to be
+ rewritten (though we have some of that information after
+ commit 8ebde1309d0cc0335e32cff8c7112dc98c05d5ed)
- If the button says "Save", then save the preferences regardless
- of what the "extcap Save on Start" preference says.
+ Fix #19740
- Fix #19639. Related to #18487
+ (cherry picked from commit 0c637a2b5ebaf6bf24f406e5e01a39860d4a4daa)
- (cherry picked from commit 268e7425416f0f482bc001c0ca8010c425db49c9)
+commit f47c873dd8
+Author: mverkleij <mail@mverkleij.nl>
+Date: Fri Mar 15 14:43:29 2024 +0100
-commit c1584528c32
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Tue Feb 20 14:28:59 2024 -0800
+ Fix reordercap -n flag generating empty output file
- JPEG: Add a recursion check
+ (cherry picked from commit ef64dcf32879353f02057ada93c0b0add78cad3c)
+ (cherry picked from commit e6ad1f677ea970b85d08066135cd8ec10d23075c)
- Fix
+commit b6ba652b5b
+Author: John Thacker <johnthacker@gmail.com>
+Date: Thu Apr 4 07:12:45 2024 -0400
- ```
- /builds/wireshark/wireshark/epan/dissectors/file-jpeg.c:773:1: warning: function 'process_tiff_ifd_chain' is within a recursive call chain [misc-no-recursion]
- 773 | process_tiff_ifd_chain(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo,
- | ^
- /builds/wireshark/wireshark/epan/dissectors/file-jpeg.c:773:1: note: example recursive call chain, starting from function 'process_tiff_ifd_chain'
- /builds/wireshark/wireshark/epan/dissectors/file-jpeg.c:896:37: note: Frame #1: function 'process_tiff_ifd_chain' calls function 'process_tiff_ifd_chain' here:
- 896 | process_tiff_ifd_chain(tree, tvb, pinfo, encoding,
- | ^
- /builds/wireshark/wireshark/epan/dissectors/file-jpeg.c:896:37: note: ... which was the starting point of the recursive call chain; there may be other cycles
- ```
+ Qt: Ensure Copy Bytes as C String is a valid C string
- (cherry picked from commit 46c652102f432577961cac534f20fc88fa6c11cf)
+ Use octal escapes padded to three digits instead of hex escapes.
+ An octal escape is limited to three digits by definition, whereas
+ hex escape sequence are not limited, which causes problems if
+ a hex escape is followed by a (non escaped) possible hex character.
-commit 69f9eab216b
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Tue Feb 20 14:03:02 2024 -0800
-
- BLF: Add a recursion check
-
- Fix
-
- ```
- wireshark/epan/dissectors/file-blf.c:498:1: warning: function 'dissect_blf_lobj' is within a recursive call chain [misc-no-recursion]
- 498 | dissect_blf_lobj(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, gint offset_orig) {
- | ^
- wireshark/epan/dissectors/file-blf.c:886:1: note: example recursive call chain, starting from function 'dissect_blf_next_object'
- 886 | dissect_blf_next_object(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint offset) {
- | ^
- wireshark/epan/dissectors/file-blf.c:893:32: note: Frame #1: function 'dissect_blf_next_object' calls function 'dissect_blf_lobj' here:
- 893 | int bytes_parsed = dissect_blf_lobj(tvb, pinfo, tree, offset);
- | ^
- wireshark/epan/dissectors/file-blf.c:580:27: note: Frame #2: function 'dissect_blf_lobj' calls function 'dissect_blf_next_object' here:
- 580 | tmp = dissect_blf_next_object(sub_tvb, pinfo, subtree, offset_sub);
- | ^
- wireshark/epan/dissectors/file-blf.c:580:27: note: ... which was the starting point of the recursive call chain; there may be other cycles
- wireshark/epan/dissectors/file-blf.c:886:1: warning: function 'dissect_blf_next_object' is within a recursive call chain [misc-no-recursion]
- 886 | dissect_blf_next_object(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint offset) {
- | ^
- ```
-
- (cherry picked from commit 3b2c961eeb3eda36a0253cc5111396a4d6a424e0)
-
-commit 4861d841305
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Tue Feb 20 09:41:29 2024 -0800
+ Escape double quotes and backslash. Use the simple escapes of
+ non printable characters too (optional, but looks nicer.)
- ISIS LSP: Add a recursion check
+ This possibly could go in wsutil as another ws_escape method, but
+ the fix needs to be backported to 4.2 so let's not introduce a
+ new public function yet.
- Fix
+ Fix #19735
- ```
- wireshark/epan/dissectors/packet-isis-lsp.c:3431:1: warning: function 'dissect_sub_clv_tlv_22_22_23_141_222_223' is within a recursive call chain [misc-no-recursion]
- 3431 | dissect_sub_clv_tlv_22_22_23_141_222_223(tvbuff_t *tvb, packet_info* pinfo, proto_tree *tree,
- | ^
- wireshark/epan/dissectors/packet-isis-lsp.c:3431:1: note: example recursive call chain, starting from function 'dissect_sub_clv_tlv_22_22_23_141_222_223'
- wireshark/epan/dissectors/packet-isis-lsp.c:3541:21: note: Frame #1: function 'dissect_sub_clv_tlv_22_22_23_141_222_223' calls function 'dissect_sub_clv_tlv_22_22_23_141_222_223' here:
- 3541 | dissect_sub_clv_tlv_22_22_23_141_222_223(tvb, pinfo, subtree, local_offset, local_len);
- | ^
- wireshark/epan/dissectors/packet-isis-lsp.c:3541:21: note: ... which was the starting point of the recursive call chain; there may be other cycles
- ```
+ (cherry picked from commit 7130e33d30acb871538e540054ef8293912ed33a)
- Add Clang-Tidy suppressions as well.
+commit 5a58585792
+Author: Nardi Ivan <nardi.ivan@gmail.com>
+Date: Wed Jan 17 10:02:25 2024 +0100
- (cherry picked from commit 16d85df6f447b082afce8cf183d187d6144f2870)
+ LUA: allow conversion from string to uint64 in any base
-commit 4557986660b
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Tue Feb 20 09:41:29 2024 -0800
+ This is handy when you want to specify a mask in hex format
- GIOP: Add a recursion check
+ (cherry picked from commit 534cc08ebc9fb82b965cefdf164ae02da3827f4d)
- Add Clang-Tidy suppressions as well.
+commit e067aa55f3
+Author: Guy Harris <gharris@sonic.net>
+Date: Sun Mar 31 12:10:56 2024 -0700
- (cherry picked from commit 45f9dae43cc9f6253bc8e8f2d12afa47a8925e62)
+ wslua: put the example of use for treeitem:add at the right level.
-commit 37eb42985eb
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Tue Feb 20 09:24:00 2024 -0800
+ It should be a subsection of the entry for treeitem:add, which means it
+ must be a level *5* header.
+
+ (cherry picked from commit 7b6e196c4117010c04d911021c16b37c454a4f19)
+
+commit 48288a29db
+Author: Guy Harris <gharris@sonic.net>
+Date: Sun Mar 31 10:51:30 2024 -0700
+
+ wslua: fix the documentation for Tvb:reported_length_remaining.
+
+ Use the WSLUA_OPTARG_xxx convention for it optional offset argument, so
+ that the documentation generation process properly documents it.
+
+ (cherry picked from commit 62bc594401f64317d4e2a66de726ca615cf0263b)
+
+commit 3911c7b7d2
+Author: John Thacker <johnthacker@gmail.com>
+Date: Fri Mar 29 09:42:44 2024 -0400
+
+ editcap: Don't memmove more than allocated in the buffer
- ENRP: Add a recursion check
+ When moving from the begining with a beginning offset specified,
+ don't run off the end. Subtract the source memory area's full offset
+ from the beginning of the buffer from the capture length.
- Add Clang-Tidy suppressions as well.
+ Fix #19724
- (cherry picked from commit 6c52cdf959a4da6a4bf148713cb341b40f06355b)
+ (cherry picked from commit 7c744e7933794b09e7af4d9703194ad0b01be282)
-commit e1299a0ef50
+commit 1f0bc61bbc
Author: Gerald Combs <gerald@wireshark.org>
-Date: Sun Feb 18 09:24:20 2024 +0000
+Date: Sun Mar 31 09:24:23 2024 +0000
- [Automatic update for 2024-02-18]
+ [Automatic update for 2024-03-31]
Update manuf, services enterprise numbers, translations, and other items.
-commit d3ad478c920
-Author: Noan <noan.perrot@gmail.com>
-Date: Tue Nov 28 09:36:44 2023 +0000
+commit e9965fe303
+Author: John Thacker <johnthacker@gmail.com>
+Date: Sat Mar 30 08:07:26 2024 -0400
- Fix parse number of scalability structures in VP9
+ Mongo: Ensure the offset advances
- (cherry picked from commit 8873aba1a03fb2fdf618807a416d528b52143bd8)
+ The MongoDB Wire Protocol uses _signed_ 32 bit integers for lengths.
+ dissect_bson_document checks for bogus values and ensures that a
+ non-negative (and at least 5) size is returned, but we need to make
+ sure to use that return value instead of trusting the value read
+ from the packet in dissect_op_msg_section.
- 92ceaf04 Fix parse number of scalability structures
- d40a502b Fix parse number of scalability structures in VP9
+ Fix #19726
-commit 6f399ff8e6f
-Author: Gerald Combs <gerald@wireshark.org>
-Date: Sun Feb 18 10:09:57 2024 -0800
+ (cherry picked from commit 38c0efcee8d22d922e446888b268effc3ccf725f)
+
+commit 17bff1a32f
+Author: Guy Harris <gharris@sonic.net>
+Date: Fri Mar 29 22:31:04 2024 -0700
- tools: Don't assume that Homebrew has Lua 5.1
+ macos-setup: Add a warning about a comparomised version of XZ.
[skip ci]
- (cherry picked from commit deac878dd56a4c04fc4dc9f198167314262c0af7)
+ (cherry picked from commit 75b1ffe1190de3843de3cd756a6b16200a967cd8)
+
+commit 8a7dc8c440
+Author: John Thacker <johnthacker@gmail.com>
+Date: Thu Mar 28 19:46:56 2024 -0400
+
+ JSON-3GPP: Handle 5GC over HTTP/1.1 (OAI), don't create HTTP/2 sessions
+
+ http2_get_header_value currently, by calling get_http2_session,
+ always creates HTTP/2 conversation data on the current conversation.
+ This confuses the HTTP dissector if HTTP/2 is not actually present,
+ so guard it with proto_is_frame_protocol.
+
+ Also, despite 3GPP TS 29.500 saying that the service based interfaces
+ use HTTP/2 only, OAI (and perhaps other implementations) have options
+ to use HTTP/1.1, so try to handle that case as well.
+
+ Fix #19723
+
+ (backported from commit 8285e802241abb25c62d6fc71b17ce16175c151b)
+
+commit 47517b2cdd
+Author: John Thacker <johnthacker@gmail.com>
+Date: Tue Mar 5 07:50:09 2024 -0500
+
+ http2: Return header value decoded from US-ASCII
+
+ Per the discussion in RFCs 9113 and 8187, decode field values
+ from US-ASCII (replacing characters outside the range, i.e.
+ obs-text, with UTF-8 replacement characters) before returning them
+ in http2_get_header_value. This is what all current dissectors
+ need, and reduces the chances of adding unvalided text (non UTF-8)
+ to the tree.
+
+ Make a note that dissectors may need to perform additional decoding,
+ e.g. percent decoding or decoding according to RFC 8187.
-commit 9dbb5482ef0
+ There may at some point be dissectors that need access to the raw
+ bytes as opaque data (which is discouraged by the RFCs), at which
+ point we could have an additional function to access that.
+
+ Fix #19684
+
+ (cherry picked from commit 674e35bd62777e006fd41229c4c6583022d912f9)
+
+commit 9ad30bc466
Author: Gerald Combs <gerald@wireshark.org>
-Date: Wed Feb 14 13:18:50 2024 -0800
+Date: Fri Mar 29 10:27:10 2024 -0700
+
+ GQUIC+DOCSIS MAC MGMT: Recursion updates
+
+ Make our recursion checks consistent with other dissectors.
+
+ (cherry picked from commit 119a385ba271a51ea35579b25dc0025ff450577c)
+
+commit 4e707387de
+Author: John Thacker <johnthacker@gmail.com>
+Date: Thu Feb 29 19:26:23 2024 -0500
+
+ gRPC: Add separate dissector handles for gRPC Web and Web Text
+
+ Rather than registering one gRPC dissector handle to three
+ flavors of gRPC and then figuring out which one got called
+ by inspecting pinfo->match_string, register different dissectors
+ with descriptions to each type, so we know which dissector was
+ called.
+
+ This especially avoids assertions when a dissector is set via
+ Decode As, or via the stream ID table (even though the stream
+ ID table won't put the gRPC dissector into the special
+ streaming "reassembly as you go" mode, instead falling back
+ to the standard HTTP/2 reassemble at the end mode.)
+
+ Also, if we have the (bidirectional) streaming mode set for
+ the stream ID but we don't have a streaming subdissector handle
+ for the (unidirectional) content type, set it to the data handle
+ to avoid an assertion. We could possibly try to set it to the
+ content type used in the other direction, but that has potential
+ issues.
+
+ Fix #19679
+
+ (cherry picked from commit febcf46bbc4ff7e16c5cff609dc0c733b9e652a3)
+
+commit 196cc0d624
+Author: Dominic Pearson <dsp@technoanimal.net>
+Date: Thu Mar 28 15:07:40 2024 +0100
- GitLab CI: Add release notes artifacts
+ cpu_info: fix missing decl in else macro block
- (cherry picked from commit d54031eda9e94e9c7ab28e8a70b2509dc20cdfc9)
+ (cherry picked from commit 318e8d3161ac23a7f486a74500d4d2b05403a58a)
-commit 4520e9eb867
+commit c9f47f9ff5
Author: Gerald Combs <gerald@wireshark.org>
-Date: Wed Feb 14 13:32:10 2024 -0800
+Date: Wed Mar 27 14:40:37 2024 -0700
- Version: 4.2.3 → 4.2.4
+ Version: 4.2.4 → 4.2.5
[skip ci]
diff --git a/NEWS b/NEWS
index 84918aa7..88369f02 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-Wireshark 4.2.4 Release Notes
+Wireshark 4.2.5 Release Notes
What is Wireshark?
@@ -16,7 +16,7 @@ Wireshark 4.2.4 Release Notes
Bug Fixes
If you are upgrading Wireshark 4.2.0 or 4.2.1 on Windows you will
- need to download and install[2] Wireshark 4.2.4 or later by hand.
+ need to download and install[2] Wireshark 4.2.5 or later by hand.
The following bugs have been fixed:
@@ -32,21 +32,27 @@ Wireshark 4.2.4 Release Notes
New and Updated Capture File Support
- pcap and pcapng
+ There is no new or updated capture file support in this release.
+
+ Updated File Format Decoding Support
+
+ There is no updated file format support in this release.
Prior Versions
This document only describes the changes introduced in Wireshark
- 4.2.4. You can find release notes for prior versions at the following
+ 4.2.5. You can find release notes for prior versions at the following
locations:
- • Wireshark 4.2.3[3]
+ • Wireshark 4.2.4[3]
+
+ • Wireshark 4.2.3[4]
- • Wireshark 4.2.2[4]
+ • Wireshark 4.2.2[5]
- • Wireshark 4.2.1[5]
+ • Wireshark 4.2.1[6]
- • Wireshark 4.2.0[6]
+ • Wireshark 4.2.0[7]
Getting Wireshark
@@ -58,7 +64,7 @@ Wireshark 4.2.4 Release Notes
Most Linux and Unix vendors supply their own Wireshark packages. You
can usually install or upgrade Wireshark using the package management
system specific to that platform. A list of third-party packages can
- be found on the download page[7] on the Wireshark web site.
+ be found on the download page[8] on the Wireshark web site.
File Locations
@@ -73,37 +79,38 @@ Wireshark 4.2.4 Release Notes
The User’s Guide, manual pages and various other documentation can be
found at https://www.wireshark.org/docs/
- Community support is available on Wireshark’s Q&A site[8] and on the
+ Community support is available on Wireshark’s Q&A site[9] and on the
wireshark-users mailing list. Subscription information and archives
- for all of Wireshark’s mailing lists can be found on the web site[9].
+ for all of Wireshark’s mailing lists can be found on the web site[10].
- Bugs and feature requests can be reported on the issue tracker[10].
+ Bugs and feature requests can be reported on the issue tracker[11].
You can learn protocol analysis and meet Wireshark’s developers at
- SharkFest[11].
+ SharkFest[12].
How You Can Help
The Wireshark Foundation helps as many people as possible understand
their networks as much as possible. You can find out more and donate
- at wiresharkfoundation.org[12].
+ at wiresharkfoundation.org[13].
Frequently Asked Questions
- A complete FAQ is available on the Wireshark web site[13].
+ A complete FAQ is available on the Wireshark web site[14].
References
1. https://wiresharkfoundation.org
2. https://www.wireshark.org/download.html
- 3. https://www.wireshark.org/docs/relnotes/wireshark-4.2.2.html
- 4. https://www.wireshark.org/docs/relnotes/wireshark-4.2.2.html
- 5. https://www.wireshark.org/docs/relnotes/wireshark-4.2.1.html
- 6. https://www.wireshark.org/docs/relnotes/wireshark-4.2.0.html
- 7. https://www.wireshark.org/download.html
- 8. https://ask.wireshark.org/
- 9. https://www.wireshark.org/lists/
- 10. https://gitlab.com/wireshark/wireshark/-/issues
- 11. https://sharkfest.wireshark.org
- 12. https://wiresharkfoundation.org
- 13. https://www.wireshark.org/faq.html
+ 3. https://www.wireshark.org/docs/relnotes/wireshark-4.2.4.html
+ 4. https://www.wireshark.org/docs/relnotes/wireshark-4.2.3.html
+ 5. https://www.wireshark.org/docs/relnotes/wireshark-4.2.2.html
+ 6. https://www.wireshark.org/docs/relnotes/wireshark-4.2.1.html
+ 7. https://www.wireshark.org/docs/relnotes/wireshark-4.2.0.html
+ 8. https://www.wireshark.org/download.html
+ 9. https://ask.wireshark.org/
+ 10. https://www.wireshark.org/lists/
+ 11. https://gitlab.com/wireshark/wireshark/-/issues
+ 12. https://sharkfest.wireshark.org
+ 13. https://wiresharkfoundation.org
+ 14. https://www.wireshark.org/faq.html
diff --git a/doc/release-notes.adoc b/doc/release-notes.adoc
index bb66460d..137c591b 100644
--- a/doc/release-notes.adoc
+++ b/doc/release-notes.adoc
@@ -24,20 +24,52 @@ If you are upgrading Wireshark 4.2.0 or 4.2.1 on Windows you will need to https:
The following vulnerabilities have been fixed:
-* wssalink:2024-06[]
-T.38 dissector crash.
-wsbuglink:19695[].
-cveidlink:2024-2955[].
-// Fixed in master: 6fd3af5e99
-// Fixed in release-4.2: 7be4bbb413d
-// Fixed in release-4.0: c04f268605c
-// Fixed in release-3.6: n/a
-// CVSS AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
+* wssalink:2024-07[]
+MONGO and ZigBee TLV dissector infinite loops.
+wsbuglink:19726[].
+cveidlink:2024-4854[].
+// Fixed in master: 38c0efcee8, 9ab952b964
+// Fixed in release-4.2: e9965fe303, cb267b4e52
+// Fixed in release-4.0: dd5b3b36d3e
+// Fixed in release-3.6: 40ed7e814bc
+// CVSS AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:H
+// CWE-835
+// * Fuzz job crash: fuzz-2024-03-30-7212.pcap. wsbuglink:19726[].
+
+* wssalink:2024-08[]
+The editcap command line utility could crash when chopping bytes from the beginning of a packet.
+wsbuglink:19724[].
+cveidlink:2024-4853[].
+// Fixed in master: 7c744e7933
+// Fixed in release-4.2: 3911c7b7d2
+// Fixed in release-4.0: c10a98d2669
+// Fixed in release-3.6: 683166c81bc
+// CVSS AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:L
// CWE-762
-// * Fuzz job crash: fuzz-2024-03-07-7208.pcap. wsbuglink:19695[].
-
-Additionally, CVE-2024-24478, CVE-2024-24479, and CVE-2024-24476 were recently assigned to Wireshark without any coordination with the Wireshark project.
-As far as we can determine, each one is based on invalid assumptions and we have requested that they be rejected.
+// * The "handle_chopping" function in "editcap.c:2595" has a heap overflow vulnerability. wsbuglink:19724[].
+
+* wssalink:2024-09[]
+The editcap command line utility could crash when injecting secrets while writing multiple files.
+wsbuglink:19782[].
+cveidlink:2024-4855[].
+// Fixed in master: be3550b3b1
+// Fixed in release-4.2: 32bde22d9b
+// Fixed in release-4.0: f6cb547426d
+// Fixed in release-3.6: xxx
+// CVSS AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:L
+// CWE-416
+// * The "wtap_block_foreach_option" function on wiretap/file_access.c:2693 has a SEGV vulnerability. wsbuglink:19784[].
+
+// * wssalink:2024-10[]
+// Foo dissector {crash,infinite loop,memory leak}.
+// wsbuglink:xxx[].
+// cveidlink:2024-xxx[].
+// Fixed in master: xxx
+// Fixed in release-4.2: xxx
+// Fixed in release-4.0: xxx
+// Fixed in release-3.6: xxx
+// CVSS AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
+// CWE-125
The following bugs have been fixed:
@@ -46,16 +78,25 @@ The following bugs have been fixed:
//* cveidlink:2014-2486[]
//* Wireshark grabs your ID at 3 am, goes to Waffle House, and insults people.
-* Extcap with configuration never starts; "Configure all extcaps before start of capture." is shown instead. wsbuglink:18487[].
-* Packet Dissection CSV Export includes last column even if hidden. wsbuglink:19666[].
-* Inject TLS secrets closes Wireshark on Windows. wsbuglink:19667[].
-* Fuzz job issue: fuzz-2024-02-27-7196.pcap. wsbuglink:19674[].
-* Wireshark crashes when adding another port to the HTTP dissector. wsbuglink:19677[].
-* Fuzz job issue: fuzz-2024-03-03-7204.pcap. wsbuglink:19685[].
-* Fuzz job issue: randpkt-2024-03-05-8004.pcap. wsbuglink:19688[].
-* When adding a new row to a table an error report may be inserted. wsbuglink:19705[].
-* '--export-objects' does not work as expected on tshark version later than 3.2.10. wsbuglink:19715[].
-* Fuzz job issue: fuzz-2024-03-21-7215.pcap. wsbuglink:19717[].
+* Flow Graph scrolls in the wrong direction vertically when pressing Up/Down. wsbuglink:12932[].
+* TCP Stream Window Scaling not working in version 2.6.1 and later. wsbuglink:15016[].
+* TCP stream graphs (Window scaling) axis display is confusing. wsbuglink:17425[].
+* LUA get_dissector does not give the correct dissector under 32-bit version. wsbuglink:18367[].
+* Lua: Segfault when registering a field or expert info twice. wsbuglink:19194[].
+* SSH can not decrypt when KEX is curve25519-sha256@libssh.org. wsbuglink:19240[].
+* Wireshark crash related to Lua `DissectorTable.heuristic_new()` wsbuglink:19603[].
+* MATE fails to extract HTTP2 User-Agent header. wsbuglink:19619[].
+* Fuzz job issue: fuzz-2024-02-29-7169.pcap. wsbuglink:19679[].
+* Fuzz job issue: fuzz-2024-03-02-7158.pcap. wsbuglink:19684[].
+* Problem to Decode 5GC-N7 HTTP for payload Application/JSON. wsbuglink:19723[].
+* Copying data as C String produces incorrect string. wsbuglink:19735[].
+* Incorrect decoding of supported Tx HE-MCS. wsbuglink:19737[].
+* reordercap: Fix packet reordering with multiple IDB's not at the beginning of a pcapng file. wsbuglink:19740[].
+* Wrong EPB lengths written if existing pcapng file has epb_hash options. wsbuglink:19766[].
+* On Windows, Export Displayed Packets dialog does not have "include depended upon packets" checkbox. wsbuglink:19772[].
+* vnd.3gpp.sms binary payload NOT decoded inside HTTP2 5GC. wsbuglink:19773[].
+* NAS 5G message container dissection. wsbuglink:19793[].
+* Incorrect interpretation of algorithm name in packet-tls-utils.c. wsbuglink:19801[].
=== New and Updated Features
@@ -73,179 +114,59 @@ There are no new protocols in this release.
=== Updated Protocol Support
// Add one protocol per line between the -- delimiters.
-// ag -A1 '(define PSNAME|proto_register_protocol[^_])' $(git diff --name-only v4.2.4.. | ag packet- | sort -u)
+// ag -A1 '(define PSNAME|proto_register_protocol[^_])' $(git diff --name-only v4.2.5.. | ag packet- | sort -u)
[commaize]
--
-6LoWPAN
-AllJoyn
-AFP
-AMQP
-ASAP
-Babel
-BACnet
-Banana
-BEEP
-Bencode
-BFCP
-BGP
-BT-DHT
-BT BNEP
-BT SDP
-BVLC
-CIP
-CMIP
-CMP
-COROSYNC/TOTEMSRP
-COSE
+5co_legacy
+5co_rap
+BT Mesh
CQL
-CSN.1
-DAP
-DCCP
-DICOM
-DCOM
-DHCPv6
-DISP
DOCSIS MAC MGMT
-DOF
-DVB-S2
-E2AP
-EDONKEY
-ENRP
-ErlDP
-Etch
-EXTREME MESH
-FC-SWILS
-GNW
-GIOP
-GLOW
-GOOSE
+E.212
+EPL
+FC FZS
GQUIC
-GSM A-bis OML
-GSUP
-GTPv2
-H.223
-H.225.0
-H.245
-H.248
-H.264
-H.265
-HSMS
+GRPC
+GSM RP
+HTTP2
ICMPv6
-ICQ
-IEEE1609dot2
-IPP
-IPPUSB
-ISAKMP
-iSCSI
-ISIS LSP
-ISO 7816
-ISUP
-ITS
-JSON 3GPP
-JXTA
-Kafka
-KINK
-KNX/IP
-LDAP
-LDP
-5GLI
-LISP TCP
-LISP
-LLRP
-LwM2M-TLV
-M2UA
-M3UA
-MAC-LTE
-MBIM
-MMS
+IEEE 1905
+IEEE 802.11
+IPARS
+JSON-3GPP
+LAPD
+LLDP
+MATE
MONGO
-MPEG PES
-MPLS Echo
-MQ PCF
-MQTT-SN
-MSDP
-MsgPack
-MS-WSP
-NAS-5GS
-CFLOW
-NETLINK
-NHRP
-OpenFlow
-OpenWire
-OPSI
-OSC
-P22
-P7
-PANA
-PIM
-ProtoBuf
-PROXY
-Q.2931
-QNET
-RDP
-RESP
-RPL
-RSL
-RSVP
-RTLS
-RTMPT
-RTPS
-S7COMM
-SCTP
-SIMULCRYPT
-SoulSeek
-SMB2
-SML
-SNA
-SNMP
-Socks
-SolarEdge
-SOME/IP
-SUA
-T.38
-TCAP
-TEAP
-TFTP
-Thread
-Thrift
-TN5250
-USBHID
-USBVIDEO
-VP9
-WASSP
-WLCCP
-WTP
-X.509IF
-X.509SAT
-XML
-XMPP
-YAMI
-Z39.50
-ZigBee ZCL
-Gryphon
-PNIO
-WiMAX ASN CP
+NAS 5GS
+NR-RRC
+PER
+PFCP
+PTP
+QUIC
+SSH
+TIPC
+ZBD
--
=== New and Updated Capture File Support
-There is no new or updated capture file support in this release.
-// Add one file type per line between the -- delimiters.
-// [commaize]
-// --
-// --
-
-=== Updated File Format Decoding Support
-
-// There is no updated file format support in this release.
+// There is no new or updated capture file support in this release.
// Add one file type per line between the -- delimiters.
[commaize]
--
BLF
-JPEG
-RBM
+pcapng
--
+=== Updated File Format Decoding Support
+
+There is no updated file format support in this release.
+// Add one file type per line between the -- delimiters.
+// [commaize]
+// --
+// --
+
// === New and Updated Capture Interfaces support
// === New and Updated Codec support
@@ -257,7 +178,8 @@ RBM
This document only describes the changes introduced in Wireshark {wireshark-version}.
You can find release notes for prior versions at the following locations:
-* https://www.wireshark.org/docs/relnotes/wireshark-4.2.2.html[Wireshark 4.2.3]
+* https://www.wireshark.org/docs/relnotes/wireshark-4.2.4.html[Wireshark 4.2.4]
+* https://www.wireshark.org/docs/relnotes/wireshark-4.2.3.html[Wireshark 4.2.3]
* https://www.wireshark.org/docs/relnotes/wireshark-4.2.2.html[Wireshark 4.2.2]
* https://www.wireshark.org/docs/relnotes/wireshark-4.2.1.html[Wireshark 4.2.1]
* https://www.wireshark.org/docs/relnotes/wireshark-4.2.0.html[Wireshark 4.2.0]
diff --git a/docbook/attributes.adoc b/docbook/attributes.adoc
index 7c7085e4..aa8ba785 100644
--- a/docbook/attributes.adoc
+++ b/docbook/attributes.adoc
@@ -1,6 +1,6 @@
// Common attributes
-:wireshark-version: 4.2.4
+:wireshark-version: 4.2.5
:logray-version: 0.9.0
// Required for btn, kbd:, and menu: macros.
diff --git a/docbook/wsug_src/capinfos-h.txt b/docbook/wsug_src/capinfos-h.txt
index 533aa77e..326da346 100644
--- a/docbook/wsug_src/capinfos-h.txt
+++ b/docbook/wsug_src/capinfos-h.txt
@@ -1,4 +1,4 @@
-Capinfos (Wireshark) 4.2.4 (v4.2.4rc0-1-g9dbb5482ef05)
+Capinfos (Wireshark) 4.2.5 (v4.2.5rc0-7-ge9965fe30342)
Print various information (infos) about capture files.
See https://www.wireshark.org for more information.
diff --git a/docbook/wsug_src/dumpcap-h.txt b/docbook/wsug_src/dumpcap-h.txt
index bd81eecf..6736a664 100644
--- a/docbook/wsug_src/dumpcap-h.txt
+++ b/docbook/wsug_src/dumpcap-h.txt
@@ -1,4 +1,4 @@
-Dumpcap (Wireshark) 4.2.4 (v4.2.4rc0-1-g9dbb5482ef05)
+Dumpcap (Wireshark) 4.2.5 (v4.2.5rc0-7-ge9965fe30342)
Capture network packets and dump them into a pcapng or pcap file.
See https://www.wireshark.org for more information.
diff --git a/docbook/wsug_src/editcap-h.txt b/docbook/wsug_src/editcap-h.txt
index 2f8299fb..a701129f 100644
--- a/docbook/wsug_src/editcap-h.txt
+++ b/docbook/wsug_src/editcap-h.txt
@@ -1,4 +1,4 @@
-Editcap (Wireshark) 4.2.4 (v4.2.4rc0-1-g9dbb5482ef05)
+Editcap (Wireshark) 4.2.5 (v4.2.5rc0-7-ge9965fe30342)
Edit and/or translate the format of capture files.
See https://www.wireshark.org for more information.
diff --git a/docbook/wsug_src/mergecap-h.txt b/docbook/wsug_src/mergecap-h.txt
index ce75957c..dd307bd5 100644
--- a/docbook/wsug_src/mergecap-h.txt
+++ b/docbook/wsug_src/mergecap-h.txt
@@ -1,4 +1,4 @@
-Mergecap (Wireshark) 4.2.4 (v4.2.4rc0-1-g9dbb5482ef05)
+Mergecap (Wireshark) 4.2.5 (v4.2.5rc0-7-ge9965fe30342)
Merge two or more capture files into one.
See https://www.wireshark.org for more information.
diff --git a/docbook/wsug_src/rawshark-h.txt b/docbook/wsug_src/rawshark-h.txt
index f088b94d..6cd4526d 100644
--- a/docbook/wsug_src/rawshark-h.txt
+++ b/docbook/wsug_src/rawshark-h.txt
@@ -1,4 +1,4 @@
-Rawshark (Wireshark) 4.2.4 (v4.2.4rc0-1-g9dbb5482ef05)
+Rawshark (Wireshark) 4.2.5 (v4.2.5rc0-7-ge9965fe30342)
Dump and analyze network traffic.
See https://www.wireshark.org for more information.
diff --git a/docbook/wsug_src/reordercap-h.txt b/docbook/wsug_src/reordercap-h.txt
index ad4ee8d1..87937f6b 100644
--- a/docbook/wsug_src/reordercap-h.txt
+++ b/docbook/wsug_src/reordercap-h.txt
@@ -1,4 +1,4 @@
-Reordercap (Wireshark) 4.2.4 (v4.2.4rc0-1-g9dbb5482ef05)
+Reordercap (Wireshark) 4.2.5 (v4.2.5rc0-7-ge9965fe30342)
Reorder timestamps of input file frames into output file.
See https://www.wireshark.org for more information.
diff --git a/docbook/wsug_src/text2pcap-h.txt b/docbook/wsug_src/text2pcap-h.txt
index 938f5e5d..aa38748a 100644
--- a/docbook/wsug_src/text2pcap-h.txt
+++ b/docbook/wsug_src/text2pcap-h.txt
@@ -1,4 +1,4 @@
-Text2pcap (Wireshark) 4.2.4 (v4.2.4rc0-1-g9dbb5482ef05)
+Text2pcap (Wireshark) 4.2.5 (v4.2.5rc0-7-ge9965fe30342)
Generate a capture file from an ASCII hexdump of packets.
See https://www.wireshark.org for more information.
diff --git a/docbook/wsug_src/tshark-h.txt b/docbook/wsug_src/tshark-h.txt
index 37a0d363..6dd29473 100644
--- a/docbook/wsug_src/tshark-h.txt
+++ b/docbook/wsug_src/tshark-h.txt
@@ -1,4 +1,4 @@
-TShark (Wireshark) 4.2.4 (v4.2.4rc0-1-g9dbb5482ef05)
+TShark (Wireshark) 4.2.5 (v4.2.5rc0-7-ge9965fe30342)
Dump and analyze network traffic.
See https://www.wireshark.org for more information.
diff --git a/docbook/wsug_src/wireshark-h.txt b/docbook/wsug_src/wireshark-h.txt
index 5e3edb99..c7e6e5b9 100644
--- a/docbook/wsug_src/wireshark-h.txt
+++ b/docbook/wsug_src/wireshark-h.txt
@@ -1,4 +1,4 @@
-Wireshark 4.2.4 (v4.2.4rc0-1-g9dbb5482ef05)
+Wireshark 4.2.5 (v4.2.5rc0-7-ge9965fe30342)
Interactively dump and analyze network traffic.
See https://www.wireshark.org for more information.
diff --git a/editcap.c b/editcap.c
index ef99e507..8c03af3f 100644
--- a/editcap.c
+++ b/editcap.c
@@ -1943,6 +1943,10 @@ main(int argc, char *argv[])
}
while (nstime_cmp(&rec->ts, &block_next) > 0) { /* time for the next file */
+ /* We presumably want to write the DSBs from files given
+ * on the command line to every file.
+ */
+ wtap_block_array_ref(params.dsbs_initial);
if (!wtap_dump_close(pdh, NULL, &write_err, &write_err_info)) {
cfile_close_failure_message(filename, write_err,
write_err_info);
@@ -1978,6 +1982,11 @@ main(int argc, char *argv[])
if (split_packet_count != 0) {
/* time for the next file? */
if (written_count > 0 && (written_count % split_packet_count) == 0) {
+
+ /* We presumably want to write the DSBs from files given
+ * on the command line to every file.
+ */
+ wtap_block_array_ref(params.dsbs_initial);
if (!wtap_dump_close(pdh, NULL, &write_err, &write_err_info)) {
cfile_close_failure_message(filename, write_err,
write_err_info);
@@ -2594,7 +2603,7 @@ handle_chopping(chop_t chop, wtap_packet_header *out_phdr,
if (chop.off_begin_pos > 0) {
memmove(*buf + chop.off_begin_pos,
*buf + chop.off_begin_pos + chop.len_begin,
- out_phdr->caplen - chop.len_begin);
+ out_phdr->caplen - (chop.off_begin_pos + chop.len_begin));
} else {
*buf += chop.len_begin;
}
diff --git a/epan/CMakeLists.txt b/epan/CMakeLists.txt
index 3a3d19c0..051e19e4 100644
--- a/epan/CMakeLists.txt
+++ b/epan/CMakeLists.txt
@@ -314,7 +314,7 @@ add_library(epan
set_target_properties(epan PROPERTIES
COMPILE_DEFINITIONS "WS_BUILD_DLL"
LINK_FLAGS "${WS_LINK_FLAGS}"
- VERSION "17.0.4" SOVERSION 17
+ VERSION "17.0.5" SOVERSION 17
INSTALL_RPATH "${LIBRARY_INSTALL_RPATH}"
# By default the name for a library with target name epan will be libepan,
# but Ethereal is now named Wireshark
diff --git a/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf b/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf
index 5df5e1d2..c9181191 100644
--- a/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf
+++ b/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf
@@ -207,27 +207,27 @@ SchedulingRequestResourceConfig
SDT-MAC-PHY-CG-Config-r17
SidelinkParametersNR-r16
SidelinkUEInformationNR-r16
-SIB1
-SIB2
-SIB3
-SIB4
-SIB5
-SIB6
-SIB7
-SIB8
-SIB9
-SIB10-r16
-SIB11-r16
-SIB12-r16
-SIB13-r16
-SIB14-r16
-SIB15-r17
-SIB16-r17
-SIB17-r17
-SIB18-r17
-SIB19-r17
-SIB20-r17
-SIB21-r17
+SIB1 @sib1
+SIB2 @sib2
+SIB3 @sib3
+SIB4 @sib4
+SIB5 @sib5
+SIB6 @sib6
+SIB7 @sib7
+SIB8 @sib8
+SIB9 @sib9
+SIB10-r16 @sib10
+SIB11-r16 @sib11
+SIB12-r16 @sib12
+SIB13-r16 @sib13
+SIB14-r16 @sib14
+SIB15-r17 @sib15
+SIB16-r17 @sib16
+SIB17-r17 @sib17
+SIB18-r17 @sib18
+SIB19-r17 @sib21
+SIB20-r17 @sib22
+SIB21-r17 @sib23
SL-ConfigDedicatedEUTRA-Info-r16
SL-ConfigDedicatedNR-r16
SL-MeasResultListRelay-r17
@@ -724,73 +724,73 @@ RAT-Type TYPE_PREFIX
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MIB");
#.FN_HDR SystemInformation
- col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "System Information [");
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "System Information [ ");
#.FN_FTR SystemInformation
- col_append_str(actx->pinfo->cinfo, COL_INFO, " ]");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "]");
#.FN_HDR SIB2
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB2");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB2 ");
#.FN_HDR SIB3
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB3");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB3 ");
#.FN_HDR SIB4
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB4");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB4 ");
#.FN_HDR SIB5
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB5");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB5 ");
#.FN_HDR SIB6
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB6");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB6 ");
#.FN_HDR SIB7
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB7");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB7 ");
#.FN_HDR SIB8
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB8");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB8 ");
#.FN_HDR SIB9
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB9");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB9 ");
#.FN_HDR SIB10-r16
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB10");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB10 ");
#.FN_HDR SIB11-r16
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB11");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB11");
#.FN_HDR SIB12-r16
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB12");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB12 ");
#.FN_HDR SIB13-r16
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB13");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB13 ");
#.FN_HDR SIB14-r16
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB14");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB14 ");
#.FN_HDR SIB15-r17
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB15");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB15 ");
#.FN_HDR SIB16-r17
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB16");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB16 ");
#.FN_HDR SIB17-r17
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB17");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB17 ");
#.FN_HDR SIB18-r17
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB18");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB18 ");
#.FN_HDR SIB19-r17
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB19");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB19 ");
#.FN_HDR SIB20-r17
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB20");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB20 ");
#.FN_HDR SIB21-r17
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB21");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB21 ");
#.FN_HDR SIB1
- col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SIB1");
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SIB1 ");
#.FN_HDR RRCReject
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reject");
diff --git a/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c b/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c
index cbfb67cc..88f72f7a 100644
--- a/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c
+++ b/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c
@@ -1061,7 +1061,7 @@ proto_register_nr_rrc(void) {
register_dissector("nr-rrc.measgapconfig_msg", dissect_nr_rrc_measgapconfig_msg, proto_nr_rrc);
register_dissector("nr-rrc.handoverpreparationinformation_msg", dissect_nr_rrc_handoverpreparationinformation_msg, proto_nr_rrc);
register_dissector("nr-rrc.handovercommand_msg", dissect_nr_rrc_handovercommand_msg, proto_nr_rrc);
-
+ /*#include "packet-nr-rrc-dis-reg.c" */
#include "packet-nr-rrc-dis-reg.c"
nr_rrc_etws_cmas_dcs_hash = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(),
diff --git a/epan/dissectors/packet-5co-legacy.c b/epan/dissectors/packet-5co-legacy.c
index 273d2a69..5558cf03 100644
--- a/epan/dissectors/packet-5co-legacy.c
+++ b/epan/dissectors/packet-5co-legacy.c
@@ -857,7 +857,7 @@ dispType( gchar *result, guint32 type)
{
int nValueH = (type>>16) & 0xFFFF;
int nValueL = (type & 0xFFFF);
- snprintf( result, 18, "%d.%d (%.4X.%.4X)", nValueH, nValueL, nValueH, nValueL);
+ snprintf( result, ITEM_LABEL_LENGTH, "%d.%d (%.4X.%.4X)", nValueH, nValueL, nValueH, nValueL);
}
static void
@@ -867,7 +867,7 @@ dispVersion( gchar *result, guint32 version)
{
int nValueH = (version>>16) & 0xFFFF;
int nValueL = (version & 0xFFFF);
- snprintf( result, 11, "FW: %d.%d", nValueH, nValueL);
+ snprintf( result, ITEM_LABEL_LENGTH, "FW: %d.%d", nValueH, nValueL);
}
else
{
@@ -875,7 +875,7 @@ dispVersion( gchar *result, guint32 version)
int nHWLow = (version>>16) & 0xFF;
int nFWHigh = (version>>8) & 0xFF;
int nFWLow = (version>>8) & 0xFF;
- snprintf( result, 25, "HW: %d.%d / FW: %d.%d", nHWHigh, nHWLow, nFWHigh, nFWLow);
+ snprintf( result, ITEM_LABEL_LENGTH, "HW: %d.%d / FW: %d.%d", nHWHigh, nHWLow, nFWHigh, nFWLow);
}
}
@@ -883,7 +883,7 @@ static void dispMAC( gchar *result, guint64 mac)
{
guint8 *pData = (guint8*)(&mac);
- snprintf( result, 18, "%.2X-%.2X-%.2X-%.2X-%.2X-%.2X", pData[5], pData[4], pData[3], pData[2],
+ snprintf( result, ITEM_LABEL_LENGTH, "%.2X-%.2X-%.2X-%.2X-%.2X-%.2X", pData[5], pData[4], pData[3], pData[2],
pData[1], pData[0]);
}
@@ -891,22 +891,22 @@ static void dispIP( gchar *result, guint32 ip)
{
guint8 *pData = (guint8*)(&ip);
- snprintf( result, 15, "%d.%d.%d.%d", pData[3], pData[2], pData[1], pData[0]);
+ snprintf( result, ITEM_LABEL_LENGTH, "%d.%d.%d.%d", pData[3], pData[2], pData[1], pData[0]);
}
static void dispMask( gchar *result, guint32 mask)
{
guint8 *pData = (guint8*)(&mask);
- snprintf( result, 15, "%d.%d.%d.%d", pData[3], pData[2], pData[1], pData[0]);
+ snprintf( result, ITEM_LABEL_LENGTH, "%d.%d.%d.%d", pData[3], pData[2], pData[1], pData[0]);
}
static void dispTimeout( gchar *result, guint32 timeout)
{
if (timeout != 0)
- snprintf( result, 12, "%d secondes", timeout);
+ snprintf( result, ITEM_LABEL_LENGTH, "%d seconds", timeout);
else
- snprintf( result, 8, "Disabled");
+ snprintf( result, ITEM_LABEL_LENGTH, "Disabled");
}
/*
diff --git a/epan/dissectors/packet-5co-rap.c b/epan/dissectors/packet-5co-rap.c
index 06aae10f..4aaabed6 100644
--- a/epan/dissectors/packet-5co-rap.c
+++ b/epan/dissectors/packet-5co-rap.c
@@ -891,7 +891,7 @@ disp_type( gchar *result, guint32 type)
{
guint nValueH = (type>>16) & 0xFFFF;
guint nValueL = (type & 0xFFFF);
- snprintf( result, 18, "%u.%u (%.4X.%.4X)", nValueH, nValueL, nValueH, nValueL);
+ snprintf( result, ITEM_LABEL_LENGTH, "%u.%u (%.4X.%.4X)", nValueH, nValueL, nValueH, nValueL);
}
static void
@@ -901,7 +901,7 @@ disp_version( gchar *result, guint32 version)
{
guint nValueH = (version>>16) & 0xFFFF;
guint nValueL = (version & 0xFFFF);
- snprintf( result, 11, "FW: %u.%u", nValueH, nValueL);
+ snprintf( result, ITEM_LABEL_LENGTH, "FW: %u.%u", nValueH, nValueL);
}
else
{
@@ -909,7 +909,7 @@ disp_version( gchar *result, guint32 version)
guint nHWLow = (version>>16) & 0xFF;
guint nFWHigh = (version>>8) & 0xFF;
guint nFWLow = version & 0xFF;
- snprintf( result, 25, "HW: %u.%u / FW: %u.%u", nHWHigh, nHWLow, nFWHigh, nFWLow);
+ snprintf( result, ITEM_LABEL_LENGTH, "HW: %u.%u / FW: %u.%u", nHWHigh, nHWLow, nFWHigh, nFWLow);
}
}
@@ -917,14 +917,14 @@ static void disp_voltage(gchar *result, guint32 voltage)
{
guint nValueH = (voltage>>16) & 0xFFFF;
guint nValueL = (voltage & 0xFFFF);
- snprintf( result, 11, "%u.%u V", nValueH, nValueL);
+ snprintf( result, ITEM_LABEL_LENGTH, "%u.%u V", nValueH, nValueL);
}
static void disp_mac( gchar *result, guint64 mac)
{
guint8 *pData = (guint8*)(&mac);
- snprintf( result, 18, "%.2X-%.2X-%.2X-%.2X-%.2X-%.2X", pData[5], pData[4], pData[3], pData[2],
+ snprintf( result, ITEM_LABEL_LENGTH, "%.2X-%.2X-%.2X-%.2X-%.2X-%.2X", pData[5], pData[4], pData[3], pData[2],
pData[1], pData[0]);
}
@@ -932,23 +932,23 @@ static void disp_ip( gchar *result, guint32 ip)
{
guint8 *pData = (guint8*)(&ip);
- snprintf( result, 15, "%u.%u.%u.%u", pData[3], pData[2], pData[1], pData[0]);
+ snprintf( result, ITEM_LABEL_LENGTH, "%u.%u.%u.%u", pData[3], pData[2], pData[1], pData[0]);
}
static void disp_mask( gchar *result, guint32 mask)
{
guint8 *pData = (guint8*)(&mask);
- snprintf( result, 15, "%u.%u.%u.%u", pData[3], pData[2], pData[1], pData[0]);
+ snprintf( result, ITEM_LABEL_LENGTH, "%u.%u.%u.%u", pData[3], pData[2], pData[1], pData[0]);
}
static void disp_timeout( gchar *result, guint32 timeout)
{
if (timeout != 0)
- snprintf( result, 12, "%u%s",
+ snprintf( result, ITEM_LABEL_LENGTH, "%u%s",
timeout, unit_name_string_get_value(timeout, &units_second_seconds));
else
- snprintf( result, 8, "Disabled");
+ snprintf( result, ITEM_LABEL_LENGTH, "Disabled");
}
/*
diff --git a/epan/dissectors/packet-btmesh.c b/epan/dissectors/packet-btmesh.c
index 8aa913d2..a0d930fc 100644
--- a/epan/dissectors/packet-btmesh.c
+++ b/epan/dissectors/packet-btmesh.c
@@ -4779,6 +4779,7 @@ dissect_btmesh_model_layer(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
proto_tree *manufacturer_property_ids_tree;
proto_tree *generic_client_property_ids_tree;
proto_tree *sensor_setting_property_ids_tree;
+ proto_tree *root_tree = proto_tree_get_parent_tree(tree);
guint32 netkeyindexes, appkeyindexes;
guint32 nums, numv, element;
@@ -4794,17 +4795,17 @@ dissect_btmesh_model_layer(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
if (opcode & 0x40) {
/* Vendor opcode */
proto_tree_add_item(sub_tree, hf_btmesh_model_layer_vendor_opcode, tvb, offset, 1, ENC_NA);
- vendor = tvb_get_guint16(tvb, offset + 1, ENC_BIG_ENDIAN);
+ vendor = tvb_get_guint16(tvb, offset + 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(sub_tree, hf_btmesh_model_layer_vendor, tvb, offset + 1, 2, ENC_LITTLE_ENDIAN);
payload_tvb = tvb_new_subset_remaining(tvb, offset);
- dissector_try_uint_new(btmesh_model_vendor_dissector_table, vendor, payload_tvb, pinfo, tree, TRUE, GUINT_TO_POINTER(vendor));
col_set_str(pinfo->cinfo, COL_INFO, "Access Message - Vendor Opcode");
+ dissector_try_uint_new(btmesh_model_vendor_dissector_table, vendor, payload_tvb, pinfo, root_tree, TRUE, GUINT_TO_POINTER(vendor));
offset+=3;
} else {
- /* Two octet opcode */
- proto_tree_add_item_ret_uint(sub_tree, hf_btmesh_model_layer_opcode, tvb, offset, 2, ENC_NA, &opcode);
- col_set_str(pinfo->cinfo, COL_INFO, val_to_str_const(opcode, btmesh_models_opcode_vals, "Access Message Unknown"));
- offset+=2;
+ /* Two octet opcode */
+ proto_tree_add_item_ret_uint(sub_tree, hf_btmesh_model_layer_opcode, tvb, offset, 2, ENC_NA, &opcode);
+ col_set_str(pinfo->cinfo, COL_INFO, val_to_str_const(opcode, btmesh_models_opcode_vals, "Access Message Unknown"));
+ offset+=2;
}
} else {
/* One octet opcode */
diff --git a/epan/dissectors/packet-cql.c b/epan/dissectors/packet-cql.c
index 32b03ec2..668ba722 100644
--- a/epan/dissectors/packet-cql.c
+++ b/epan/dissectors/packet-cql.c
@@ -147,6 +147,7 @@ static int ett_cql_protocol = -1;
static int ett_cql_version = -1;
static int ett_cql_message = -1;
static int ett_cql_result_columns = -1;
+static int ett_cql_results_no_metadata = -1;
static int ett_cql_result_map = -1;
static int ett_cql_result_set = -1;
static int ett_cql_result_metadata = -1;
@@ -1430,6 +1431,16 @@ dissect_cql_tcp_pdu(tvbuff_t* raw_tvb, packet_info* pinfo, proto_tree* tree, voi
}
offset += 4;
+ if (result_rows_flags & CQL_RESULT_ROWS_FLAG_HAS_MORE_PAGES) {
+ /* show paging state */
+ proto_tree_add_item_ret_int(metadata_subtree, hf_cql_bytes_length, tvb, offset, 4, ENC_BIG_ENDIAN, &bytes_length);
+ offset += 4;
+ if (bytes_length > 0) {
+ proto_tree_add_item(metadata_subtree, hf_cql_paging_state, tvb, offset, bytes_length, ENC_NA);
+ offset += bytes_length;
+ }
+ }
+
if ((result_rows_flags & (CQL_RESULT_ROWS_FLAG_GLOBAL_TABLES_SPEC | CQL_RESULT_ROWS_FLAG_NO_METADATA)) == CQL_RESULT_ROWS_FLAG_GLOBAL_TABLES_SPEC) {
proto_tree_add_item_ret_uint(metadata_subtree, hf_cql_string_length, tvb, offset, 2, ENC_BIG_ENDIAN, &string_length);
offset += 2;
@@ -1442,16 +1453,6 @@ dissect_cql_tcp_pdu(tvbuff_t* raw_tvb, packet_info* pinfo, proto_tree* tree, voi
offset += string_length;
}
- if (result_rows_flags & CQL_RESULT_ROWS_FLAG_HAS_MORE_PAGES) {
- /* show paging state */
- proto_tree_add_item_ret_int(metadata_subtree, hf_cql_bytes_length, tvb, offset, 4, ENC_BIG_ENDIAN, &bytes_length);
- offset += 4;
- if (bytes_length > 0) {
- proto_tree_add_item(metadata_subtree, hf_cql_paging_state, tvb, offset, bytes_length, ENC_NA);
- offset += bytes_length;
- }
- }
-
if (result_rows_flags & CQL_RESULT_ROWS_FLAG_NO_METADATA) {
/* There will be no col_spec elements. */
} else {
@@ -1504,12 +1505,19 @@ dissect_cql_tcp_pdu(tvbuff_t* raw_tvb, packet_info* pinfo, proto_tree* tree, voi
offset = parse_row(columns_subtree, pinfo, tvb, offset_row_metadata, offset, result_rows_columns_count);
} else {
for (k = 0; k < result_rows_columns_count; ++k) {
- single_column_subtree = proto_tree_add_item_ret_int(columns_subtree, hf_cql_bytes_length, tvb, offset, 4, ENC_BIG_ENDIAN, &bytes_length);
- proto_item_append_text(single_column_subtree, " for column # %" PRId64, k + 1);
- offset += 4;
+ proto_tree_add_item_ret_int(columns_subtree, hf_cql_bytes_length, tvb, offset, 4, ENC_BIG_ENDIAN, &bytes_length);
+ single_column_subtree = proto_tree_add_subtree(columns_subtree, tvb, offset, bytes_length > 0 ? bytes_length : 0, ett_cql_results_no_metadata, &ti, "Column data");
if (bytes_length > 0) {
+ proto_item_append_text(single_column_subtree, " for column # %" PRId64, k + 1);
proto_tree_add_item(single_column_subtree, hf_cql_bytes, tvb, offset, bytes_length, ENC_NA);
offset += bytes_length;
+ } else if (bytes_length == -1) {
+ proto_item_append_text(single_column_subtree, " is NULL for column # %" PRId64, k + 1);
+ } else if (bytes_length == -2) {
+ proto_item_append_text(single_column_subtree, " is not set for column # %" PRId64, k + 1);
+ } else {
+ expert_add_info(pinfo, ti, &ei_cql_unexpected_negative_value);
+ return tvb_reported_length(tvb);
}
}
}
@@ -2503,6 +2511,7 @@ proto_register_cql(void)
&ett_cql_version,
&ett_cql_message,
&ett_cql_result_columns,
+ &ett_cql_results_no_metadata,
&ett_cql_result_map,
&ett_cql_result_set,
&ett_cql_result_metadata,
diff --git a/epan/dissectors/packet-docsis-macmgmt.c b/epan/dissectors/packet-docsis-macmgmt.c
index e3bf924a..de21249a 100644
--- a/epan/dissectors/packet-docsis-macmgmt.c
+++ b/epan/dissectors/packet-docsis-macmgmt.c
@@ -3844,6 +3844,7 @@ dissect_attrs (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
tvbuff_t *attr_tvb;
total_len = tvb_reported_length_remaining (tvb, 0);
+ increment_dissection_depth(pinfo);
while (pos < total_len)
{
type = tvb_get_guint8 (tvb, pos);
@@ -3884,7 +3885,6 @@ dissect_attrs (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
ti = proto_tree_add_item (attr_tree, hf_docsis_bpkmattr_cm_id, tvb, pos, length, ENC_NA);
attr_subtree = proto_item_add_subtree(ti, ett_docsis_bpkmattr_cmid);
attr_tvb = tvb_new_subset_length (tvb, pos, length);
- // We recurse here, but we're limited by our packet length and the depth check in proto_tree_add_node.
dissect_attrs (attr_tvb, pinfo, attr_subtree);
break;
case BPKM_DISPLAY_STR:
@@ -4019,6 +4019,7 @@ dissect_attrs (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
pos += length; /* switch */
} /* while */
+ decrement_dissection_depth(pinfo);
}
static int
diff --git a/epan/dissectors/packet-e212.c b/epan/dissectors/packet-e212.c
index 4030a3c4..a51328c4 100644
--- a/epan/dissectors/packet-e212.c
+++ b/epan/dissectors/packet-e212.c
@@ -26,7 +26,7 @@ void proto_register_e212(void);
/*
* Annexes to ITU Operational Bulletin
* No. 1117 - 1.II.2017 (List of Mobile Country Codes)
- * No. 1162 - 15.XII.2018 (Mobile Network Codes)
+ * No. 1280 - 15.XI.2023 (Mobile Network Codes)
*
* With Amendment No. 1 (T-SP-OB 1164 - 15.I.2019) up to and
* including Amendment No. 34 (T-SP-OB 1198 - 15.VI.2020)
@@ -874,54 +874,71 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 20214, "CYTA (HELLAS)" },
{ 20215, "BWS" },
{ 20216, "INTER TELECOM" },
+ { 20400, "Intovoice B.V." },
{ 20401, "RadioAccess Network Services B.V." },
- { 20402, "Tele2 Nederland B.V." },
+ { 20402, "T-Mobile Netherlands B.V." },
{ 20403, "Voiceworks B.V." },
{ 20404, "Vodafone Libertel B.V." },
{ 20405, "Elephant Talk Communications Premium Rate Services" },
- { 20406, "Mundio Mobile (Netherlands) Ltd" },
- { 20407, "Teleena Holding B.V." },
- { 20408, "KPN Mobile The Netherlands B.V." },
+ { 20406, "Private Mobility Nederland B.V." },
+ { 20407, "Tata Communications MOVE B.V." },
+ { 20408, "KPN B.V." },
{ 20409, "Lycamobile Netherlands Limited" },
{ 20410, "KPN B.V." },
+ { 20411, "Greenet Netwerk B.V." },
{ 20412, "KPN B.V." },
{ 20413, "Unica Installatietechniek B.V." },
+ { 20414, "Venus & Mercury Telecom" },
{ 20415, "Ziggo B.V." },
{ 20416, "T-Mobile Netherlands B.V." },
- { 20417, "Intercity Mobile Communications B.V." },
- { 20418, "UPC Nederland B.V." },
+ { 20417, "Lebara Ltd" },
+ { 20418, "Ziggo Services B.V." },
{ 20419, "Mixe Communication Solutions B.V." },
{ 20420, "T-Mobile Netherlands B.V." },
{ 20421, "ProRail B.V." },
{ 20422, "Ministerie van Defensie" },
- { 20423, "ASpider Solutions Nederland B.V." },
- { 20424, "Private Mobility Nederland B.V." },
- { 20425, "CAPX B.V." },
+ { 20423, "KORE Wireless Nederland B.V." },
+ { 20424, "PM Factory B.V." },
+ { 20425, "CapX Nederland" },
{ 20426, "SpeakUp B.V." },
+ { 20427, "L-Mobi Mobile B.V." },
{ 20428, "Lancelot B.V." },
- { 20429, "Private Mobile Ltd" },
+ { 20429, "Tismi B.V." },
+ { 20430, "ASpider Solutions Nederland B.V." },
+ { 20432, "Cubic Telecom Limited" },
+ { 20433, "Truphone B.V." },
{ 20460, "Nextgen Mobile Ltd" },
- { 20461, "BodyTrace Netherlands B.V." },
+ { 20461, "Alcadis B.V." },
+ { 20462, "RGTN Wholesale Netherlands B.V." },
+ { 20463, "Messagebird BV" },
{ 20464, "Zetacom B.V." },
{ 20465, "AGMS Nederland B.V." },
{ 20466, "Utility Connect B.V." },
{ 20467, "RadioAccess B.V." },
{ 20468, "Roamware (Netherlands) B.V." },
- { 20469, "KPN Mobile The Netherlands B.V." },
+ { 20469, "KPN B.V." },
+ { 20491, "Enexis Netbeheer B.V." },
{ 20601, "Proximus" },
{ 20602, "N.M.B.S" },
+ { 20603, "Citymesh" },
+ { 20604, "MWINGZ (Proximus/Orange Belgium)" },
{ 20605, "Telenet" },
{ 20606, "Lycamobile sprl" },
{ 20607, "Mundio Mobile Belgium nv" },
{ 20608, "Nethys" },
{ 20610, "Orange Belgium" },
+ { 20611, "L-Mobi Mobile" },
{ 20620, "Telenet Group" },
+ { 20622, "FEBO Telecom" },
{ 20625, "Voyacom" },
{ 20628, "BICS SA" },
+ { 20629, "TISMI" },
{ 20630, "Unleashed" },
{ 20633, "Ericsson *test use only*" },
+ { 20634, "ONOFFAPP" },
{ 20650, "IP Nexia" },
- { 20801, "Orange" },
+ { 20699, "e-BO Enterprises" },
+ { 20801, "Orange" }, /* Annex E: MSIN range 0100000000-0199999999 are Orange/Monoco Télécom */
{ 20802, "Orange" },
{ 20803, "MobiquiThings" },
{ 20804, "Sisteer" },
@@ -932,35 +949,42 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 20809, "Société Française du Radiotéléphone" },
{ 20810, "Société Française du Radiotéléphone" },
{ 20811, "Société Française du Radiotéléphone" },
+ { 20812, "Truphone France" },
{ 20813, "Société Française du Radiotéléphone" },
{ 20814, "RFF" },
{ 20815, "Free Mobile" },
{ 20816, "Free Mobile" },
{ 20817, "Legos" },
- { 20819, "Altitude Infrastructure" },
+ { 20819, "Haute-Garonne numérique" },
{ 20820, "Bouygues Telecom" },
{ 20821, "Bouygues Telecom" },
{ 20822, "Transatel" },
{ 20823, "Syndicat mixte ouvert Charente Numérique" },
{ 20824, "MobiquiThings" },
{ 20825, "Lycamobile" },
- { 20826, "Euro-Information telecom" },
+ { 20826, "Bouygues Telecom Business - Distribution" },
{ 20827, "Coriolis Telecom" },
- { 20828, "Airbus defense ans space SAS" },
+ { 20828, "Airmob Infra Full" },
{ 20829, "Cubic télécom France" },
{ 20830, "Syma Mobile" },
{ 20831, "Vectone Mobile" },
{ 20832, "Orange" },
- { 20833, "Département des Pyrénées Atlantiques" },
+ { 20833, "Syndicat mixte La Fibre64" },
+ { 20834, "Cellhire (France)" },
+ { 20835, "Free mobile" },
+ { 20836, "Free mobile" },
+ { 20837, "IP Directions" },
+ { 20838, "Lebara France Limited" },
+ { 20839, "Netwo" },
{ 20886, "SEM@FOR77" },
- { 20887, "Régie Autonome des Transports Parisiens" },
+ { 20887, "AIRBUS DEFENCE AND SPACE SAS" },
{ 20888, "Bouygues Telecom" },
- { 20889, "Fondation b-com" },
+ { 20889, "Hub One" },
{ 20891, "Orange" },
{ 20893, "Thales communications & Security" },
{ 20894, "Halys" },
{ 20895, "Orange" },
- { 20896, "Axione" },
+ { 20896, "Région Bourgogne-Franche-Comté" },
{ 20897, "Thales communications & Security" },
{ 20898, "Société Air France" },
{ 21210, "Monaco Telecom" },
@@ -976,8 +1000,9 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 21409, "France Telecom España, SA" },
{ 21410, "ZINNIA TELECOMUNICACIONES, S.L.U." },
{ 21411, "TELECOM CASTILLA-LA MANCHA, S.A." },
- { 21412, "SAC CONVERGENT AGGREGATION SERVICES, S.L.U." },
+ { 21412, "VENUS MOVIL, S.L. UNIPERSONAL" },
{ 21413, "SYMA MOBILE ESPAÑA, S.L." },
+ { 21414, "AVATEL MÓVIL, S.L.U." },
{ 21416, "R CABLE Y TELECOMUNICACIONES GALICIA, S.A." },
{ 21417, "R Cable y Telecomunicaciones Galicia, SA" },
{ 21419, "E-Plus Móviles, SL" },
@@ -985,7 +1010,7 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 21422, "Best Spain Telecom, SL" },
{ 21423, "Xfera Móviles, S.A.U." },
{ 21424, "VODAFONE ESPAÑA, S.A.U." },
- { 21425, "Lycamobile, SL" },
+ { 21425, "XFERA MÓVILES, S.A. UNIPERSONAL" },
{ 21426, "Lleida Networks Serveis Telemátics, SL" },
{ 21427, "SCN Truphone SL" },
{ 21428, "Consorcio de Telecomunicaciones Avanzadas, S.A." },
@@ -996,14 +1021,17 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 21434, "AIRE NETWORKS DEL MEDITERRÁNEO, S.L. UNIPERSONAL" },
{ 21435, "INGENIUM OUTSOURCING SERVICES, S.L." },
{ 21436, "ALAI OPERADOR DE TELECOMUNICACIONES, S.L." },
+ { 21437, "VODAFONE ESPAÑA, S.A.U." },
{ 21438, "Telefónica Móviles España, SAU" },
{ 21451, "ENTIDAD PÚBLICA EMPRESARIAL ADMINISTRADOR DE INFRAESTRUCTURAS FERROVIARIAS" },
{ 21601, "Telenor Hungary Ltd" },
{ 21602, "MVM NET Ltd." },
{ 21603, "DIGI Telecommunication Ltd." },
+ { 21604, "Pro-M PrCo. Ltd." },
+ { 21620, "Yettel Hungary Ltd." },
{ 21630, "Magyar Telecom Plc" },
{ 21670, "Vodafone" },
- { 21671, "UPC Hungary Ltd" },
+ { 21671, "Vodafone Hungary Ltd" },
{ 21699, "MÁV Co." },
{ 21803, "Eronet Mobile Communications Ltd." },
{ 21805, "MOBI'S (Mobilina Srpske)" },
@@ -1041,7 +1069,7 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 22803, "Salt Mobile SA" },
{ 22805, "Comfone AG" },
{ 22806, "SBB AG" },
- { 22808, "TelCommunication Services AG" },
+ { 22808, "Sunrise Communications AG" },
{ 22809, "Comfone AG" },
{ 22811, "Swisscom Broadcast AG" },
{ 22812, "Sunrise Communications AG" },
@@ -1051,18 +1079,28 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 22855, "WeMobile SA" },
{ 22857, "Mitto AG" },
{ 22858, "Beeone Communications SA" },
+ { 22858, "Vectone Mobile Limited, London" },
{ 22860, "Sunrise Communications AG" },
{ 22862, "Telecom26 AG" },
{ 22863, "Fink Telecom Services" },
{ 22864, "NTH AG" },
+ { 22866, "Inovia Services SA" },
+ { 22867, "Datatrade Managed AG" },
+ { 22868, "Intellico AG" },
+ { 22869, "MTEL Schweiz GmbH" },
+ { 22870, "Tismi BV" },
+ { 22871, "Spusu AG" },
{ 23001, "T-Mobile Czech Republic a.s." },
- { 23002, "Telefónica O2 Czech Republic a.s." },
+ { 23002, "O2 Czech Republic a.s." },
{ 23003, "Vodafone Czech Republic a.s." },
- { 23004, "Air Telecom a.s." },
+ { 23004, "Nordic Telecom Regional s.r.o." },
{ 23005, "PODA a.s." },
{ 23006, "Nordic Telecom 5G a.s." },
+ { 23007, "T-Mobile Czech Republic a.s." },
{ 23008, "Compatel s.r.o" },
- { 23098, "Sprava Zeleznicni Dopravni Cesty" },
+ { 23009, "Uniphone, s.r.o" },
+ { 23011, "incrate s.r.o" },
+ { 23098, "Sprava zeleznic, statni organizace" },
{ 23101, "Orange, GSM" },
{ 23102, "Eurotel, GSM & NMT" },
{ 23104, "Eurotel, UMTS" },
@@ -1088,7 +1126,7 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 23220, "Mtel Austrija GmbH" },
{ 23291, "ÖBB - Infrastruktur AG" },
{ 23400, "British Telecom" },
- { 23401, "Mundio Mobile Limited" },
+ { 23401, "Vectone Mobile Limited" },
{ 23402, "Telefonica UK Limited" },
{ 23403, "Jersey Airtel Limited" },
{ 23404, "FMS Solutions Limited" },
@@ -1101,51 +1139,62 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 23411, "Telefonica UK Limited" },
{ 23412, "Network Rail Infrastructure Limited" },
{ 23413, "Network Rail Infrastructure Limited" },
- { 23414, "HAY SYSTEMS LIMITED" },
- { 23415, "Vodafone Uk Ltd" },
+ { 23414, "LINK MOBILITY UK LTD" },
+ { 23415, "Vodafone Limited" },
{ 23416, "TalkTalk Communications Limited" },
{ 23417, "FleXtel Limited" },
{ 23418, "Cloud9 Communications Limited" },
- { 23419, "TeleWare PLC" },
+ { 23419, "TeleWare Group PLC" },
{ 23420, "Hutchison 3G UK Limited" },
{ 23422, "Telesign Mobile Limited" },
{ 23423, "Icron Network Limited" },
{ 23424, "Stour Marine Limited" },
{ 23425, "Truphone Limited" },
{ 23426, "Lycamobile UK Limited" },
- { 23427, "Teleena UK Limited" },
+ { 23427, "Tata Communications Move UK Ltd" },
{ 23428, "Marathon Telecom Limited" },
- { 23429, "(aq) Limited trading as aql" },
+ { 23429, "(AQ) LIMITED" },
{ 23430, "EE Limited ( TM)" },
{ 23431, "EE Limited ( TM)" },
{ 23432, "EE Limited ( TM)" },
- { 23433, "Orange" },
- { 23434, "Orange" },
+ { 23433, "EE Limited (Orange)" },
+ { 23434, "EE Limited (Orange)" },
{ 23436, "Sure (Isle of Man) Limited" },
{ 23437, "Synectiv Ltd" },
{ 23438, "Virgin Mobile Telecoms Limited" },
{ 23439, "Gamma Telecom Holdings Ltd" },
- { 23450, "Jersey Telecom" },
+ { 23440, "Mass Response Service GmbH" },
+ { 23450, "JT (Jersey) Limited" },
{ 23451, "UK Broadband Limited" },
{ 23452, "Shyam Telecom UK Ltd" },
- { 23453, "Limitless Mobile Ltd" },
+ { 23453, "Tango Networks UK Ltd" },
{ 23454, "The Carphone Warehouse Limited" },
{ 23455, "Sure (Guernsey) Limited" },
- { 23456, "CESG" },
+ { 23456, "The National Cyber Security Centre" },
{ 23457, "Sky UK Limited" },
- { 23458, "Manx Telecom" },
+ { 23458, "MANX TELECOM TRADING LIMITED" },
{ 23459, "Limitless Mobile Ltd" },
{ 23470, "AMSUK Limited" },
{ 23471, "Home Office" },
+ { 23472, "Hanhaa Limited" },
+ { 23473, "BlueWave Communications" },
+ { 23474, "Pareteum Europe B.V." },
{ 23476, "British Telecom" },
+ { 23477, "Vodafone Limited" },
{ 23478, "Airwave Solutions Ltd" },
{ 23486, "EE Limited ( TM)" },
- { 23500, "Mundio Mobile Limited" },
+ { 23488, "Telet Research (N.I.) Limited" },
+ { 23500, "Vectone Mobile Limited" },
{ 23501, "EE Limited ( TM)" },
{ 23502, "EE Limited ( TM)" },
{ 23503, "UK Broadband Limited" },
+ { 23504, "University Of Strathclyde" },
+ { 23506, "University Of Strathclyde" },
+ { 23507, "University Of Strathclyde" },
+ { 23508, "Spitfire Network Services Limited" },
{ 23577, "British Telecom" },
- { 23591, "Vodafone Uk Ltd" },
+ { 23588, "Telet Research (N.I.) Limited" },
+ { 23591, "Vodafone Limited" },
{ 23592, "Vodafone Ltd (C&W)" },
{ 23594, "Hutchison 3G UK Limited" },
{ 23595, "Network Rail Infrastructure Limited" },
@@ -1174,6 +1223,7 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 23866, "TT-Netvaerket P/S" },
{ 23873, "Onomondo ApS" },
{ 23877, "Telenor" },
+ { 23888, "Cobira ApS" },
{ 23896, "Telia Danmark" },
{ 24001, "Telia Sverige AB" },
{ 24002, "Hi3G Access AB" },
@@ -1187,33 +1237,34 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 24010, "Tele2 Sverige AB" },
{ 24011, "ComHem AB" },
{ 24012, "Lycamobile Sweden Limited" },
- { 24013, "A3 Företag AB" },
+ { 24013, "Bredband2 Allmänna IT AB" },
{ 24014, "Tele2 Business AB" },
{ 24015, "Sierra Wireless Sweden AB" },
{ 24016, "42 Telecom AB" },
{ 24017, "Götalandsnätet AB" },
{ 24018, "Generic Mobile Systems Sweden AB" },
{ 24019, "Vecton Mobile (Sweden) Ltd" },
- { 24020, "Wireless Maingate Messaging Services AB" },
+ { 24020, "Sierra Wireless Messaging AB" },
{ 24021, "Trafikverket centralfunktion IT" },
{ 24022, "EuTel AB" },
{ 24023, "Infobip LTD (UK)" },
{ 24024, "Net4Mobility HB" },
{ 24025, "Monty UK Global Limited" },
- { 24026, "Twilio Sweden AB" },
+ { 24026, "Twilio Ireland Ltd." },
{ 24027, "GlobeTouch AB" },
{ 24028, "LINK Mobile A/S" },
- { 24029, "Mercury International Carrier Services" },
+ { 24029, "MI Carrier Services AB" },
{ 24031, "RebTel Networks AB" },
{ 24032, "Compatel Limited" },
{ 24033, "Mobile Arts AB" },
{ 24034, "Trafikverket centralfunktion IT" },
{ 24035, "42 Telecom LTD" },
{ 24036, "interactive digital media GmbH" },
- { 24037, "CLX Networks AB" },
+ { 24037, "Sinch Sweden AB" },
{ 24038, "Voxbone SA" },
{ 24039, "Primlight AB" },
- { 24040, "North net connect AB" },
+ { 24040, "Netmore Group AB" },
+ { 24041, "Telenor Sverige AB" },
{ 24042, "Telenor Connexion AB" },
{ 24043, "MobiWeb Ltd." },
{ 24044, "Telenabler AB" },
@@ -1221,7 +1272,8 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 24046, "SMS Provider Corp." },
{ 24047, "Viatel Sweden AB" },
{ 24048, "Tismi BV" },
- { 24060, "Telefonaktiebolaget LM Ericsson (MNC assigned for test purpose. Temporary license until 2019-12-31)" },
+ { 24049, "Telia Sverige AB" },
+ { 24060, "Västra Götalandsregionen (temporary assigned until 2026-12-31)" },
{ 24061, "MessageBird B.V." },
{ 24063, "Fink Telecom Services" },
{ 24065, "shared use for closed networks" },
@@ -1303,6 +1355,18 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 24814, "Estonian Crafts OÜ" },
{ 24816, "SmartTel Plus OÜ" },
{ 24817, "Baltergo OÜ" },
+ { 24818, "CLOUD COMMUNICATIONS OÜ" },
+ { 24819, "OkTelecom OÜ" },
+ { 24820, "DOTT Telecom OÜ" },
+ { 24821, "Tismi B.V." },
+ { 24822, "M2MConnect OÜ" },
+ { 24824, "Novametro OÜ" },
+ { 24826, "It-Decision Telecom OÜ" },
+ { 24828, "Nord Connect OÜ" },
+ { 24829, "SkyTel OÜ" },
+ { 24830, "Mediafon Carrier Services OÜ" },
+ { 24831, "YATECO OÜ" },
+ { 24832, "Narayana OÜ" },
{ 24871, "Siseministeerium (Ministry of Interior)" },
{ 25001, "Mobile Telesystems" },
{ 25002, "Megafon" },
@@ -1423,7 +1487,7 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 27002, "MTX Connect S.à r.l." },
{ 27007, "Bouygues Telecom S.A." },
{ 27010, "Join Experience S.A." },
- { 27077, "Tango S.A." },
+ { 27077, "Proximus Luxembourgh S.A." },
{ 27078, "Interactive Digital Media GmbH" },
{ 27079, "Mitto A.G." },
{ 27080, "Syniverse Technologies S.à r.l." },
@@ -1442,8 +1506,9 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 27217, "Three Ireland (Hutchison) Ltd" },
{ 27218, "Cubic Telecom Limited" },
{ 27221, "Net Feasa Limited" },
+ { 27268, "Office of the Government Chief Information Officer" },
{ 27401, "Iceland Telecom Ltd." },
- { 27402, "Og fjarskipti hf (Vodafone Iceland)" },
+ { 27402, "Og fjarskipti hf (Vodafone Iceland)" }, /* Annex E: MSIN beginning with 9 are P/F Kall, reg. No 2868 (Vodafone FO) in Faroe Islands */
{ 27403, "Og fjarskipti hf (Vodafone Iceland)" },
{ 27404, "IMC Islande ehf" },
{ 27407, "IceCell ehf" },
@@ -1451,11 +1516,11 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 27602, "Vodafone Albania" },
{ 27603, "Eagle Mobile" },
{ 27604, "Mobile 4 AL" },
- { 27801, "Vodafone Malta" },
+ { 27801, "Epic Communications Ltd" },
{ 27811, "YOM" },
- { 27821, "go mobile" },
+ { 27821, "GO mobile" },
{ 27830, "GO Mobile" },
- { 27877, "3G Telecommunications Ltd" },
+ { 27877, "Melita Ltd" },
{ 28001, "CYTA" },
{ 28002, "CYTA" },
{ 28010, "Scancom (Cyprus) Ltd." },
@@ -1475,6 +1540,8 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 28212, "\"Telecom1\" LTD" },
{ 28213, "\"Asanet\" LTD" },
{ 28214, "\"Datahouseglobal” LTD" },
+ { 28215, "\"Servicebox\" LTD" },
+ { 28222, "\"Myphone\" LTD" },
{ 28401, "Mobiltel EAD" },
{ 28405, "Globul" },
{ 28601, "Turkcell" },
@@ -1484,11 +1551,15 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 28801, "Faroese Telecom - GSM" },
{ 28802, "Kall GSM" },
{ 28803, "Sp/f Tosa" },
+ { 28810, "Faroese Telecom" },
{ 29001, "Tele Greenland" },
{ 29002, "inu:it a/s" },
+ { 29003, "GTV" },
{ 29201, "Prima San Marino / San Marino Telecom" },
{ 29310, "Slovenske železnice – Infrastruktura d.o.o." },
+ { 29311, "BeeIN d.o.o." },
{ 29320, "Compatel Limited" },
+ { 29321, "Novatel d.o.o." },
{ 29340, "A1 Slovenija d.d." },
{ 29341, "Telekom Slovenije d.d." },
{ 29364, "T-2 d.o.o." },
@@ -1499,18 +1570,21 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 29404, "Company for telecommunications LYCAMOBILE LLC-Skopje" },
{ 29410, "WTI Macedonia" },
{ 29411, "MOBIK TELEKOMUNIKACII DOOEL- Skopje" },
+ { 29412, "MTEL DOOEL Skopje" },
{ 29501, "Swisscom Schweiz AG" },
{ 29502, "Salt (Liechtenstein) AG" },
{ 29505, "Telecom Liechtenstein AG" },
{ 29506, "Cubic AG" },
{ 29507, "First Mobile AG" },
{ 29509, "Emnify GmbH" },
- { 29510, "SORACOM LI, LTD." },
+ { 29510, "SORACOM CORPORATION, LTD." },
+ { 29511, "DIMOCO Messaging AG" },
{ 29701, "Telenor Montenegro" },
{ 29702, "Crnogorski Telekom" },
{ 29703, "Mtel Montenegro" },
{ 30801, "SAS SPM Telecom" },
{ 30802, "Globaltel" },
+ { 30803, "SAS SPM Telecom" },
{ 34001, "Orange Caraïbe" },
{ 34002, "Outremer Telecom" },
{ 34003, "United telecommunications services Caraïbe" },
@@ -1545,13 +1619,14 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 40004, "\"Azerfon\" LLC" },
{ 40005, "Special State Protection Service of the Republic of Azerbaijan" },
{ 40006, "\"Nakhtel\" LLC" },
- { 40101, "Beeline / K-Mobile" },
- { 40102, "Kcell / Activ" },
+ { 40101, "Kar-Tel llc" },
+ { 40102, "TSC Kazak Telecom" },
{ 40107, "Altel / Dalacom" },
{ 40108, "Kazakhtelecom CDMA2000" },
{ 40177, "Tele2 / NEO" },
- { 40211, "Bhutan Telecom Ltd" },
- { 40217, "B-Mobile of Bhutan Telecom" },
+ { 40211, "Bhutan Telecom Limited (Bmobile)" },
+ { 40217, "Bhutan Telecom Limited (Bmobile)" },
+ { 40277, "Tashi InfoComm Limited (Tashi Cell)" },
{ 40400, "Dishnet Wireless Ltd, Madhya Pradesh" },
{ 40401, "Aircell Digilink India Ltd., Haryana" },
{ 40402, "Bharti Airtel Ltd., Punjab" },
@@ -1712,7 +1787,8 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 41603, "Umniah" },
{ 41677, "MobileCom" },
{ 41701, "Syriatel" },
- { 41702, "Spacetel Syria / MTN Syria" },
+ { 41702, "MTN Syria" },
+ { 41703, "WAFA Telecom" },
{ 41709, "Syrian Telecom" },
{ 41805, "Asia Cell" },
{ 41820, "Zain Iraq (previously Atheer)" },
@@ -1747,6 +1823,7 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 42202, "Oman Mobile Telecommunications Company (Oman Mobile)" },
{ 42203, "Oman Qatari Telecommunications Company (Nawras)" },
{ 42204, "Oman Telecommunications Company (Omantel)" },
+ { 42206, "Vodafone Oman" },
{ 42402, "Etisalat" },
{ 42501, "Partner Communications Co. Ltd." },
{ 42502, "Cellcom Israel Ltd" },
@@ -1767,10 +1844,12 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 42519, "Azi Communications Ltd" },
{ 42520, "Bezeq Ltd" },
{ 42521, "B.I.P Communications Ltd." },
+ { 42522, "Maskyoo Telephonia Ltd." },
{ 42523, "Beezz Communication Solutions Ltd." },
{ 42524, "012 Telecom Ltd." },
{ 42525, "IMOD" },
{ 42526, "LB Annatel Ltd." },
+ { 42527, "BITIT Ltd." },
{ 42528, "PHI Networks" },
{ 42529, "CG Networks" },
{ 42601, "Bahrain Telecommunications Company (BATELCO)" },
@@ -1778,19 +1857,39 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 42603, "Civil Aviation Authority" },
{ 42604, "STC Bahrain" },
{ 42605, "Royal Court" },
+ { 42606, "STC Bahrain" },
+ { 42607, "TAIF" },
{ 42701, "QATARNET" },
{ 42706, "Ooredoo Q.S.C./MOI LTE" },
{ 42899, "Mobicom" },
{ 42901, "Nepal Telecommunications" },
- { 43208, "Shatel Mobile" },
- { 43211, "Telecommunication Company of Iran (TCI)" },
- { 43214, "Telecommunication Kish Co. (KIFZO)" },
+ { 43201, "KISH CELL PARS" },
+ { 43202, "NEGIN ERTEBATAT AVA" },
+ { 43203, "PARSIAN HAMRAH LOTUS" },
+ { 43204, "TOSE E FANAVARI ERTEBATAT NOVIN HAMRAH" },
+ { 43205, "HAMRAH HOSHMAND AYANDEH" },
+ { 43206, "ERTEBATAT ARYANTEL" },
+ { 43207, "HOOSHMAND AMIN MOBILE" },
+ { 43208, "TOSE-E ERTEBATAT HAMRAH SHATEL" },
+ { 43209, "HIWEB" },
+ { 43211, "MCI (Mobile Communications of Iran)" },
+ { 43212, "HIWEB" },
+ { 43213, "HIWEB" },
+ { 43214, "Kish Free Zone Organization" },
{ 43219, "Telecommunication Company of Iran (TCI) - Isfahan Celcom GSM" },
{ 43220, "Rightel" },
- { 43232, "Taliya" },
- { 43235, "MTN/IranCell" },
- { 43250, "Arya Resaneh Tadbir (Shatel)" },
- { 43270, "MTCE" },
+ { 43232, "TCI (Telecommunication Company of Iran)" },
+ { 43235, "IRANCELL" },
+ { 43244, "ERTEBATAT MOBIN NET" },
+ { 43245, "FARABORD DADEHAYE IRANIAN" },
+ { 43246, "HIWEB" },
+ { 43249, "GOSTARESH ERTEBATAT MABNA" },
+ { 43250, "SHATEL" },
+ { 43251, "PISHGAMAN TOSE-E ERTEBATAT" },
+ { 43252, "ASIATECH" },
+ { 43270, "TCI (Telecommunication Company of Iran)" },
+ { 43271, "ERTEBATAT KOOHE NOOR" },
+ { 43293, "ERTEBATAT FARZANEGAN PARS" },
{ 43401, "Buztel" },
{ 43402, "Uzmacom" },
{ 43404, "Daewoo Unitel" },
@@ -1811,20 +1910,29 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 43801, "Barash Communication Technologies (BCTI)" },
{ 43802, "TM-Cell" },
{ 44000, "SoftBank Corp." },
- { 44001, "UQ Communications Inc." },
+ { 44001, "KDDI Corporation" },
{ 44002, "Hanshin Cable Engineering Co. Ltd." },
{ 44003, "Internet Initiative Japan Inc." },
{ 44004, "Japan Radio Co., Ltd." },
{ 44005, "Wireless City Planning Inc." },
{ 44006, "SAKURA Internet Inc." },
- { 44007, "LTE-X, Inc." },
- { 44008, "Panasonic Systems Solutions Japan Co., Ltd" },
- { 44009, "Marubeni Wireless Communications Inc." },
+ { 44007, "closip, Inc." },
+ { 44008, "Panasonic Connect Co., Ltd" },
+ { 44009, "Marubeni Network Solutions Inc." },
{ 44010, "NTT DOCOMO, INC." },
{ 44011, "Rakuten Mobile Network, Inc." },
{ 44012, "CABLE MEDIA WAIWAI CORPORATION" },
+ { 44013, "NTT Communications Corporation" },
+ { 44014, "GRAPE ONE LTD." },
+ { 44015, "BB Backbone Corp." },
+ { 44016, "Nokia Innovations Japan G.K." },
+ { 44017, "OSAKA GAS BUSINESS CREATE CORPORATION" },
+ { 44018, "Kintetsu Cable Network, Ltd" },
+ { 44019, "NEC Networks & System Integration Corporation" },
{ 44020, "SoftBank Corp." },
{ 44021, "SoftBank Corp." },
+ { 44022, "JTOWER Inc." },
+ { 44023, "FUJITSU LIMITED" },
{ 44050, "KDDI Corporation" },
{ 44051, "KDDI Corporation" },
{ 44052, "KDDI Corporation" },
@@ -1891,6 +1999,8 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 45430, "China Data Enterprises Ltd" },
{ 45431, "China Telecom Global Limited" },
{ 45432, "Hong Kong Broadband Network Ltd" },
+ { 45435, "Webbing Hong Kong Limited" },
+ { 45436, "Easco Telecommunications Limited" },
{ 45500, "SmarTone – Comunicações Móveis, S.A." },
{ 45501, "Companhia de Telecomunicações de Macau, S.A.R.L." },
{ 45502, "China Telecom (Macau) Limitada" },
@@ -1907,9 +2017,11 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 45606, "Smart" },
{ 45608, "Viettel" },
{ 45618, "Mfone" },
- { 45701, "Lao Telecommunications" },
- { 45702, "ETL Mobile" },
- { 45708, "Millicom" },
+ { 45701, "Lao Telecommunication Public Company" },
+ { 45702, "ETL Company Limited" },
+ { 45703, "Star Telecom Co., Ltd" },
+ { 45707, "Best Telecom Co., Ltd" },
+ { 45708, "TPLUS Digital Sole Company Limited" },
{ 46000, "China Mobile" },
{ 46001, "China Unicom" },
{ 46002, "China Mobile" },
@@ -1978,14 +2090,21 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 50546, "ANGLOGOLD ASHANTI AUSTRALIA LTD" },
{ 50547, "Woodside Energy Limited" },
{ 50548, "Titan ICT Pty Ltd" },
+ { 50549, "Field Solutions Group Pty Ltd" },
{ 50550, "Pivotel Group Pty Limited" },
+ { 50551, "Fortescue Metals Group Ltd" },
+ { 50552, "Optitel Pty Ltd" },
+ { 50553, "Shell Australia Pty Ltd" },
+ { 50555, "New South Wales Government Telecommunications Authority" },
+ { 50556, "Nokia Solutions and Networks Pty Ltd" },
+ { 50557, "CiFi Pty Ltd" },
{ 50561, "Commtel Network Solutions Pty Ltd" },
{ 50562, "NBNCo Limited" },
{ 50568, "NBNCo Limited" },
{ 50571, "Telstra Corporation Ltd." },
{ 50572, "Telstra Corporation Ltd." },
{ 50588, "Pivotel Group Pty Limited" },
- { 50590, "Optus Ltd." },
+ { 50590, "UE Access Pty Ltd" },
{ 50599, "One.Tel GSM 1800 Pty. Ltd." },
{ 51000, "PSN" },
{ 51001, "Satelindo" },
@@ -2026,17 +2145,19 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 52803, "Unified National Networks Sdn Bhd (UNN)" },
{ 52811, "DST Com" },
{ 53000, "Reserved for AMPS MIN based IMSI's" },
- { 53001, "Vodafone New Zealand GSM Network" },
+ { 53001, "One New Zealand Group Limited" },
{ 53002, "Teleom New Zealand CDMA Network" },
{ 53003, "Woosh Wireless - CDMA Network" },
- { 53004, "TelstraClear - GSM Network" },
+ { 53004, "One New Zealand Group Limited" },
{ 53005, "Telecom New Zealand - UMTS Ntework" },
{ 53006, "FX Networks Ltd" },
- { 53007, "Bluereach Limited" },
+ { 53007, "Dense Air New Zealand Ltd" },
+ { 53011, "Interim Māori Spectrum Commission" },
{ 53024, "NZ Communications - UMTS Network" },
{ 53701, "Bmobile" },
{ 53702, "Telikom PNG Ltd" },
{ 53703, "Digicel Ltd" },
+ { 53704, "Digitec Communication Limited" },
{ 53901, "Tonga Communications Corporation" },
{ 53943, "Digicel" },
{ 53988, "Digicel (Tonga) Ltd" },
@@ -2169,6 +2290,7 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 63090, "Africell RDC" },
{ 63102, "Unitel" },
{ 63104, "Movicel" },
+ { 63105, "AFRICELL" },
{ 63201, "Guinétel S.A." },
{ 63202, "Spacetel Guinea-Bissau S.A." },
{ 63301, "Cable and wireless (Seychelles) Ltd" },
@@ -2195,10 +2317,13 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 63907, "Telkom Kenya Limited" },
{ 63909, "Homeland Media Group Limited" },
{ 63910, "Jamii Telecommunications Limited" },
+ { 63911, "Jambo Telecoms Limited" },
+ { 63912, "Infura Limited" },
{ 64002, "MIC Tanzania Limited (Tigo)" },
{ 64003, "Zanzibar Telecom Limited (Zantel)" },
{ 64004, "Vodacom Tanzania Limited" },
{ 64005, "Airtel Tanzania Limited" },
+ { 64006, "WIA Company Limited" },
{ 64007, "Tanzania Telecommunications Company Limited" },
{ 64009, "Viettel Tanzania Limited (Halotel)" },
{ 64011, "Smile Communications Tanzania Ltd" },
@@ -2206,6 +2331,7 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 64014, "MO Mobile Holding Limited" },
{ 64101, "Airtel Uganda Limited" },
{ 64104, "Tangerine Uganda Limited" },
+ { 64108, "Talkio Mobile Limited" },
{ 64110, "MTN Uganda Limited" },
{ 64111, "Uganda Telecom Limited" },
{ 64116, "SimbaNET Uganda Limited" },
@@ -2226,6 +2352,7 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 64501, "Celtel Zambia Ltd." },
{ 64502, "Telecel Zambia Ltd." },
{ 64503, "Zamtel" },
+ { 64507, "Liquid Telecom Zambia Limited" },
{ 64601, "Celtel Madagascar (Zain), GSM" },
{ 64602, "Orange Madagascar, GSM" },
{ 64604, "Telecom Malagasy Mobile, GSM" },
@@ -2260,6 +2387,7 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 65402, "TELMA / TELCO SA" },
{ 65501, "Vodacom (Pty) Ltd." },
{ 65502, "Telkom SA Ltd" },
+ { 65503, "Telkom SA SOC Ltd" },
{ 65505, "Telkom SA Ltd" },
{ 65506, "Sentech (Pty) Ltd." },
{ 65507, "Cell C (Pty) Ltd." },
@@ -2287,6 +2415,8 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 65565, "Vodacom Pty Ltd" },
{ 65573, "Wireless Business Solutions (Pty) Ltd" },
{ 65574, "Wireless Business Solutions (Pty) Ltd" },
+ { 65576, "Comsol Networks (Pty) Ltd" },
+ { 65577, "K2015315513 (Pty) Ltd t\\a One Telecom (Pty) Ltd" },
{ 65801, "Sure South Atlantic Ltd. (Ascension)" },
{ 65912, "Sudani/Sudatel" },
{ 65991, "Zain-South Sudan" },
@@ -2295,6 +2425,7 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 65997, "Gemtel" },
{ 70267, "Belize Telecommunications Ltd., GSM 1900" },
{ 70269, "SMART/Speednet Communications Ltd." },
+ { 70401, "Servicios de Comunicaciones Personales Inalámbricas, S.A. (SERCOM, S.A" },
{ 70402, "Comunicaciones Celulares S.A." },
{ 70403, "Telefónica Centroamérica Guatemala S.A." },
{ 70601, "CTE Telecom Personal, S.A. de C.V." },
@@ -2308,9 +2439,10 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 71204, "Telefónica de Costa Rica TC, S.A." },
{ 71220, "Virtualis" },
{ 71401, "Cable & Wireless Panama S.A." },
- { 71402, "BSC de Panama S.A." },
+ { 71402, "Grupo de Comunicaciones Digitales, S.A. (TIGO)" },
{ 71403, "Claro Panamá, S.A." },
{ 71404, "Digicel (Panamá), S.A." },
+ { 71405, "Cable & Wireless Panamá, S.A." },
{ 71610, "TIM Peru" },
{ 72400, "NEXTEL" },
{ 72401, "SISTEER DO BRASIL TELECOMUNICAÇÔES (MVNO)" },
@@ -2323,7 +2455,9 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 72411, "Telefônica Brasil S.A." },
{ 72415, "SERCOMTEL" },
{ 72416, "BRT CELULAR" },
+ { 72417, "SURF TELECOM S.A." },
{ 72418, "DATORA (MVNO)" },
+ { 72421, "LIGUE" },
{ 72423, "Telefônica Brasil S.A." },
{ 72424, "AMAZONIA CELULAR" },
{ 72430, "TNL PCS Oi" },
@@ -2367,14 +2501,17 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 73403, "GALAXY ENTERTAINMENT DE VENEZUELA C.A." },
{ 73404, "Telcel, C.A." },
{ 73406, "Telecomunicaciones Movilnet, C.A." },
+ { 73408, "PATRIACELL C.A." },
{ 73601, "Nuevatel S.A." },
{ 73602, "ENTEL S.A." },
{ 73603, "Telecel S.A." },
+ { 73800, "E-Networks Inc." },
{ 73801, "U-Mobile (Cellular) Inc." },
{ 73805, "eGovernment Unit, Ministry of the Presidency" },
{ 74000, "Otecel S.A. - Bellsouth" },
{ 74001, "Porta GSM" },
{ 74002, "Telecsa S.A." },
+ { 74204, "Free Caraïbe" },
{ 74401, "Hóla Paraguay S.A." },
{ 74402, "Hutchison Telecom S.A." },
{ 74403, "Compañia Privada de Comunicaciones S.A." },
@@ -2384,7 +2521,11 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 74801, "Administración Nacional de Telecomunicaciones (ANTEL)" },
{ 74807, "Telefónica Móviles del Uruguay S.A. (Movistar)" },
{ 74810, "AM Wireless Uruguay S.A. (Claro)" },
+ { 74815, "ENALUR S.A." },
+ { 90101, "Webbing" },
+ { 90102, "GlobalmatiX AG" },
{ 90103, "Iridium Communications Inc" },
+ { 90104, "BBIX Singapore Pte. Ltd." },
{ 90105, "Thuraya RMSS Network" },
{ 90106, "Thuraya Satellite Telecommunications Company" },
{ 90111, "Inmarsat Ltd." },
@@ -2395,7 +2536,7 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 90116, "Cisco Systems, Inc." },
{ 90117, "Jersey Telecom" },
{ 90118, "Cingular Wireless" },
- { 90119, "Vodafone Malta (Monaco Telecom)" },
+ { 90119, "Epic Communications Limited (Monaco Telecom)" },
{ 90120, "Intermatica" },
{ 90121, "Wins Limited (Formerly Seanet Maritime Communications AB)" },
{ 90122, "MediaLincc Ltd" },
@@ -2422,11 +2563,11 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 90146, "Telecom26 AG" },
{ 90147, "Ooredoo" },
{ 90148, "Com4 Sweden AB" },
- { 90149, "Zain Kuwait" },
+ { 90149, "Mobile Telecommunications Company K.S.C.P. (Formerly Zain Kuwait)" },
{ 90150, "Sawatch Limited/EchoStar Mobile Limited" },
{ 90151, "VisionNG" },
{ 90152, "Manx Telecom Trading Ltd." },
- { 90153, "Deutsche Telekom AG" },
+ { 90153, "Inmarsat Ltd. (replacing Deutsche Telekom AG)" },
{ 90154, "Teleena Holding B.V." },
{ 90155, "Beezz Communication Solutions Ltd." },
{ 90156, "European Telecommunications Standards Institute (ETSI)" },
@@ -2445,9 +2586,34 @@ static const value_string mcc_mnc_2digits_codes[] = {
{ 90169, "Legos" },
{ 90170, "Clementvale Baltic OÜ" },
{ 90171, "Tampnet AS" },
- { 90172, "Tele2 IoT" },
+ { 90172, "Tele2 Sverige Aktiebolag (Formerly Tele2 IoT)" },
{ 90173, "Cubic Telecom Limited" },
+ { 90174, "Etisalat" },
+ { 90175, "Podsystem Ltd." },
+ { 90176, "A1 Telekom Austria AG" },
+ { 90177, "Bouygues Telecom" },
+ { 90178, "Telecom Italia Sparkle S.p.A." },
+ { 90179, "Nokia Corporation" },
+ { 90180, "Flo Live Limited" },
+ { 90181, "Airnity SAS" },
+ { 90182, "Eseye Limited" },
+ { 90183, "iBasis Netherlands BV" },
+ { 90184, "TELEFONICA MOVILES ESPAÑA, S.A. UNIPERSONAL (TME)" },
+ { 90185, "Telefónica Germany GmbH & Co. OHG" },
+ { 90186, "BJT PARTNERS SAS" },
+ { 90187, "Cisco Systems, Inc." },
{ 90188, "UN Office for the Coordination of Humanitarian Affairs (OCHA)" },
+ { 90189, "DIDWW Ireland Limited" },
+ { 90190, "Truphone Limited" },
+ { 90191, "World Mobile Group Limited" },
+ { 90192, "Phonegroup SA" },
+ { 90193, "SkyFive AG" },
+ { 90194, "Intelsat US LLC" },
+ { 90195, "HMD Global Oy" },
+ { 90196, "KORE Wireless" },
+ { 90197, "Satelio IoT Services S.L." },
+ { 90198, "Skylo Technologies, Inc." },
+ { 90199, "Athalos Global Services BV" },
{ 90201, "MulteFire Alliance" },
{ 99101, "World's Global Telecom (temporary assignment for trial until 14.I.2021)" },
{ 99999, "Internal use, example, testing" },
@@ -2459,13 +2625,33 @@ value_string_ext mcc_mnc_2digits_codes_ext = VALUE_STRING_EXT_INIT(mcc_mnc_2digi
static const value_string mcc_mnc_3digits_codes[] = {
{ 208500, "EDF" },
{ 208700, "Weaccess group" },
+ { 208701, "GIP Vendée numérique" },
+ { 208702, "17-Numérique" },
+ { 208703, "Nivertel" },
+ { 208704, "Axione Limousin" },
+ { 208705, "Hautes-Pyrénées Numérique" },
+ { 208706, "Tours Métropole Numérique" },
+ { 208707, "Sartel THD" },
+ { 208708, "Melis@ territoires ruraux" },
+ { 208709, "Quimper communauté télécom" },
+ { 208710, "Losange" },
+ { 208711, "Nomotech" },
+ { 208712, "Syndicat Audois d'énergies et du Numérique" },
+ { 208713, "SD NUM SAS" },
+ { 208714, "Département de l'Isère" },
+ { 214700, "IBERDROLA ESPAÑA, S.A.UNIPERSONAL" },
+ { 214701, "ENDESA DISTRIBUCIÓN ELÉCTRICA, S.L." },
{ 302100, "Data on Tap Inc." },
{ 302130, "Xplornet Communications" },
{ 302131, "Xplornet Communications" },
+ { 302140, "Fibernetics Corporation" },
{ 302150, "Cogeco Connexion Inc." },
+ { 302151, "Cogeco Connexion Inc." },
+ { 302152, "Cogeco Connexion Inc." },
{ 302220, "Telus Mobility" },
{ 302221, "Telus Mobility" },
{ 302222, "Telus Mobility" },
+ { 302230, "ISP Telecom" },
{ 302250, "ALO Mobile Inc" },
{ 302270, "Bragg Communications" },
{ 302290, "Airtel Wireless" },
@@ -2485,7 +2671,7 @@ static const value_string mcc_mnc_3digits_codes[] = {
{ 302530, "Keewatinook Okimacinac" },
{ 302550, "Star Solutions International Inc." },
{ 302560, "Lynx Mobility" },
- { 302570, "Light Squared" },
+ { 302570, "Ligado Networks Corp." },
{ 302590, "Quadro Communication" },
{ 302600, "Iristel Inc." },
{ 302610, "Bell Mobility" },
@@ -2496,19 +2682,25 @@ static const value_string mcc_mnc_3digits_codes[] = {
{ 302660, "MTS Mobility" },
{ 302670, "CityTel Mobility" },
{ 302680, "Sask Tel Mobility" },
+ { 302681, "SaskTel Mobility" },
{ 302690, "Bell Mobility" },
{ 302710, "Globalstar" },
{ 302720, "Rogers Wireless" },
{ 302721, "Rogers Communications Canada Inc. (Wireless)" },
{ 302730, "TerreStar Solutions" },
- { 302740, "Shaw Telecom G.P." },
+ { 302740, "Rogers Communications Canada Inc." },
+ { 302741, "Rogers Communications Canada Inc." },
{ 302760, "Public Mobile Inc" },
{ 302770, "Rural Com" },
{ 302780, "Sask Tel Mobility" },
+ { 302781, "SaskTel Mobility" },
+ { 302848, "Vocom International Telecommunications, Inc" },
{ 302860, "Telus Mobility" },
{ 302880, "Telus/Bell shared" },
{ 302940, "Wightman Telecom" },
{ 302990, "Test" },
+ { 302996, "Powertech Labs (experimental)" },
+ { 302998, "Institu de Recherche d’Hydro-Québec (experimental)" },
{ 310010, "Verizon Wireless" },
{ 310012, "Verizon Wireless" },
{ 310013, "Verizon Wireless" },
@@ -2517,13 +2709,14 @@ static const value_string mcc_mnc_3digits_codes[] = {
{ 310020, "Union Telephone Company" },
{ 310030, "AT&T Mobility" },
{ 310035, "ETEX Communications, LP (d/b/a) ETEX Wireless" },
+ { 310040, "Mobi" },
{ 310050, "Alaska Wireless Networks" },
{ 310070, "AT&T Mobility" },
{ 310080, "AT&T Mobility" },
{ 310090, "AT&T Mobility" },
- { 310100, "New Mexico RSA 4 East Ltd. Partnership" },
- { 310110, "Pacific Telecom Inc" },
- { 310120, "Sprint" },
+ { 310100, "New Mexico RSA 4 East Limited Partnership" },
+ { 310110, "PTI Pacifica, Inc." },
+ { 310120, "T-Mobile USA" },
{ 310130, "Carolina West Wireless" },
{ 310140, "GTA Wireless LLC" },
{ 310150, "AT&T Mobility" },
@@ -2552,17 +2745,18 @@ static const value_string mcc_mnc_3digits_codes[] = {
{ 310390, "TX-11 Acquistion LLC" },
{ 310400, "Wave Runner LLC" },
{ 310410, "AT&T Mobility" },
+ { 310420, "World Mobile Networks, Inc" },
{ 310430, "GCI Communications Corp" },
{ 310440, "Numerex Corp" },
{ 310450, "North East Cellular Inc." },
- { 310460, "Newcore Wireless" },
+ { 310460, "Eseye" },
{ 310470, "Docomo Pacific Inc" },
- { 310480, "Wave Runner LLC" },
+ { 310480, "PTI Pacifica, Inc." },
{ 310490, "T-Mobile USA" },
{ 310500, "Public Service Cellular, Inc." },
{ 310510, "Nsight" },
{ 310520, "Transactions Network Services (TNS)" },
- { 310530, "Iowa Wireless Services LLC dba | Wireless" },
+ { 310530, "T-Mobile" },
{ 310540, "Oklahoma Western Telephone Company" },
{ 310550, "Syniverse Technologies" },
{ 310570, "Broadpoint, LLC (former PetroCom, LLC) c/o MTPCS, LLC dba CellularOne" },
@@ -2579,7 +2773,7 @@ static const value_string mcc_mnc_3digits_codes[] = {
{ 310599, "Verizon Wireless" },
{ 310600, "NewCell dba Cellcom" },
{ 310620, "Nsighttel Wireless, LLC" },
- { 310630, "Agri-Valley Broadband, Inc" },
+ { 310630, "Choice Wireless" },
{ 310640, "Numerex Corp" },
{ 310650, "JASPER TECHNOLOGIES INC." },
{ 310660, "T-Mobile USA" },
@@ -2593,12 +2787,12 @@ static const value_string mcc_mnc_3digits_codes[] = {
{ 310740, "Viaero Wireless" },
{ 310750, "East Kentucky Network LLC dba Appalachian Wireless" },
{ 310760, "Lynch 3G Communications Corporation" },
- { 310770, "Iowa Wireless Services LLC dba I Wireless" },
+ { 310770, "T-Mobile" },
{ 310790, "PinPoint Communications Inc." },
{ 310800, "T-Mobile USA" },
{ 310810, "Pacific Lightwave Inc." },
{ 310820, "Verizon Wireless" },
- { 310830, "Sprint" },
+ { 310830, "T-Mobile USA" },
{ 310840, "Telecom North America Mobile Inc" },
{ 310850, "Aeris Communications, Inc." },
{ 310860, "West Central Wireless" },
@@ -2617,7 +2811,7 @@ static const value_string mcc_mnc_3digits_codes[] = {
{ 310910, "Verizon Wireless" },
{ 310920, "James Valley Wireless LLC" },
{ 310930, "Copper Valley Wireless" },
- { 310940, "Tyntec Inc." },
+ { 310940, "Tyntec Limited" },
{ 310950, "AT&T Mobility" },
{ 310960, "UBET Wireless" },
{ 310970, "Globalstar USA" },
@@ -2634,7 +2828,7 @@ static const value_string mcc_mnc_3digits_codes[] = {
{ 311090, "AT&T Mobility" },
{ 311100, "Nex-Tech Wireless LLC" },
{ 311110, "Verizon Wireless" },
- { 311120, "Wave Runner LLC" },
+ { 311120, "PTI Pacifica, Inc." },
{ 311140, "Cross Telephone Company" },
{ 311150, "Wilkes Cellular Inc." },
{ 311170, "Tampnet (formerly Broadpoint, LLC (former PetroCom, LLC) c/o MTPCS, LL" },
@@ -2642,6 +2836,9 @@ static const value_string mcc_mnc_3digits_codes[] = {
{ 311190, "AT&T Mobility" },
{ 311210, "Telnyx LLC" },
{ 311220, "United States Cellular" },
+ { 311225, "U.S. Cellular" },
+ { 311228, "U.S. Cellular" },
+ { 311229, "U.S. Cellular" },
{ 311230, "Cellular South Inc." },
{ 311240, "Cordova Wireless Communications Inc" },
{ 311250, "Wave Runner LLC" },
@@ -2680,7 +2877,7 @@ static const value_string mcc_mnc_3digits_codes[] = {
{ 311410, "Iowa RSA No. 2 Limited Partnership" },
{ 311420, "Northwest Cell" },
{ 311430, "RSA 1 Limited Partnership dba Cellular 29 Plus" },
- { 311440, "Bluegrass Cellular LLC" },
+ { 311440, "Verizon Wireless" },
{ 311450, "Panhandle Telecommunication Systems Inc." },
{ 311460, "ELECTRIC IMP INCORPORATED" },
{ 311470, "Vitelcom Cellular D/B/A Innovative Wireless" },
@@ -2694,12 +2891,17 @@ static const value_string mcc_mnc_3digits_codes[] = {
{ 311487, "Verizon Wireless" },
{ 311488, "Verizon Wireless" },
{ 311489, "Verizon Wireless" },
- { 311490, "Sprint" },
+ { 311490, "T-Mobile USA" },
+ { 311500, "Mobi" },
{ 311510, "Ligado Networks" },
- { 311530, "Newcore Wireless LLC" },
+ { 311530, "WorldCell Solutions LLC" },
+ { 311540, "Coeur Rochester, Inc" },
{ 311550, "Commnet Midwest, LLC" },
{ 311560, "OTZ Communications Inc" },
+ { 311570, "Medicom" },
{ 311580, "U.S. Cellular" },
+ { 311588, "U.S. Cellular" },
+ { 311589, "U.S. Cellular" },
{ 311590, "Verizon Wireless" },
{ 311600, "Limitless Mobile, LLC" },
{ 311610, "North Dakota Network Co." },
@@ -2721,21 +2923,22 @@ static const value_string mcc_mnc_3digits_codes[] = {
{ 311770, "Altiostar Networks, Inc." },
{ 311780, "The American Samoa Telecommunications Authority" },
{ 311790, "Coleman County Telephone Cooperative, Inc." },
- { 311800, "Bluegrass Cellular LLC" },
- { 311810, "Blegrass Cellular LLC" },
- { 311820, "Sonus Networks" },
+ { 311800, "Verizon Wireless" },
+ { 311810, "Verizon Wireless" },
+ { 311820, "Ribbon Communications" },
{ 311830, "Thumb Cellular LLC" },
{ 311840, "Nsight" },
{ 311850, "Nsight" },
{ 311860, "Uintah Basin Electronic Telecommunications" },
- { 311870, "Sprint" },
- { 311880, "Sprint" },
- { 311882, "Sprint" },
+ { 311870, "T-Mobile USA" },
+ { 311880, "T-Mobile USA" },
+ { 311882, "T-Mobile" },
{ 311890, "Globecomm Network Services Corporation" },
{ 311900, "Gigsky Inc." },
{ 311910, "SI Wireless LLC" },
{ 311920, "Missouri RSA No 5 Partnership" },
- { 311940, "Sprint" },
+ { 311930, "Cox Communications" },
+ { 311940, "T-Mobile USA" },
{ 311950, "Sunman Telecommunications corp." },
{ 311970, "Big River Broadband LLC" },
{ 311980, "LigTel Communications" },
@@ -2754,13 +2957,13 @@ static const value_string mcc_mnc_3digits_codes[] = {
{ 312160, "RSA1 Limited Partnership dba Chat Mobility" },
{ 312170, "Iowa RSA No. 2 Limited Partnership" },
{ 312180, "Limitless Mobile, LLC" },
- { 312190, "Sprint" },
+ { 312190, "T-Mobile USA" },
{ 312210, "ASPENTA, LLC" },
{ 312220, "Chariton Valley Communications Corporation" },
{ 312230, "SRT Communications Inc." },
{ 312240, "Sprint" },
- { 312250, "Sprint" },
- { 312260, "Central LTE Holdings" },
+ { 312250, "T-Mobile USA" },
+ { 312260, "WorldCell Solutions LLC" },
{ 312270, "Cellular Network Partnership dba Pioneer Cellular" },
{ 312280, "Cellular Network Partnership dba Pioneer Cellular" },
{ 312290, "Uintah Basin Electronic Telecommunications" },
@@ -2783,10 +2986,10 @@ static const value_string mcc_mnc_3digits_codes[] = {
{ 312480, "Sagebrush Cellular, Inc." },
{ 312490, "TrustComm, Inc" },
{ 312510, "Wue" },
- { 312530, "Sprint" },
+ { 312530, "T-Mobile USA" },
{ 312550, "Great Plains Communications, Inc" },
{ 312570, "Buffalo-Lake Erie Wireless Systems Co., LLC" },
- { 312580, "Morgan, Lewis & Bockius LLP" },
+ { 312580, "Google LLC" },
{ 312590, "Northern Michigan University" },
{ 312600, "Sagebrush Cellular, Inc." },
{ 312620, "GlobeTouch Inc." },
@@ -2815,6 +3018,7 @@ static const value_string mcc_mnc_3digits_codes[] = {
{ 312880, "Albemarle County Public Schools" },
{ 312890, "Circle Gx" },
{ 312900, "Flat West Wireless, LLC" },
+ { 312910, "East Kentucky Network LLC dba Appalachian Wireless" },
{ 312920, "Northeast Wireless Networks" },
{ 312930, "Hewlett-Packard Communication Services, LLC" },
{ 312940, "Webformix" },
@@ -2824,9 +3028,9 @@ static const value_string mcc_mnc_3digits_codes[] = {
{ 312980, "Mark Twain Communications Company" },
{ 312990, "PREMIER HOLDINGS, LLC" },
{ 313000, "Tennessee Wireless" },
- { 313010, "Cross Wireless LLC dba Sprocket Wireless" },
+ { 313010, "Cross Wireless LLC dba Bravado Wireless" },
{ 313020, "CTC Telecom, INC. dba CTC Wireless" },
- { 313030, "Eagle Telephone System, INC dba Snake River PCS" },
+ { 313030, "AT&T Mobility" },
{ 313040, "Nucla-Naturita Telephone Company" },
{ 313050, "Manti Tele Communications Company, Inc. dba Breakaway Wireless" },
{ 313060, "Country Wireless" },
@@ -2853,7 +3057,7 @@ static const value_string mcc_mnc_3digits_codes[] = {
{ 313260, "Expeto Wireless Inc." },
{ 313280, "King Street Wireless, LP" },
{ 313290, "Gulf Coast Broadband LLC" },
- { 313300, "Cambio WiFi of Delmarva, LLC." },
+ { 313300, "Southern California Edison" },
{ 313310, "CAL.NET, INC" },
{ 313320, "Paladin Wireless" },
{ 313330, "CenturyTel Broadband Services LLC" },
@@ -2864,11 +3068,11 @@ static const value_string mcc_mnc_3digits_codes[] = {
{ 313380, "OptimERA Inc." },
{ 313390, "Altice USA Wireless, Inc." },
{ 313400, "Texoma Communications, LLC" },
- { 313410, "pdvWireless" },
+ { 313410, "Anterix Inc." },
{ 313420, "Hudson Valley Wireless" },
{ 313440, "Arvig Enterprises INC" },
{ 313450, "Spectrum Wireless Holdings, LLC" },
- { 313460, "Mobi, Inc." },
+ { 313460, "Mobi" },
{ 313470, "San Diego Gas & Electric Company" },
{ 313480, "Ready Wireless, LLC" },
{ 313490, "Puloli, Inc" },
@@ -2877,13 +3081,13 @@ static const value_string mcc_mnc_3digits_codes[] = {
{ 313520, "Florida Broadband, Inc" },
{ 313540, "Nokia Innovations US LLC" },
{ 313550, "Mile High Networks LLC" },
- { 313560, "Transit Wireless, LLC" },
+ { 313560, "Boldyn Networks Transit US LLC" },
{ 313570, "Celular Network Partnership" },
{ 313580, "Telecall Telecommuncations Corp." },
{ 313590, "Southern Communications Services, Inc. D/B/A Southern Linc" },
{ 313600, "ST Engineering iDirect" },
- { 313610, "Crystal Automation Systems, Inc." },
- { 313620, "Screened Images" },
+ { 313610, "Point Broadband Fiber Holding, LLC" },
+ { 313620, "Omniprophis Corporation" },
{ 313630, "LICT Corporation" },
{ 313640, "Geoverse" },
{ 313650, "Chevron USA INC" },
@@ -2895,13 +3099,37 @@ static const value_string mcc_mnc_3digits_codes[] = {
{ 313710, "Extent Systems" },
{ 313720, "1st Point Communications, LLC" },
{ 313730, "TruAccess Networks" },
- { 313740, "RTO Wireless, LLC" },
- { 313750, "313-CellTex Networks, LLC" },
- { 313760, "Hologram, Inc." },
+ { 313740, "RTO Wireless" },
+ { 313750, "CellTex Networks, LLC" },
+ { 313760, "Hologram" },
{ 313770, "Tango Networks" },
+ { 313780, "Windstream Services LLC" },
+ { 313790, "Liberty Cablevision of Puerto Rico LLC" },
+ { 313810, "W.A.T.C.H. TV Co. dba Watch Communications" },
+ { 313820, "Inland Cellular Telephone Company" },
+ { 313830, "360 communications INC" },
+ { 313840, "Celblox Acquisitions" },
+ { 313850, "Softcom Internet Communications, Inc." },
+ { 313860, "AMG Technology Investment Group dba Nextlink Internet" },
+ { 313870, "Elektrafi LLC" },
+ { 313880, "Shuttle Wireless Solutions Inc." },
+ { 313890, "Tulare County Office of Education" },
+ { 313900, "All Tribal Networks" },
+ { 313910, "San Diego Gas and Electric" },
+ { 313920, "JCI US INC" },
+ { 313930, "Standing Rock Telecom" },
+ { 313940, "Motorola Solutions, Inc" },
+ { 313950, "Cheyenne and Arapaho Development Group" },
+ { 313960, "Townes 5G, LLC" },
+ { 313970, "Tychron Corporation" },
+ { 313990, "Ericsson US" },
{ 314010, "Boingo Wireless Inc" },
{ 314020, "Spectrum Wireless Holdings, LLC" },
{ 314030, "Baicells Technologies North America Inc." },
+ { 314060, "Texas A&M University System – RELLIS Campus" },
+ { 314070, "Texas A&M University System – RELLIS Campus" },
+ { 314080, "Texas A&M University System – RELLIS Campus" },
+ { 314090, "Southern Communications Services, Inc. D/B/A Southern Linc" },
{ 314100, "RESERVED FOR PUBLIC SAFETY" },
{ 314110, "RESERVED FOR PUBLIC SAFETY" },
{ 314120, "RESERVED FOR PUBLIC SAFETY" },
@@ -2912,24 +3140,71 @@ static const value_string mcc_mnc_3digits_codes[] = {
{ 314170, "RESERVED FOR PUBLIC SAFETY" },
{ 314180, "RESERVED FOR PUBLIC SAFETY" },
{ 314190, "RESERVED FOR PUBLIC SAFETY" },
+ { 314200, "XF Wireless Investments" },
+ { 314210, "Telecom Resource Center" },
+ { 314220, "Secrus Technologies" },
+ { 314230, "Trace-Tek" },
+ { 314240, "XF Wireless Investments" },
+ { 314260, "AT&T Mobility" },
+ { 314270, "AT&T Mobility" },
+ { 314280, "Pollen Mobile LLC" },
+ { 314290, "Wave" },
+ { 314310, "Terranet" },
+ { 314320, "Agri-Valley Communications, Inc" },
+ { 314330, "Nova Labs Inc." },
+ { 314340, "E-MARCONI LLC" },
+ { 314350, "Evergy" },
+ { 314360, "Oceus Networks, LLC" },
+ { 314370, "Texas A&M University – ITEC" },
+ { 314380, "Circle Computer Resources, Inc." },
+ { 314390, "AT&T" },
+ { 314400, "Cellular South Inc. dba C Spire" },
+ { 314410, "Peeringhub Inc" },
+ { 314420, "Cox Communications, Inc" },
+ { 314430, "Highway9 Networks, Inc." },
+ { 314440, "Tecore Global Services, LLC" },
+ { 314450, "NUWAVE Communications, Inc." },
+ { 314460, "Texas A&M University" },
+ { 314470, "Manhattan Telecommunications Corporation LLC" },
+ { 314480, "Xcel Energy Services Inc." },
+ { 314490, "Utah Education and Telehealth Network (UETN)" },
+ { 314500, "Aetheros Inc" },
+ { 314510, "SI Wireless LLC" },
+ { 314520, "Oklahoma Gas & Electric Company (OG&E)" },
+ { 314530, "Agile Networks" },
+ { 314540, "RGTN USA, Inc." },
{ 316010, "Sprint" },
{ 316011, "Southern Communications Services Inc." },
+ { 316700, "Mile High Networks LLC" },
{ 334001, "COMUNICACIONES DIGITALES DEL NORTE, S.A. DE C.V" },
- { 334010, "NII DIGITAL, S. DE R.L. DE C.V." },
+ { 334010, "AT&T COMUNICACIONES DIGITALES, S. DE R.L. DE C.V." },
{ 334020, "RADIOMOVIL DIPSA, S.A. DE C.V." },
- { 334030, "PEGASO COMUNICACIONES Y SISTEMAS, S.A. DE C.V." },
- { 334040, "IUSACELL PCS DE MEXICO, S.A. DE C.V." },
- { 334050, "COMUNICACIONES CELULARES DE OCCIDENTE, S.A. DE C.V. / SISTEMAS TELEFONICOS PORTATILES CELULARES, S.A. DE C.V. / TELECOMUNICACIONES DEL GOLFO, S.A. DE C.V. / SOS TELECOMUNICACIONES, S.A. DE C.V. / PORTATEL DEL SURESTE, S.A. DE C.V." },
+ { 334030, "PEGASO PCS, S.A. DE C.V." },
+ { 334040, "AT&T NORTE, S. DE R.L. DE C.V. Y AT&T DESARROLLO EN COMUNICACIONES DE MÉXICO, S. DE R.L. DE C.V." },
+ { 334050, "GRUPO AT&T CELULLAR, S. DE R.L. DE C.V." },
{ 334060, "SERVICIOS DE ACCESO INALAMBRICO, S.A DE C.V." },
{ 334066, "TELÉFONOS DE MÉXICO, S.A.B. DE C.V" },
- { 334070, "OPERADORA UNEFON, S. A. DE C.V." },
- { 334080, "OPERADORA UNEFON, S. A. DE C.V." },
- { 334090, "NII DIGITAL, S. DE R.L. DE C.V." },
+ { 334070, "AT&T COMERCIALIZACIÓN MÓVIL, S. DE R.L. DE C.V." },
+ { 334080, "AT&T COMERCIALIZACIÓN MÓVIL, S. DE R.L. DE C.V." },
+ { 334090, "AT&T COMUNICACIONES DIGITALES, S. DE R.L. DE C.V." },
+ { 334100, "TELECOMUNICACIONES DE MÉXICO" },
+ { 334110, "MAXCOM TELECOMUNICACIONES, S.A.B. DE C.V." },
+ { 334120, "QUICKLY PHONE, S.A. DE C.V." },
+ { 334130, "AXTEL, S.A.B. DE C.V." },
+ { 334140, "ALTÁN REDES, S.A.P.I. DE C.V." },
+ { 334150, "ULTRAVISIÓN, S.A. DE C.V." },
+ { 334160, "CABLEVISIÓN RED, S.A. DE C.V." },
+ { 334170, "OXIO MOBILE, S.A. DE C.V." },
+ { 334180, "FREEDOMPOP MÉXICO, S.A. DE C.V." },
+ { 334190, "VIASAT TECNOLOGÍA, S.A. DE C.V." },
{ 338040, "Symbiote Investment Limited" },
{ 338050, "Digicel (Jamaica) Ltd" },
+ { 338080, "Rock Mobile Limited" },
{ 338110, "Cable and Wireless Jamaica Ltd" },
{ 342600, "Cable & Wireless (Barbados) Ltd. trading as Lime" },
- { 342820, "Sunbeach Communications" },
+ { 342646, "KW Telecommunications Inc." },
+ { 342800, "Ozone" },
+ { 342820, "Neptune Communications Inc." },
{ 344030, "APUA PCS" },
{ 344920, "Cable & Wireless (Antigua) trading as Lime" },
{ 344930, "AT&T Wireless (Antigua)" },
@@ -2940,6 +3215,7 @@ static const value_string mcc_mnc_3digits_codes[] = {
{ 348570, "Caribbean Cellular Telephone Ltd." },
{ 348770, "Digicel (BVI) Ltd" },
{ 350000, "Bermuda Digital Communications Ltd (CellOne)" },
+ { 350007, "Paradise Mobile" },
{ 352110, "Cable & Wireless Grenada ltd trading as lime" },
{ 354860, "Cable & Wireless (West Indies) Ltd trading as Lime" },
{ 356110, "Cable & Wireless St Kitts & Nevis Ltd trading as Lime" },
@@ -2961,6 +3237,7 @@ static const value_string mcc_mnc_3digits_codes[] = {
{ 405011, "Reliance Communications Ltd/GSM, Kerala" },
{ 405012, "Reliance Infocomm Ltd, Andhra Pradesh" },
{ 405013, "Reliance Communications Ltd/GSM, Maharashtra" },
+ { 405014, "Reliance Communications Ltd/GSM, Madhya Pradesh" },
{ 405018, "Reliance Communications Ltd/GSM, Punjab" },
{ 405020, "Reliance Communications Ltd/GSM, Tamilnadu" },
{ 405021, "Reliance Communications Ltd/GSM, UP (East)" },
@@ -3003,10 +3280,24 @@ static const value_string mcc_mnc_3digits_codes[] = {
{ 405807, "Dishnet Wireless Ltd, Haryana" },
{ 405808, "Dishnet Wireless Ltd, Madhya Pradesh" },
{ 405809, "Dishnet Wireless Ltd, Kerala" },
+ { 441200, "SORACOM, Inc." },
+ { 441201, "Aurens Co.,Ltd." },
+ { 441202, "Sony Wireless Communications Inc." },
+ { 441203, "GujoCity" },
+ { 441204, "Wicom Inc." },
+ { 441205, "KATCH NETWORK INC." },
+ { 441206, "MITSUBISHI ELECTRIC CORPORATION" },
+ { 441207, "Mitsui Knowledge Industry Co., Ltd." },
+ { 441208, "CHUDENKO CORPORATION" },
+ { 441209, "Cable Television TOYAMA Inc." },
+ { 441210, "NIPPON TELEGRAPH AND TELEPHONE EAST CORPORATION" },
+ { 441211, "STARCAT CABLE NETWORK Co., LTD." },
+ { 441212, "I-TEC Solutions Co., Ltd." },
+ { 441213, "Hokkaido Telecommunication Network Co., Inc." },
{ 708001, "Megatel" },
{ 708002, "Celtel" },
{ 708040, "Digicel Honduras" },
- { 714020, "Telefónica Móviles Panamá S.A." },
+ { 714020, "Grupo de Comunicaciones Digitales, S.A. (TIGO)" },
{ 722010, "Compañia de Radiocomunicaciones Moviles S.A." },
{ 722020, "Nextel Argentina srl" },
{ 722070, "Telefónica Comunicaciones Personales S.A." },
@@ -3026,6 +3317,7 @@ static const value_string mcc_mnc_3digits_codes[] = {
{ 732130, "Avantel" },
{ 738002, "Guyana Telephone & Telegraph Company Limited (Cellink)" },
{ 738003, "Quark Communications Inc." },
+ { 738040, "E-Networks Inc." },
{ 750001, "Touch" },
{ 999999, "Internal use, example, testing" },
{ 1666665, "Unset" },
diff --git a/epan/dissectors/packet-epl.c b/epan/dissectors/packet-epl.c
index 4dbc5156..4dcd4195 100644
--- a/epan/dissectors/packet-epl.c
+++ b/epan/dissectors/packet-epl.c
@@ -3870,18 +3870,15 @@ dissect_epl_sdo_command(proto_tree *epl_tree, tvbuff_t *tvb, packet_info *pinfo,
proto_tree_add_item(sdo_cmd_tree, hf_epl_asnd_sdo_cmd_segmentation, tvb, offset, 1, ENC_LITTLE_ENDIAN);
- if (segment_size != 0)
- {
- offset += 1;
- proto_tree_add_item(sdo_cmd_tree, hf_epl_asnd_sdo_cmd_command_id, tvb, offset, 1, ENC_LITTLE_ENDIAN);
- offset += 1;
+ offset += 1;
+ proto_tree_add_item(sdo_cmd_tree, hf_epl_asnd_sdo_cmd_command_id, tvb, offset, 1, ENC_LITTLE_ENDIAN);
+ offset += 1;
- item = proto_tree_add_item(sdo_cmd_tree, hf_epl_asnd_sdo_cmd_segment_size, tvb, offset, 2, ENC_LITTLE_ENDIAN);
- offset += 4;
- if ( tvb_reported_length_remaining(tvb, offset) < segment_size )
- expert_add_info_format(pinfo, item, &ei_real_length_differs,
- "Captured length differs, only %d octets will be displayed", tvb_reported_length_remaining(tvb, offset) - 4 );
- }
+ item = proto_tree_add_item(sdo_cmd_tree, hf_epl_asnd_sdo_cmd_segment_size, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ offset += 4;
+ if ( tvb_reported_length_remaining(tvb, offset) < segment_size )
+ expert_add_info_format(pinfo, item, &ei_real_length_differs,
+ "Captured length differs, only %d octets will be displayed", tvb_reported_length_remaining(tvb, offset) - 4 );
if (segmented == EPL_ASND_SDO_CMD_SEGMENTATION_INITIATE_TRANSFER)
{
diff --git a/epan/dissectors/packet-fcfzs.c b/epan/dissectors/packet-fcfzs.c
index 4cbf5193..82a55f70 100644
--- a/epan/dissectors/packet-fcfzs.c
+++ b/epan/dissectors/packet-fcfzs.c
@@ -116,9 +116,13 @@ dissect_fcfzs_zoneset(tvbuff_t *tvb, packet_info* pinfo, proto_tree *tree, int o
len = tvb_get_guint8(tvb, offset);
proto_tree_add_item(tree, hf_fcfzs_zonesetnmlen, tvb, offset,
1, ENC_BIG_ENDIAN);
- proto_tree_add_item(tree, hf_fcfzs_zonesetname, tvb, offset+4,
+ offset += 4;
+ proto_tree_add_item(tree, hf_fcfzs_zonesetname, tvb, offset,
len, ENC_ASCII);
- offset += 4 + len + (4-(len % 4));
+ offset += len;
+ /* Fill Bytes */
+ if (len % 4)
+ offset += 4 - (len % 4);
/* Number of zones */
@@ -131,9 +135,13 @@ dissect_fcfzs_zoneset(tvbuff_t *tvb, packet_info* pinfo, proto_tree *tree, int o
len = tvb_get_guint8(tvb, offset);
proto_tree_add_item(tree, hf_fcfzs_zonenmlen, tvb, offset,
1, ENC_BIG_ENDIAN);
- proto_tree_add_item(tree, hf_fcfzs_zonename, tvb, offset+4,
+ offset += 4;
+ proto_tree_add_item(tree, hf_fcfzs_zonename, tvb, offset,
len, ENC_ASCII);
- offset += 4 + len + (4-(len % 4));
+ offset += len;
+ /* Fill Bytes */
+ if (len % 4)
+ offset += 4 - (len % 4);
nummbrs = tvb_get_ntohl(tvb, offset);
proto_tree_add_item(tree, hf_fcfzs_nummbrentries, tvb, offset,
diff --git a/epan/dissectors/packet-gquic.c b/epan/dissectors/packet-gquic.c
index 372bd405..c6aea314 100644
--- a/epan/dissectors/packet-gquic.c
+++ b/epan/dissectors/packet-gquic.c
@@ -1435,6 +1435,7 @@ dissect_gquic_tag(tvbuff_t *tvb, packet_info *pinfo, proto_tree *gquic_tree, gui
proto_tree_add_item(tag_tree, hf_gquic_tag_value, tvb, tag_offset_start + tag_offset, tag_len, ENC_NA);
+ increment_dissection_depth(pinfo);
switch(tag){
case TAG_PAD:
proto_tree_add_item(tag_tree, hf_gquic_tag_pad, tvb, tag_offset_start + tag_offset, tag_len, ENC_NA);
@@ -1491,7 +1492,6 @@ dissect_gquic_tag(tvbuff_t *tvb, packet_info *pinfo, proto_tree *gquic_tree, gui
scfg_tag_number = tvb_get_guint32(tvb, tag_offset_start + tag_offset, ENC_LITTLE_ENDIAN);
tag_offset += 4;
- // We recurse here, but we're limited by tree depth checks in epan
dissect_gquic_tag(tvb, pinfo, tag_tree, tag_offset_start + tag_offset, scfg_tag_number);
tag_offset += tag_len - 4 - 4;
}
@@ -1714,6 +1714,8 @@ dissect_gquic_tag(tvbuff_t *tvb, packet_info *pinfo, proto_tree *gquic_tree, gui
tag_offset += tag_len;
break;
}
+ decrement_dissection_depth(pinfo);
+
if(tag_offset != offset_end){
/* Wrong Tag len... */
proto_tree_add_expert(tag_tree, pinfo, &ei_gquic_tag_unknown, tvb, tag_offset_start + tag_offset, tag_len);
diff --git a/epan/dissectors/packet-grpc.c b/epan/dissectors/packet-grpc.c
index a459fde2..b71a272b 100644
--- a/epan/dissectors/packet-grpc.c
+++ b/epan/dissectors/packet-grpc.c
@@ -136,11 +136,14 @@ static int ett_grpc_message = -1;
static int ett_grpc_encoded_entity = -1;
static dissector_handle_t grpc_handle;
+static dissector_handle_t grpc_web_handle;
+static dissector_handle_t grpc_web_text_handle;
static dissector_handle_t data_text_lines_handle;
/* the information used during dissecting a grpc message */
typedef struct {
gboolean is_request; /* is request or response message */
+ grpc_protocol_type_t proto_type;
const gchar* path; /* is http2 ":path" or http request_uri, format: "/" Service-Name "/" {method name} */
const gchar* content_type; /* is http2 or http content-type, like: application/grpc */
const gchar* encoding; /* is grpc-encoding header containing compressed method, for example "gzip" */
@@ -158,18 +161,6 @@ typedef struct {
*/
static dissector_table_t grpc_message_type_subdissector_table;
-static grpc_protocol_type_t
-get_grpc_protocol_type(const gchar* content_type) {
- if (content_type != NULL) {
- if (g_str_has_prefix(content_type, "application/grpc-web-text")) {
- return GRPC_PTYPE_GRPC_WEB_TEXT;
- } else if (g_str_has_prefix(content_type, "application/grpc-web")) {
- return GRPC_PTYPE_GRPC_WEB;
- }
- }
- return GRPC_PTYPE_GRPC;
-}
-
/* Try to dissect grpc message according to grpc message info or http2 content_type. */
static void
dissect_body_data(proto_tree *grpc_tree, packet_info *pinfo, tvbuff_t *tvb, const gint offset,
@@ -335,13 +326,11 @@ dissect_grpc_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, grpc_co
guint32 message_length;
guint offset = 0;
guint tvb_len = tvb_reported_length(tvb);
- grpc_protocol_type_t proto_type;
const gchar* proto_name;
- DISSECTOR_ASSERT_HINT(grpc_ctx && grpc_ctx->content_type && grpc_ctx->path, "The content_type and path of grpc context must be set.");
+ DISSECTOR_ASSERT(grpc_ctx != NULL);
- proto_type = get_grpc_protocol_type(grpc_ctx->content_type);
- proto_name = val_to_str_const(proto_type, grpc_protocol_type_vals, "GRPC");
+ proto_name = val_to_str_const(grpc_ctx->proto_type, grpc_protocol_type_vals, "GRPC");
if (!grpc_embedded_under_http2 && proto_tree_get_parent_tree(tree)) {
tree = proto_tree_get_parent_tree(tree);
@@ -395,41 +384,31 @@ dissect_grpc_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, grpc_co
return tvb_captured_length(tvb);
}
-static int
-dissect_grpc(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, void* data)
+static grpc_context_info_t*
+get_grpc_context(packet_info *pinfo, const media_content_info_t *content_info)
{
- int ret;
http_req_res_t* curr_req_res;
- tvbuff_t* real_data_tvb;
- grpc_context_info_t grpc_ctx = { 0 };
- media_content_info_t* content_info = (media_content_info_t*)data;
- gboolean is_grpc_web_text = g_str_has_prefix(pinfo->match_string, "application/grpc-web-text");
-
- if (is_grpc_web_text) {
- real_data_tvb = base64_tvb_to_new_tvb(tvb, 0, tvb_reported_length(tvb));
- add_new_data_source(pinfo, real_data_tvb, "Decoded base64 body");
- } else {
- real_data_tvb = tvb;
- }
+ grpc_context_info_t* grpc_ctx = wmem_new0(pinfo->pool, grpc_context_info_t);
if (proto_is_frame_protocol(pinfo->layers, "http2")) {
- grpc_ctx.path = http2_get_header_value(pinfo, HTTP2_HEADER_PATH, FALSE);
- grpc_ctx.is_request = (grpc_ctx.path != NULL);
- if (grpc_ctx.path == NULL) {
+ grpc_ctx->path = http2_get_header_value(pinfo, HTTP2_HEADER_PATH, FALSE);
+ grpc_ctx->is_request = (grpc_ctx->path != NULL);
+ if (grpc_ctx->path == NULL) {
/* this must be response, so we get it from http2 request stream */
- grpc_ctx.path = http2_get_header_value(pinfo, HTTP2_HEADER_PATH, TRUE);
+ /* XXX - Not necessarily true if the data has errors. */
+ grpc_ctx->path = http2_get_header_value(pinfo, HTTP2_HEADER_PATH, TRUE);
}
- grpc_ctx.content_type = http2_get_header_value(pinfo, HTTP2_HEADER_CONTENT_TYPE, FALSE);
- grpc_ctx.encoding = http2_get_header_value(pinfo, HTTP2_HEADER_GRPC_ENCODING, FALSE);
+ grpc_ctx->content_type = http2_get_header_value(pinfo, HTTP2_HEADER_CONTENT_TYPE, FALSE);
+ grpc_ctx->encoding = http2_get_header_value(pinfo, HTTP2_HEADER_GRPC_ENCODING, FALSE);
}
else if (proto_is_frame_protocol(pinfo->layers, "http")) {
curr_req_res = (http_req_res_t*)p_get_proto_data(wmem_file_scope(), pinfo, proto_http, 0);
DISSECTOR_ASSERT_HINT(curr_req_res && content_info, "Unexpected error: HTTP request/reply or HTTP message info not available.");
- grpc_ctx.is_request = (content_info->type == MEDIA_CONTAINER_HTTP_REQUEST);
- grpc_ctx.path = curr_req_res->request_uri;
- grpc_ctx.content_type = pinfo->match_string; /* only for grpc-web(-text) over http1.1 */
+ grpc_ctx->is_request = (content_info->type == MEDIA_CONTAINER_HTTP_REQUEST);
+ grpc_ctx->path = curr_req_res->request_uri;
+ grpc_ctx->content_type = pinfo->match_string; /* only for grpc-web(-text) over http1.1 */
if (content_info->data) {
- grpc_ctx.encoding = (const gchar*)wmem_map_lookup((wmem_map_t *)content_info->data, HTTP2_HEADER_GRPC_ENCODING);
+ grpc_ctx->encoding = (const gchar*)wmem_map_lookup((wmem_map_t *)content_info->data, HTTP2_HEADER_GRPC_ENCODING);
}
}
else {
@@ -437,13 +416,52 @@ dissect_grpc(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, void* data)
DISSECTOR_ASSERT_NOT_REACHED();
}
- ret = dissect_grpc_common(real_data_tvb, pinfo, tree, &grpc_ctx);
+ return grpc_ctx;
+}
- if (is_grpc_web_text) {
- /* convert reassembly the lengths of offset and remaining bytes back to the base64 lengths */
- pinfo->desegment_offset = BASE64_ENCODE_SIZE(pinfo->desegment_offset);
- pinfo->desegment_len = BASE64_ENCODE_SIZE(pinfo->desegment_len);
- }
+static int
+dissect_grpc(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, void* data)
+{
+ grpc_context_info_t* grpc_ctx;
+ media_content_info_t* content_info = (media_content_info_t*)data;
+
+ grpc_ctx = get_grpc_context(pinfo, content_info);
+ grpc_ctx->proto_type = GRPC_PTYPE_GRPC;
+
+ return dissect_grpc_common(tvb, pinfo, tree, grpc_ctx);
+}
+
+static int
+dissect_grpc_web(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, void* data)
+{
+ grpc_context_info_t* grpc_ctx;
+ media_content_info_t* content_info = (media_content_info_t*)data;
+
+ grpc_ctx = get_grpc_context(pinfo, content_info);
+ grpc_ctx->proto_type = GRPC_PTYPE_GRPC_WEB;
+
+ return dissect_grpc_common(tvb, pinfo, tree, grpc_ctx);
+}
+
+static int
+dissect_grpc_web_text(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, void* data)
+{
+ int ret;
+ tvbuff_t* real_data_tvb;
+ grpc_context_info_t* grpc_ctx;
+ media_content_info_t* content_info = (media_content_info_t*)data;
+
+ real_data_tvb = base64_tvb_to_new_tvb(tvb, 0, tvb_reported_length(tvb));
+ add_new_data_source(pinfo, real_data_tvb, "Decoded base64 body");
+
+ grpc_ctx = get_grpc_context(pinfo, content_info);
+ grpc_ctx->proto_type = GRPC_PTYPE_GRPC_WEB_TEXT;
+
+ ret = dissect_grpc_common(real_data_tvb, pinfo, tree, grpc_ctx);
+
+ /* convert reassembly the lengths of offset and remaining bytes back to the base64 lengths */
+ pinfo->desegment_offset = BASE64_ENCODE_SIZE(pinfo->desegment_offset);
+ pinfo->desegment_len = BASE64_ENCODE_SIZE(pinfo->desegment_len);
return ret;
}
@@ -525,7 +543,9 @@ proto_register_grpc(void)
expert_grpc = expert_register_protocol(proto_grpc);
expert_register_field_array(expert_grpc, ei, array_length(ei));
- grpc_handle = register_dissector("grpc", dissect_grpc, proto_grpc);
+ grpc_handle = register_dissector_with_description("grpc", "gRPC", dissect_grpc, proto_grpc);
+ grpc_web_handle = register_dissector_with_description("grpc_web", "gRPC Web", dissect_grpc_web, proto_grpc);
+ grpc_web_text_handle = register_dissector_with_description("grpc_web_text", "gRPC Web Text", dissect_grpc_web_text, proto_grpc);
/*
* Dissectors can register themselves in this table as grpc message
@@ -539,17 +559,26 @@ proto_register_grpc(void)
void
proto_reg_handoff_grpc(void)
{
+ int i;
+
char *content_types[] = {
"application/grpc",
"application/grpc+proto",
"application/grpc+json",
+ NULL /* end flag */
+ };
+
+ char *content_types_web[] = {
"application/grpc-web",
"application/grpc-web+proto",
+ NULL /* end flag */
+ };
+
+ char *content_types_web_text[] = {
"application/grpc-web-text",
"application/grpc-web-text+proto",
NULL /* end flag */
};
- int i;
/* register native grpc handler */
for (i = 0; content_types[i]; i++) {
@@ -557,6 +586,18 @@ proto_reg_handoff_grpc(void)
dissector_add_string("media_type", content_types[i], grpc_handle);
}
+ /* register gRPC Web handler */
+ for (i = 0; content_types_web[i]; i++) {
+ dissector_add_string("streaming_content_type", content_types_web[i], grpc_web_handle);
+ dissector_add_string("media_type", content_types_web[i], grpc_web_handle);
+ }
+
+ /* register gRPC Web Text handler */
+ for (i = 0; content_types_web_text[i]; i++) {
+ dissector_add_string("streaming_content_type", content_types_web_text[i], grpc_web_text_handle);
+ dissector_add_string("media_type", content_types_web_text[i], grpc_web_text_handle);
+ }
+
proto_http = proto_get_id_by_filter_name("http");
data_text_lines_handle = find_dissector_add_dependency("data-text-lines", proto_grpc);
}
diff --git a/epan/dissectors/packet-gsm_a_rp.c b/epan/dissectors/packet-gsm_a_rp.c
index 66c02b2f..f20e8a77 100644
--- a/epan/dissectors/packet-gsm_a_rp.c
+++ b/epan/dissectors/packet-gsm_a_rp.c
@@ -26,6 +26,7 @@
#include <wsutil/wsjson.h>
#include "packet-gsm_a_common.h"
+#include "packet-media-type.h"
void proto_register_gsm_a_rp(void);
void proto_reg_handoff_gsm_a_rp(void);
@@ -488,7 +489,7 @@ dissect_rp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
}
static int
-dissect_nf_media_type(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+dissect_nf_media_type(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, media_content_info_t *content_info)
{
tvbuff_t* json_tvb;
int ret;
@@ -496,6 +497,8 @@ dissect_nf_media_type(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
char *json_data;
const char *content_id;
+ if (!gsm_a_dtap_handle || !content_info || content_info->type > MEDIA_CONTAINER_HTTP_OTHERS || !content_info->content_id)
+ return 0;
json_tvb = (tvbuff_t*)p_get_proto_data(pinfo->pool, pinfo, proto_json, 0);
if (!json_tvb)
return 0;
@@ -510,18 +513,19 @@ dissect_nf_media_type(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
if (!cur_tok)
return 0;
content_id = json_get_string(json_data, cur_tok, "contentId");
- if (content_id && !strcmp(content_id, "sms") && gsm_a_dtap_handle)
+ if (content_id && !strcmp(content_id, content_info->content_id))
return call_dissector_only(gsm_a_dtap_handle, tvb, pinfo, tree, NULL);
return 0;
}
static int
-dissect_rp_media_type(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+dissect_rp_media_type(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
{
int ret;
+ media_content_info_t *content_info = (media_content_info_t *)data;
- ret = dissect_nf_media_type(tvb, pinfo, tree);
+ ret = dissect_nf_media_type(tvb, pinfo, tree, content_info);
if (!ret)
ret = dissect_rp(tvb, pinfo, tree, NULL);
return ret;
diff --git a/epan/dissectors/packet-http2.c b/epan/dissectors/packet-http2.c
index 5def945a..fa51d447 100644
--- a/epan/dissectors/packet-http2.c
+++ b/epan/dissectors/packet-http2.c
@@ -38,6 +38,7 @@
#ifdef HAVE_NGHTTP2
#include <epan/uat.h>
+#include <epan/charsets.h>
#include <epan/decode_as.h>
#include <nghttp2/nghttp2.h>
#include <epan/export_object.h>
@@ -1187,6 +1188,7 @@ http2_cleanup_protocol(void) {
}
static dissector_handle_t http2_handle;
+static dissector_handle_t data_handle;
static reassembly_table http2_body_reassembly_table;
static reassembly_table http2_streaming_reassembly_table;
@@ -3157,6 +3159,21 @@ reassemble_http2_data_according_to_subdissector(tvbuff_t* tvb, packet_info* pinf
streaming_reassembly_info_t* reassembly_info = get_streaming_reassembly_info(pinfo, http2_session);
dissector_handle_t subdissector_handle = dissector_get_string_handle(streaming_content_type_dissector_table, content_type);
+ if (subdissector_handle == NULL) {
+ /* We didn't get the content type, possibly because of byte errors.
+ * Note that the content type is per direction (as it should be)
+ * but reassembly_mode is set the same for *both* directions.
+ *
+ * We could try to set it to the content type used in the other
+ * direction, but among other things, if this is the request,
+ * we might be getting here for the first time on the second pass,
+ * and reassemble_streaming_data_and_call_subdissector() asserts in
+ *
+ * Just set it to data for now to avoid an assert from a NULL handle.
+ */
+ subdissector_handle = data_handle;
+ }
+ /* XXX - Do we still need to set this? */
pinfo->match_string = content_type;
reassemble_streaming_data_and_call_subdissector(
@@ -3238,7 +3255,7 @@ get_real_header_value(packet_info* pinfo, const gchar* name, gboolean the_other_
value_len = pntoh32(data + 4 + name_len);
if (4 + name_len + 4 + value_len == hdr->table.data.datalen) {
/* return value */
- return wmem_strndup(pinfo->pool, data + 4 + name_len + 4, value_len);
+ return get_ascii_string(pinfo->pool, data + 4 + name_len + 4, value_len);
}
else {
return NULL; /* unexpected error */
@@ -4867,6 +4884,8 @@ proto_reg_handoff_http2(void)
media_type_dissector_table = find_dissector_table("media_type");
#endif
+ data_handle = find_dissector("data");
+
dissector_add_uint_range_with_preference("tcp.port", "", http2_handle);
dissector_add_for_decode_as("tcp.port", http2_handle);
diff --git a/epan/dissectors/packet-http2.h b/epan/dissectors/packet-http2.h
index f3b961de..e7d188ba 100644
--- a/epan/dissectors/packet-http2.h
+++ b/epan/dissectors/packet-http2.h
@@ -41,6 +41,14 @@ int dissect_http2_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void*
* @param the_other_direction FALSE means from current direction stream, TRUE from the other.
* @return NULL if header was not found. Or header value. Note: the value is allocated
* by pinfo->pool.
+ * @note The returned field value is decoded from US-ASCII and characters outside
+ * that range, i.e. obs-text, are replaced with UTF-8 REPLACEMENT CHARACTERS.
+ * Dissectors may need to perform additional decoding (e.g., percent decoding or
+ * the more robust decoding per RFC 8187.)
+ * @warning Don't call this if HTTP but not HTTP/2 is present in the packet
+ * (e.g. test with proto_is_frame_protocol() first). This ultimately calls
+ * get_http2_session, creating a HTTP/2 session on the current conversation,
+ * which can confuse the HTTP dissector. (This should be fixed.)
*/
const gchar* http2_get_header_value(packet_info *pinfo, const gchar* name, gboolean the_other_direction);
diff --git a/epan/dissectors/packet-icmpv6.c b/epan/dissectors/packet-icmpv6.c
index 08b29344..4a085f5f 100644
--- a/epan/dissectors/packet-icmpv6.c
+++ b/epan/dissectors/packet-icmpv6.c
@@ -1349,20 +1349,22 @@ static const value_string mpl_seed_id_lengths[] = {
};
static const guint8 mpl_seed_id_code_to_length[] = { 0, 2, 8, 16 }; /* bytes */
+#define LIFETIME_INFINITY 0xFFFFFFFF
+
static const value_string unique_infinity[] = {
- { 0xffffffff, "Infinity" },
+ { LIFETIME_INFINITY, "Infinity" },
{ 0, NULL}
};
static const value_string dnssl_infinity[] = {
{ 0, "DNSSL domain name MUST no longer be used" },
- { 0xffffffff, "Infinity" },
+ { LIFETIME_INFINITY, "Infinity" },
{ 0, NULL}
};
static const value_string rdnss_infinity[] = {
{ 0, "RDNSS address MUST no longer be used" },
- { 0xffffffff, "Infinity" },
+ { LIFETIME_INFINITY, "Infinity" },
{ 0, NULL}
};
@@ -1820,12 +1822,16 @@ static int dissect_icmpv6_nd_opt(tvbuff_t *tvb, int offset, packet_info *pinfo,
/* Prefix Valid Lifetime */
ti_opt = proto_tree_add_item_ret_uint(icmp6opt_tree, hf_icmpv6_opt_prefix_valid_lifetime, tvb, opt_offset, 4, ENC_BIG_ENDIAN, &lifetime);
- proto_item_append_text(ti_opt, " (%s)", unsigned_time_secs_to_str(wmem_packet_scope(), lifetime));
+ if (lifetime != LIFETIME_INFINITY) {
+ proto_item_append_text(ti_opt, " (%s)", unsigned_time_secs_to_str(wmem_packet_scope(), lifetime));
+ }
opt_offset += 4;
/* Prefix Preferred Lifetime */
ti_opt = proto_tree_add_item_ret_uint(icmp6opt_tree, hf_icmpv6_opt_prefix_preferred_lifetime, tvb, opt_offset, 4, ENC_BIG_ENDIAN, &lifetime);
- proto_item_append_text(ti_opt, " (%s)", unsigned_time_secs_to_str(wmem_packet_scope(), lifetime));
+ if (lifetime != LIFETIME_INFINITY) {
+ proto_item_append_text(ti_opt, " (%s)", unsigned_time_secs_to_str(wmem_packet_scope(), lifetime));
+ }
opt_offset += 4;
proto_tree_add_item(icmp6opt_tree, hf_icmpv6_opt_reserved, tvb, opt_offset, 4, ENC_NA);
@@ -2228,7 +2234,9 @@ static int dissect_icmpv6_nd_opt(tvbuff_t *tvb, int offset, packet_info *pinfo,
/* Route Lifetime */
ti_opt = proto_tree_add_item_ret_uint(icmp6opt_tree, hf_icmpv6_opt_route_lifetime, tvb, opt_offset, 4, ENC_BIG_ENDIAN, &lifetime);
- proto_item_append_text(ti_opt, " (%s)", unsigned_time_secs_to_str(wmem_packet_scope(), lifetime));
+ if (lifetime != LIFETIME_INFINITY) {
+ proto_item_append_text(ti_opt, " (%s)", unsigned_time_secs_to_str(wmem_packet_scope(), lifetime));
+ }
opt_offset += 4;
/* Prefix */
@@ -2267,7 +2275,9 @@ static int dissect_icmpv6_nd_opt(tvbuff_t *tvb, int offset, packet_info *pinfo,
/* RDNSS Lifetime */
ti_opt = proto_tree_add_item_ret_uint(icmp6opt_tree, hf_icmpv6_opt_rdnss_lifetime, tvb, opt_offset, 4, ENC_BIG_ENDIAN, &lifetime);
- proto_item_append_text(ti_opt, " (%s)", unsigned_time_secs_to_str(wmem_packet_scope(), lifetime));
+ if (lifetime != LIFETIME_INFINITY) {
+ proto_item_append_text(ti_opt, " (%s)", unsigned_time_secs_to_str(wmem_packet_scope(), lifetime));
+ }
opt_offset += 4;
while(opt_offset < (offset + opt_len) ) {
@@ -2415,7 +2425,9 @@ static int dissect_icmpv6_nd_opt(tvbuff_t *tvb, int offset, packet_info *pinfo,
/* DNSSL Lifetime */
ti_opt = proto_tree_add_item_ret_uint(icmp6opt_tree, hf_icmpv6_opt_dnssl_lifetime, tvb, opt_offset, 4, ENC_BIG_ENDIAN, &lifetime);
- proto_item_append_text(ti_opt, " (%s)", unsigned_time_secs_to_str(wmem_packet_scope(), lifetime));
+ if (lifetime != LIFETIME_INFINITY) {
+ proto_item_append_text(ti_opt, " (%s)", unsigned_time_secs_to_str(wmem_packet_scope(), lifetime));
+ }
opt_offset += 4;
while(opt_offset < (offset + opt_len) ) {
@@ -2903,6 +2915,8 @@ dissect_icmpv6_rpl_opt(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree
guint8 prefix_len;
ws_in6_addr prefix;
address prefix_addr;
+ uint32_t lifetime;
+
static int * const rpl_flags[] = {
&hf_icmpv6_rpl_opt_route_pref,
&hf_icmpv6_rpl_opt_route_reserved,
@@ -2920,7 +2934,10 @@ dissect_icmpv6_rpl_opt(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree
opt_offset +=1;
/* Prefix lifetime. */
- proto_tree_add_item(icmp6opt_tree, hf_icmpv6_rpl_opt_route_lifetime, tvb, opt_offset, 4, ENC_BIG_ENDIAN);
+ ti_opt = proto_tree_add_item_ret_uint(icmp6opt_tree, hf_icmpv6_rpl_opt_route_lifetime, tvb, opt_offset, 4, ENC_BIG_ENDIAN, &lifetime);
+ if (lifetime != LIFETIME_INFINITY) {
+ proto_item_append_text(ti_opt, " (%s)", unsigned_time_secs_to_str(wmem_packet_scope(), lifetime));
+ }
opt_offset += 4;
switch(opt_len){
@@ -3128,12 +3145,16 @@ dissect_icmpv6_rpl_opt(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree
/* Valid Lifetime */
ti_opt = proto_tree_add_item_ret_uint(icmp6opt_tree, hf_icmpv6_rpl_opt_prefix_vlifetime, tvb, opt_offset, 4, ENC_BIG_ENDIAN, &lifetime);
- proto_item_append_text(ti_opt, " (%s)", unsigned_time_secs_to_str(wmem_packet_scope(), lifetime));
+ if (lifetime != LIFETIME_INFINITY) {
+ proto_item_append_text(ti_opt, " (%s)", unsigned_time_secs_to_str(wmem_packet_scope(), lifetime));
+ }
opt_offset += 4;
/* Preferred Lifetime */
ti_opt = proto_tree_add_item_ret_uint(icmp6opt_tree, hf_icmpv6_rpl_opt_prefix_plifetime, tvb, opt_offset, 4, ENC_BIG_ENDIAN, &lifetime);
- proto_item_append_text(ti_opt, " (%s)", unsigned_time_secs_to_str(wmem_packet_scope(), lifetime));
+ if (lifetime != LIFETIME_INFINITY) {
+ proto_item_append_text(ti_opt, " (%s)", unsigned_time_secs_to_str(wmem_packet_scope(), lifetime));
+ }
opt_offset += 4;
/* 4 reserved bytes. */
@@ -3852,12 +3873,16 @@ dissect_rrenum(tvbuff_t *tvb, int rr_offset, packet_info *pinfo _U_, proto_tree
/* Valid Lifetime */
ti = proto_tree_add_item_ret_uint(up_tree, hf_icmpv6_rr_pco_up_validlifetime, tvb, rr_offset, 4, ENC_BIG_ENDIAN, &lifetime);
- proto_item_append_text(ti, " (%s)", unsigned_time_secs_to_str(wmem_packet_scope(), lifetime));
+ if (lifetime != LIFETIME_INFINITY) {
+ proto_item_append_text(ti, " (%s)", unsigned_time_secs_to_str(wmem_packet_scope(), lifetime));
+ }
rr_offset += 4;
/* Preferred Lifetime */
ti = proto_tree_add_item_ret_uint(up_tree, hf_icmpv6_rr_pco_up_preferredlifetime, tvb, rr_offset, 4, ENC_BIG_ENDIAN, &lifetime);
- proto_item_append_text(ti, " (%s)", unsigned_time_secs_to_str(wmem_packet_scope(), lifetime));
+ if (lifetime != LIFETIME_INFINITY) {
+ proto_item_append_text(ti, " (%s)", unsigned_time_secs_to_str(wmem_packet_scope(), lifetime));
+ }
rr_offset += 4;
/* Flags */
diff --git a/epan/dissectors/packet-ieee1905.c b/epan/dissectors/packet-ieee1905.c
index e26da6f3..2c98c4de 100644
--- a/epan/dissectors/packet-ieee1905.c
+++ b/epan/dissectors/packet-ieee1905.c
@@ -3280,26 +3280,26 @@ static const value_string max_he_mcs_8_ss_vals[] = {
};
static int * const rx_he_mcs_map_headers[] = {
- &hf_ieee1905_ap_he_rx_mcs_map_1ss,
- &hf_ieee1905_ap_he_rx_mcs_map_2ss,
- &hf_ieee1905_ap_he_rx_mcs_map_3ss,
- &hf_ieee1905_ap_he_rx_mcs_map_4ss,
- &hf_ieee1905_ap_he_rx_mcs_map_5ss,
- &hf_ieee1905_ap_he_rx_mcs_map_6ss,
- &hf_ieee1905_ap_he_rx_mcs_map_7ss,
&hf_ieee1905_ap_he_rx_mcs_map_8ss,
+ &hf_ieee1905_ap_he_rx_mcs_map_7ss,
+ &hf_ieee1905_ap_he_rx_mcs_map_6ss,
+ &hf_ieee1905_ap_he_rx_mcs_map_5ss,
+ &hf_ieee1905_ap_he_rx_mcs_map_4ss,
+ &hf_ieee1905_ap_he_rx_mcs_map_3ss,
+ &hf_ieee1905_ap_he_rx_mcs_map_2ss,
+ &hf_ieee1905_ap_he_rx_mcs_map_1ss,
NULL
};
static int * const tx_he_mcs_map_headers[] = {
- &hf_ieee1905_ap_he_tx_mcs_map_1ss,
- &hf_ieee1905_ap_he_tx_mcs_map_2ss,
- &hf_ieee1905_ap_he_tx_mcs_map_3ss,
- &hf_ieee1905_ap_he_tx_mcs_map_4ss,
- &hf_ieee1905_ap_he_tx_mcs_map_5ss,
- &hf_ieee1905_ap_he_tx_mcs_map_6ss,
- &hf_ieee1905_ap_he_tx_mcs_map_7ss,
&hf_ieee1905_ap_he_tx_mcs_map_8ss,
+ &hf_ieee1905_ap_he_tx_mcs_map_7ss,
+ &hf_ieee1905_ap_he_tx_mcs_map_6ss,
+ &hf_ieee1905_ap_he_tx_mcs_map_5ss,
+ &hf_ieee1905_ap_he_tx_mcs_map_4ss,
+ &hf_ieee1905_ap_he_tx_mcs_map_3ss,
+ &hf_ieee1905_ap_he_tx_mcs_map_2ss,
+ &hf_ieee1905_ap_he_tx_mcs_map_1ss,
NULL
};
@@ -9589,49 +9589,49 @@ proto_register_ieee1905(void)
{ "Max Tx HE-MCS for 1 SS",
"ieee1905.ap_he_capability.max_tx_he_mcs_1_ss",
FT_UINT16, BASE_DEC, VALS(max_he_mcs_1_ss_vals),
- 0xC000, NULL, HFILL }},
+ 0x0003, NULL, HFILL }},
{ &hf_ieee1905_ap_he_tx_mcs_map_2ss,
{ "Max Tx HE-MCS for 2 SS",
"ieee1905.ap_he_capability.max_tx_he_mcs_2_ss",
FT_UINT16, BASE_DEC, VALS(max_he_mcs_2_ss_vals),
- 0x3000, NULL, HFILL }},
+ 0x000C, NULL, HFILL }},
{ &hf_ieee1905_ap_he_tx_mcs_map_3ss,
{ "Max Tx HE-MCS for 3 SS",
"ieee1905.ap_he_capability.max_tx_he_mcs_3_ss",
FT_UINT16, BASE_DEC, VALS(max_he_mcs_3_ss_vals),
- 0x0C00, NULL, HFILL }},
+ 0x0030, NULL, HFILL }},
{ &hf_ieee1905_ap_he_tx_mcs_map_4ss,
{ "Max Tx HE-MCS for 4 SS",
"ieee1905.ap_he_capability.max_tx_he_mcs_4_ss",
FT_UINT16, BASE_DEC, VALS(max_he_mcs_4_ss_vals),
- 0x0300, NULL, HFILL }},
+ 0x00C0, NULL, HFILL }},
{ &hf_ieee1905_ap_he_tx_mcs_map_5ss,
{ "Max Tx HE-MCS for 5 SS",
"ieee1905.ap_he_capability.max_tx_he_mcs_5_ss",
FT_UINT16, BASE_DEC, VALS(max_he_mcs_5_ss_vals),
- 0x00C0, NULL, HFILL }},
+ 0x0300, NULL, HFILL }},
{ &hf_ieee1905_ap_he_tx_mcs_map_6ss,
{ "Max Tx HE-MCS for 6 SS",
"ieee1905.ap_he_capability.max_tx_he_mcs_6_ss",
FT_UINT16, BASE_DEC, VALS(max_he_mcs_6_ss_vals),
- 0x0030, NULL, HFILL }},
+ 0x0C00, NULL, HFILL }},
{ &hf_ieee1905_ap_he_tx_mcs_map_7ss,
{ "Max Tx HE-MCS for 7 SS",
"ieee1905.ap_he_capability.max_tx_he_mcs_7_ss",
FT_UINT16, BASE_DEC, VALS(max_he_mcs_7_ss_vals),
- 0x000C, NULL, HFILL }},
+ 0x3000, NULL, HFILL }},
{ &hf_ieee1905_ap_he_tx_mcs_map_8ss,
{ "Max Tx HE-MCS for 8 SS",
"ieee1905.ap_he_capability.max_tx_he_mcs_8_ss",
FT_UINT16, BASE_DEC, VALS(max_he_mcs_8_ss_vals),
- 0x0003, NULL, HFILL }},
+ 0xC000, NULL, HFILL }},
{ &hf_ieee1905_ap_he_cap_rx_mcs_le_80_mhz,
{ "Supported Rx HE-MCS <= 80 MHz",
@@ -9642,49 +9642,49 @@ proto_register_ieee1905(void)
{ "Max Rx HE-MCS for 1 SS",
"ieee1905.ap_he_capability.max_rx_he_mcs_1_ss",
FT_UINT16, BASE_DEC, VALS(max_he_mcs_1_ss_vals),
- 0xC000, NULL, HFILL }},
+ 0x0003, NULL, HFILL }},
{ &hf_ieee1905_ap_he_rx_mcs_map_2ss,
{ "Max Rx HE-MCS for 2 SS",
"ieee1905.ap_he_capability.max_rx_he_mcs_2_ss",
FT_UINT16, BASE_DEC, VALS(max_he_mcs_2_ss_vals),
- 0x3000, NULL, HFILL }},
+ 0x000C, NULL, HFILL }},
{ &hf_ieee1905_ap_he_rx_mcs_map_3ss,
{ "Max Rx HE-MCS for 3 SS",
"ieee1905.ap_he_capability.max_rx_he_mcs_3_ss",
FT_UINT16, BASE_DEC, VALS(max_he_mcs_3_ss_vals),
- 0x0C00, NULL, HFILL }},
+ 0x0030, NULL, HFILL }},
{ &hf_ieee1905_ap_he_rx_mcs_map_4ss,
{ "Max Rx HE-MCS for 4 SS",
"ieee1905.ap_he_capability.max_rx_he_mcs_4_ss",
FT_UINT16, BASE_DEC, VALS(max_he_mcs_4_ss_vals),
- 0x0300, NULL, HFILL }},
+ 0x00C0, NULL, HFILL }},
{ &hf_ieee1905_ap_he_rx_mcs_map_5ss,
{ "Max Rx HE-MCS for 5 SS",
"ieee1905.ap_he_capability.max_rx_he_mcs_5_ss",
FT_UINT16, BASE_DEC, VALS(max_he_mcs_5_ss_vals),
- 0x00C0, NULL, HFILL }},
+ 0x0300, NULL, HFILL }},
{ &hf_ieee1905_ap_he_rx_mcs_map_6ss,
{ "Max Rx HE-MCS for 6 SS",
"ieee1905.ap_he_capability.max_rx_he_mcs_6_ss",
FT_UINT16, BASE_DEC, VALS(max_he_mcs_6_ss_vals),
- 0x0030, NULL, HFILL }},
+ 0x0C00, NULL, HFILL }},
{ &hf_ieee1905_ap_he_rx_mcs_map_7ss,
{ "Max Rx HE-MCS for 7 SS",
"ieee1905.ap_he_capability.max_rx_he_mcs_7_ss",
FT_UINT16, BASE_DEC, VALS(max_he_mcs_7_ss_vals),
- 0x000C, NULL, HFILL }},
+ 0x3000, NULL, HFILL }},
{ &hf_ieee1905_ap_he_rx_mcs_map_8ss,
{ "Max Rx HE-MCS for 8 SS",
"ieee1905.ap_he_capability.max_rx_he_mcs_8_ss",
FT_UINT16, BASE_DEC, VALS(max_he_mcs_8_ss_vals),
- 0x0003, NULL, HFILL }},
+ 0xC000, NULL, HFILL }},
{ &hf_ieee1905_ap_he_cap_tx_mcs_160_mhz,
{ "Supported Tx HE-MCS 160 MHz",
diff --git a/epan/dissectors/packet-ieee80211.c b/epan/dissectors/packet-ieee80211.c
index 15e43f8e..67d4be52 100644
--- a/epan/dissectors/packet-ieee80211.c
+++ b/epan/dissectors/packet-ieee80211.c
@@ -49971,11 +49971,11 @@ proto_register_ieee80211(void)
NULL, HFILL }},
{&hf_ieee80211_vht_mcsset_extended_nss_bw_capable,
- {"Extended NSS BW Capable", "wlan.vht.ncsset.ext_nss_bw_cap",
+ {"VHT Extended NSS BW Capable", "wlan.vht.mcsset.vht_ext_nss_bw_capable",
FT_BOOLEAN, 16, TFS(&tfs_capable_not_capable), 0x2000, NULL, HFILL }},
{&hf_ieee80211_vht_mcsset_reserved,
- {"Reserved", "wlan.vht.ncsset.reserved",
+ {"Reserved", "wlan.vht.mcsset.reserved",
FT_UINT16, BASE_HEX, NULL, 0xc000, NULL, HFILL }},
{&hf_ieee80211_vht_op,
@@ -51071,12 +51071,12 @@ proto_register_ieee80211(void)
"(not interpreted)", HFILL }},
{&hf_ieee80211_tag_measure_report_measurement_token,
- {"Measurement Token", "wlan.measure.req.token",
+ {"Measurement Token", "wlan.measure.rep.token",
FT_UINT8, BASE_HEX, NULL, 0,
NULL, HFILL }},
{&hf_ieee80211_tag_measure_report_mode,
- {"Measurement Report Mode", "wlan.measure.req.mode",
+ {"Measurement Report Mode", "wlan.measure.rep.mode",
FT_UINT8, BASE_HEX, NULL, 0,
NULL, HFILL }},
@@ -51341,12 +51341,12 @@ proto_register_ieee80211(void)
NULL, HFILL }},
{&hf_ieee80211_tag_measure_report_subelement_length,
- {"Length", "wlan.measure.req.sub.length",
+ {"Length", "wlan.measure.rep.sub.length",
FT_UINT8, BASE_DEC, NULL, 0,
NULL, HFILL }},
{&hf_ieee80211_tag_measure_report_beacon_sub_id,
- {"SubElement ID", "wlan.measure.req.beacon.sub.id",
+ {"SubElement ID", "wlan.measure.rep.beacon.sub.id",
FT_UINT8, BASE_DEC, VALS(ieee80211_tag_measure_report_beacon_sub_id_vals), 0,
NULL, HFILL }},
diff --git a/epan/dissectors/packet-ipars.c b/epan/dissectors/packet-ipars.c
index 4b3a4bbd..3115ec0a 100644
--- a/epan/dissectors/packet-ipars.c
+++ b/epan/dissectors/packet-ipars.c
@@ -31,7 +31,7 @@ static gint ett_ipars = -1;
#define EOMu (0x12)
#define EOMi (0x13)
-#define MAX_EOM_MSG_SIZE (16) /* max size of an EOMx indicator string */
+#define MAX_EOM_MSG_SIZE (24) /* max size of an EOMx indicator string */
static int
dissect_ipars(tvbuff_t *tvb, packet_info *pinfo _U_ , proto_tree *tree, void* data _U_)
diff --git a/epan/dissectors/packet-json_3gpp.c b/epan/dissectors/packet-json_3gpp.c
index 8cb4cadb..d44f9198 100644
--- a/epan/dissectors/packet-json_3gpp.c
+++ b/epan/dissectors/packet-json_3gpp.c
@@ -30,11 +30,14 @@
#include "packet-gtpv2.h"
#include "packet-gsm_a_common.h"
#include "packet-json.h"
+#include "packet-http.h"
#include "packet-http2.h"
void proto_register_json_3gpp(void);
+void proto_reg_handoff_json_3gpp(void);
static int proto_json_3gpp = -1;
+static int proto_http = -1;
static gint ett_json_base64decoded_eps_ie = -1;
static gint ett_json_base64decoded_nas5g_ie = -1;
@@ -237,7 +240,7 @@ dissect_base64decoded_nas5g_ie(tvbuff_t* tvb, proto_tree* tree, packet_info* pin
static void
dissect_3gpp_supportfeatures(tvbuff_t* tvb, proto_tree* tree, packet_info* pinfo, int offset, int len, const char* key_str _U_, gboolean use_compact)
{
- const char *path;
+ const char *path = NULL;
/* TS 29.571 ch5.2.2
* A string used to indicate the features supported by an API that is used as defined in clause 6.6 in 3GPP TS 29.500 [25].
@@ -252,9 +255,20 @@ dissect_3gpp_supportfeatures(tvbuff_t* tvb, proto_tree* tree, packet_info* pinfo
*/
/* Exptect to have :path from HTTP2 here, if not return */
- path = http2_get_header_value(pinfo, HTTP2_HEADER_PATH, FALSE);
- if (!path) {
- path = http2_get_header_value(pinfo, HTTP2_HEADER_PATH, TRUE);
+ if (proto_is_frame_protocol(pinfo->layers, "http2")) {
+ path = http2_get_header_value(pinfo, HTTP2_HEADER_PATH, FALSE);
+ if (!path) {
+ path = http2_get_header_value(pinfo, HTTP2_HEADER_PATH, TRUE);
+ }
+ } else if (proto_is_frame_protocol(pinfo->layers, "http")) {
+ /* 3GPP TS 29.500 says the service based interfaces use HTTP/2,
+ * but that doesn't stop implementations like OAI from using
+ * HTTP/1.1 with a 2.0 version string.
+ */
+ http_req_res_t* curr_req_res = (http_req_res_t*)p_get_proto_data(wmem_file_scope(), pinfo, proto_http, 0);
+ if (curr_req_res) {
+ path = curr_req_res->request_uri;
+ }
}
if (!path) {
return;
@@ -1287,6 +1301,12 @@ proto_register_json_3gpp(void)
register_static_headers();
}
+void
+proto_reg_handoff_json_3gpp(void)
+{
+ proto_http = proto_get_id_by_filter_name("http");
+}
+
/*
* Editor modelines - https://www.wireshark.org/tools/modelines.html
*
diff --git a/epan/dissectors/packet-lapd.c b/epan/dissectors/packet-lapd.c
index fcae4e19..cea2b3e6 100644
--- a/epan/dissectors/packet-lapd.c
+++ b/epan/dissectors/packet-lapd.c
@@ -567,10 +567,10 @@ dissect_lapd_full(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint32 f
}
}
}
- set_address(&pinfo->dst, AT_STRINGZ, (int)strlen(dstname) + 1, dstname);
- set_address(&pinfo->src, AT_STRINGZ, (int)strlen(dstname) + 1, dstname);
- col_set_str(pinfo->cinfo, COL_RES_DL_SRC, srcname);
- col_set_str(pinfo->cinfo, COL_RES_DL_DST, dstname);
+ set_address(&pinfo->dl_dst, AT_STRINGZ, (int)strlen(dstname) + 1, dstname);
+ set_address(&pinfo->dl_src, AT_STRINGZ, (int)strlen(srcname) + 1, srcname);
+ copy_address_shallow(&pinfo->dst, &pinfo->dl_dst);
+ copy_address_shallow(&pinfo->src, &pinfo->dl_src);
if (tree) {
proto_item *direction_ti;
diff --git a/epan/dissectors/packet-lldp.c b/epan/dissectors/packet-lldp.c
index d70c379d..307a1d3f 100644
--- a/epan/dissectors/packet-lldp.c
+++ b/epan/dissectors/packet-lldp.c
@@ -1974,9 +1974,9 @@ dissect_lldp_system_capabilities(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tr
proto_tree_add_item(capabilities_enabled_tree, hf_lldp_tlv_enable_system_cap_telephone, tvb, offset, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(capabilities_enabled_tree, hf_lldp_tlv_enable_system_cap_docsis_cable_device, tvb, offset, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(capabilities_enabled_tree, hf_lldp_tlv_enable_system_cap_station_only, tvb, offset, 2, ENC_BIG_ENDIAN);
- proto_tree_add_item(capabilities_summary_tree, hf_lldp_tlv_enable_system_cap_cvlan_component, tvb, offset, 2, ENC_BIG_ENDIAN);
- proto_tree_add_item(capabilities_summary_tree, hf_lldp_tlv_enable_system_cap_svlan_component, tvb, offset, 2, ENC_BIG_ENDIAN);
- proto_tree_add_item(capabilities_summary_tree, hf_lldp_tlv_enable_system_cap_tpmr_component, tvb, offset, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(capabilities_enabled_tree, hf_lldp_tlv_enable_system_cap_cvlan_component, tvb, offset, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(capabilities_enabled_tree, hf_lldp_tlv_enable_system_cap_svlan_component, tvb, offset, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(capabilities_enabled_tree, hf_lldp_tlv_enable_system_cap_tpmr_component, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
diff --git a/epan/dissectors/packet-mongo.c b/epan/dissectors/packet-mongo.c
index db23a063..346b1324 100644
--- a/epan/dissectors/packet-mongo.c
+++ b/epan/dissectors/packet-mongo.c
@@ -831,7 +831,10 @@ dissect_op_msg_section(tvbuff_t *tvb, packet_info *pinfo, guint offset, proto_tr
switch (e_type) {
case KIND_BODY:
- dissect_bson_document(tvb, pinfo, offset, section_tree, hf_mongo_msg_sections_section_body);
+ section_len = dissect_bson_document(tvb, pinfo, offset, section_tree, hf_mongo_msg_sections_section_body);
+ /* If section_len is bogus (e.g., negative), dissect_bson_document sets
+ * an expert info and can return a different value than read above.
+ */
break;
case KIND_DOCUMENT_SEQUENCE: {
gint32 dsi_length;
@@ -840,6 +843,9 @@ dissect_op_msg_section(tvbuff_t *tvb, packet_info *pinfo, guint offset, proto_tr
proto_tree *documents_tree;
proto_tree_add_item(section_tree, hf_mongo_msg_sections_section_size, tvb, offset, 4, ENC_LITTLE_ENDIAN);
+ /* This is redundant with the lengths in the documents, we don't use this
+ * size at all. We could still report an expert info if it's bogus.
+ */
offset += 4;
to_read -= 4;
diff --git a/epan/dissectors/packet-nas_5gs.c b/epan/dissectors/packet-nas_5gs.c
index 915ae1c0..26bb927f 100644
--- a/epan/dissectors/packet-nas_5gs.c
+++ b/epan/dissectors/packet-nas_5gs.c
@@ -849,6 +849,7 @@ static const value_string nas_5gs_epd_vals[] = {
};
struct nas5gs_private_data {
+ guint8 sec_hdr_type;
guint32 payload_container_type;
};
@@ -2580,9 +2581,14 @@ de_nas_5gs_mm_nas_msg_cont(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo,
gchar *add_string _U_, int string_len _U_)
{
/* The purpose of the NAS message container IE is to encapsulate a plain 5GS NAS message. */
- /* a NAS message without NAS security heade */
+ /* a NAS message without NAS security header */
+ struct nas5gs_private_data *nas5gs_data = nas5gs_get_private_data(pinfo);
- dissect_nas_5gs(tvb_new_subset_length(tvb, offset, len), pinfo, tree, NULL);
+ if (nas5gs_data->sec_hdr_type == NAS_5GS_PLAIN_NAS_MSG || g_nas_5gs_null_decipher) {
+ dissect_nas_5gs(tvb_new_subset_length(tvb, offset, len), pinfo, tree, NULL);
+ } else {
+ proto_tree_add_subtree(tree, tvb, offset, len, ett_nas_5gs_enc, NULL, "Encrypted data");
+ }
return len;
}
@@ -10292,7 +10298,8 @@ dissect_nas_5gs(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
proto_item *item;
proto_tree *nas_5gs_tree, *sub_tree;
int offset = 0;
- guint8 seq_hdr_type, ext_pd;
+ guint8 sec_hdr_type, ext_pd;
+ struct nas5gs_private_data *nas5gs_data = nas5gs_get_private_data(pinfo);
/* make entry in the Protocol column on summary display */
col_append_sep_str(pinfo->cinfo, COL_PROTOCOL, "/", "NAS-5GS");
@@ -10308,8 +10315,9 @@ dissect_nas_5gs(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
/* Security header type associated with a spare half octet; or
* PDU session identity octet 2 */
/* Determine if it's a plain 5GS NAS Message or not */
- seq_hdr_type = tvb_get_guint8(tvb, offset + 1);
- if (seq_hdr_type == NAS_5GS_PLAIN_NAS_MSG) {
+ sec_hdr_type = tvb_get_guint8(tvb, offset + 1);
+ nas5gs_data->sec_hdr_type = sec_hdr_type;
+ if (sec_hdr_type == NAS_5GS_PLAIN_NAS_MSG) {
return dissect_nas_5gs_common(tvb, pinfo, nas_5gs_tree, offset, data);
}
/* Security protected NAS 5GS message*/
@@ -10329,7 +10337,7 @@ dissect_nas_5gs(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
proto_tree_add_item(sub_tree, hf_nas_5gs_seq_no, tvb, offset, 1, ENC_BIG_ENDIAN);
offset++;
- if ((seq_hdr_type != NAS_5GS_INTEG_CIPH_NAS_MSG && seq_hdr_type != NAS_5GS_INTEG_CIPH_NEW_NAS_MSG) ||
+ if ((sec_hdr_type != NAS_5GS_INTEG_CIPH_NAS_MSG && sec_hdr_type != NAS_5GS_INTEG_CIPH_NEW_NAS_MSG) ||
g_nas_5gs_null_decipher) {
return dissect_nas_5gs_common(tvb, pinfo, nas_5gs_tree, offset, data);
} else {
diff --git a/epan/dissectors/packet-nr-rrc.c b/epan/dissectors/packet-nr-rrc.c
index 1086fac9..6f2eb414 100644
--- a/epan/dissectors/packet-nr-rrc.c
+++ b/epan/dissectors/packet-nr-rrc.c
@@ -22803,7 +22803,7 @@ static int
dissect_nr_rrc_SIB2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
proto_item_set_hidden(prot_ti);
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB2");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB2 ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nr_rrc_SIB2, SIB2_sequence);
@@ -23111,7 +23111,7 @@ static int
dissect_nr_rrc_SIB3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
proto_item_set_hidden(prot_ti);
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB3");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB3 ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nr_rrc_SIB3, SIB3_sequence);
@@ -23576,7 +23576,7 @@ static int
dissect_nr_rrc_SIB4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
proto_item_set_hidden(prot_ti);
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB4");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB4 ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nr_rrc_SIB4, SIB4_sequence);
@@ -24046,7 +24046,7 @@ static int
dissect_nr_rrc_SIB5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
proto_item_set_hidden(prot_ti);
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB5");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB5 ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nr_rrc_SIB5, SIB5_sequence);
@@ -24126,7 +24126,7 @@ static int
dissect_nr_rrc_SIB6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
proto_item_set_hidden(prot_ti);
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB6");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB6 ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nr_rrc_SIB6, SIB6_sequence);
@@ -24283,7 +24283,7 @@ static int
dissect_nr_rrc_SIB7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
proto_item_set_hidden(prot_ti);
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB7");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB7 ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nr_rrc_SIB7, SIB7_sequence);
@@ -24441,7 +24441,7 @@ static int
dissect_nr_rrc_SIB8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
proto_item_set_hidden(prot_ti);
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB8");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB8 ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nr_rrc_SIB8, SIB8_sequence);
@@ -24650,7 +24650,7 @@ static int
dissect_nr_rrc_SIB9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
proto_item_set_hidden(prot_ti);
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB9");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB9 ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nr_rrc_SIB9, SIB9_sequence);
@@ -24705,7 +24705,7 @@ static const per_sequence_t SIB10_r16_sequence[] = {
static int
dissect_nr_rrc_SIB10_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB10");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB10 ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nr_rrc_SIB10_r16, SIB10_r16_sequence);
@@ -24968,7 +24968,7 @@ static const per_sequence_t SIB11_r16_sequence[] = {
static int
dissect_nr_rrc_SIB11_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB11");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB11");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nr_rrc_SIB11_r16, SIB11_r16_sequence);
@@ -25002,7 +25002,7 @@ static const per_sequence_t SIB12_r16_sequence[] = {
static int
dissect_nr_rrc_SIB12_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB12");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB12 ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nr_rrc_SIB12_r16, SIB12_r16_sequence);
@@ -25057,7 +25057,7 @@ static const per_sequence_t SIB13_r16_sequence[] = {
static int
dissect_nr_rrc_SIB13_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB13");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB13 ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nr_rrc_SIB13_r16, SIB13_r16_sequence);
@@ -25074,7 +25074,7 @@ static const per_sequence_t SIB14_r16_sequence[] = {
static int
dissect_nr_rrc_SIB14_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB14");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB14 ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nr_rrc_SIB14_r16, SIB14_r16_sequence);
@@ -25132,7 +25132,7 @@ static const per_sequence_t SIB15_r17_sequence[] = {
static int
dissect_nr_rrc_SIB15_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB15");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB15 ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nr_rrc_SIB15_r17, SIB15_r17_sequence);
@@ -25280,7 +25280,7 @@ static const per_sequence_t SIB16_r17_sequence[] = {
static int
dissect_nr_rrc_SIB16_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB16");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB16 ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nr_rrc_SIB16_r17, SIB16_r17_sequence);
@@ -25314,7 +25314,7 @@ static const per_sequence_t SIB17_r17_sequence[] = {
static int
dissect_nr_rrc_SIB17_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB17");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB17 ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nr_rrc_SIB17_r17, SIB17_r17_sequence);
@@ -25413,7 +25413,7 @@ static const per_sequence_t SIB18_r17_sequence[] = {
static int
dissect_nr_rrc_SIB18_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB18");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB18 ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nr_rrc_SIB18_r17, SIB18_r17_sequence);
@@ -25780,7 +25780,7 @@ static const per_sequence_t SIB19_r17_sequence[] = {
static int
dissect_nr_rrc_SIB19_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB19");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB19 ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nr_rrc_SIB19_r17, SIB19_r17_sequence);
@@ -26929,7 +26929,7 @@ static const per_sequence_t SIB20_r17_sequence[] = {
static int
dissect_nr_rrc_SIB20_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB20");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB20 ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nr_rrc_SIB20_r17, SIB20_r17_sequence);
@@ -27000,7 +27000,7 @@ static const per_sequence_t SIB21_r17_sequence[] = {
static int
dissect_nr_rrc_SIB21_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB21");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB21 ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nr_rrc_SIB21_r17, SIB21_r17_sequence);
@@ -27843,12 +27843,12 @@ static const per_sequence_t SystemInformation_sequence[] = {
static int
dissect_nr_rrc_SystemInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "System Information [");
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "System Information [ ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nr_rrc_SystemInformation, SystemInformation_sequence);
- col_append_str(actx->pinfo->cinfo, COL_INFO, " ]");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "]");
return offset;
}
@@ -35379,7 +35379,7 @@ static int
dissect_nr_rrc_SIB1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
proto_item_set_hidden(prot_ti);
- col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SIB1");
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SIB1 ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nr_rrc_SIB1, SIB1_sequence);
@@ -175579,7 +175579,7 @@ proto_register_nr_rrc(void) {
register_dissector("nr-rrc.measgapconfig_msg", dissect_nr_rrc_measgapconfig_msg, proto_nr_rrc);
register_dissector("nr-rrc.handoverpreparationinformation_msg", dissect_nr_rrc_handoverpreparationinformation_msg, proto_nr_rrc);
register_dissector("nr-rrc.handovercommand_msg", dissect_nr_rrc_handovercommand_msg, proto_nr_rrc);
-
+ /*#include "packet-nr-rrc-dis-reg.c" */
register_dissector("nr-rrc.ue_radio_paging_info", dissect_nr_rrc_UERadioPagingInformation_PDU, proto_nr_rrc);
register_dissector("nr-rrc.ue_radio_access_cap_info", dissect_UERadioAccessCapabilityInformation_PDU, proto_nr_rrc);
register_dissector("nr-rrc.bcch.bch", dissect_BCCH_BCH_Message_PDU, proto_nr_rrc);
@@ -175593,6 +175593,27 @@ proto_register_nr_rrc(void) {
register_dissector("nr-rrc.ul.dcch", dissect_nr_rrc_UL_DCCH_Message_PDU, proto_nr_rrc);
register_dissector("nr-rrc.rrc_reconf", dissect_nr_rrc_RRCReconfiguration_PDU, proto_nr_rrc);
register_dissector("nr-rrc.rrc_reconf_compl", dissect_nr_rrc_RRCReconfigurationComplete_PDU, proto_nr_rrc);
+ register_dissector("nr-rrc.sib1", dissect_nr_rrc_SIB1_PDU, proto_nr_rrc);
+ register_dissector("nr-rrc.sib2", dissect_nr_rrc_SIB2_PDU, proto_nr_rrc);
+ register_dissector("nr-rrc.sib3", dissect_nr_rrc_SIB3_PDU, proto_nr_rrc);
+ register_dissector("nr-rrc.sib4", dissect_nr_rrc_SIB4_PDU, proto_nr_rrc);
+ register_dissector("nr-rrc.sib5", dissect_nr_rrc_SIB5_PDU, proto_nr_rrc);
+ register_dissector("nr-rrc.sib6", dissect_nr_rrc_SIB6_PDU, proto_nr_rrc);
+ register_dissector("nr-rrc.sib7", dissect_nr_rrc_SIB7_PDU, proto_nr_rrc);
+ register_dissector("nr-rrc.sib8", dissect_nr_rrc_SIB8_PDU, proto_nr_rrc);
+ register_dissector("nr-rrc.sib9", dissect_nr_rrc_SIB9_PDU, proto_nr_rrc);
+ register_dissector("nr-rrc.sib10", dissect_nr_rrc_SIB10_r16_PDU, proto_nr_rrc);
+ register_dissector("nr-rrc.sib11", dissect_nr_rrc_SIB11_r16_PDU, proto_nr_rrc);
+ register_dissector("nr-rrc.sib12", dissect_nr_rrc_SIB12_r16_PDU, proto_nr_rrc);
+ register_dissector("nr-rrc.sib13", dissect_nr_rrc_SIB13_r16_PDU, proto_nr_rrc);
+ register_dissector("nr-rrc.sib14", dissect_nr_rrc_SIB14_r16_PDU, proto_nr_rrc);
+ register_dissector("nr-rrc.sib15", dissect_nr_rrc_SIB15_r17_PDU, proto_nr_rrc);
+ register_dissector("nr-rrc.sib16", dissect_nr_rrc_SIB16_r17_PDU, proto_nr_rrc);
+ register_dissector("nr-rrc.sib17", dissect_nr_rrc_SIB17_r17_PDU, proto_nr_rrc);
+ register_dissector("nr-rrc.sib18", dissect_nr_rrc_SIB18_r17_PDU, proto_nr_rrc);
+ register_dissector("nr-rrc.sib21", dissect_nr_rrc_SIB19_r17_PDU, proto_nr_rrc);
+ register_dissector("nr-rrc.sib22", dissect_nr_rrc_SIB20_r17_PDU, proto_nr_rrc);
+ register_dissector("nr-rrc.sib23", dissect_nr_rrc_SIB21_r17_PDU, proto_nr_rrc);
register_dissector("nr-rrc.ue_mrdc_cap", dissect_nr_rrc_UE_MRDC_Capability_PDU, proto_nr_rrc);
register_dissector("nr-rrc.ue_nr_cap", dissect_nr_rrc_UE_NR_Capability_PDU, proto_nr_rrc);
register_dissector("nr-rrc.sbcch.sl.bch", dissect_SBCCH_SL_BCH_Message_PDU, proto_nr_rrc);
diff --git a/epan/dissectors/packet-per.c b/epan/dissectors/packet-per.c
index 4a4ac7c8..1a0f3ee3 100644
--- a/epan/dissectors/packet-per.c
+++ b/epan/dissectors/packet-per.c
@@ -61,6 +61,8 @@ static int hf_per_internal_range = -1;
static int hf_per_internal_num_bits = -1;
static int hf_per_internal_min = -1;
static int hf_per_internal_value = -1;
+static int hf_per_internal_min_int = -1;
+static int hf_per_internal_value_int = -1;
static int hf_per_encoding_boiler_plate = -1;
static gint ett_per_open_type = -1;
@@ -1419,10 +1421,18 @@ DEBUG_ENTRY("dissect_per_constrained_integer");
if (display_internal_per_fields){
str = decode_bits_in_field(actx->pinfo->pool, (offset&0x07),num_bits,val,ENC_BIG_ENDIAN);
- proto_tree_add_uint(tree, hf_per_internal_min, tvb, val_start,val_length, min);
+ if (FT_IS_INT(hfi->type)) {
+ proto_tree_add_int(tree, hf_per_internal_min_int, tvb, val_start, val_length, min);
+ } else {
+ proto_tree_add_uint(tree, hf_per_internal_min, tvb, val_start, val_length, min);
+ }
proto_tree_add_uint64(tree, hf_per_internal_range, tvb, val_start, val_length, range);
proto_tree_add_uint(tree, hf_per_internal_num_bits, tvb, val_start, val_length, num_bits);
- proto_tree_add_uint64_format_value(tree, hf_per_internal_value, tvb, val_start, val_length, val+min, "%s decimal value: %u", str, val+min);
+ if (FT_IS_INT(hfi->type)) {
+ proto_tree_add_int64_format_value(tree, hf_per_internal_value_int, tvb, val_start, val_length, val + min, "%s decimal value: %i", str, val + min);
+ } else {
+ proto_tree_add_uint64_format_value(tree, hf_per_internal_value, tvb, val_start, val_length, val + min, "%s decimal value: %u", str, val + min);
+ }
}
/* The actual value */
val+=min;
@@ -2927,6 +2937,14 @@ proto_register_per(void)
{ "Bits", "per.internal.value",
FT_UINT64, BASE_DEC, NULL, 0,
NULL, HFILL }},
+ { &hf_per_internal_min_int,
+ { "Min", "per.internal.min_int",
+ FT_INT32, BASE_DEC, NULL, 0,
+ NULL, HFILL } },
+ { &hf_per_internal_value_int,
+ { "Bits", "per.internal.value_int",
+ FT_INT64, BASE_DEC, NULL, 0,
+ NULL, HFILL } },
{ &hf_per_encoding_boiler_plate,
{ "PER encoded protocol, to see PER internal fields set protocol PER preferences", "per.encoding_boiler_plate",
FT_NONE, BASE_NONE, NULL, 0x0,
diff --git a/epan/dissectors/packet-pfcp.c b/epan/dissectors/packet-pfcp.c
index 6a57c584..6565bfb3 100644
--- a/epan/dissectors/packet-pfcp.c
+++ b/epan/dissectors/packet-pfcp.c
@@ -187,7 +187,18 @@ static int hf_pfcp_redirect_server_address = -1;
static int hf_pfcp_other_redirect_server_addr_len = -1;
static int hf_pfcp_other_redirect_server_address = -1;
static int hf_pfcp_redirect_port = -1;
-static int hf_pfcp_outer_hdr_desc = -1;
+static int hf_pfcp_outer_hdr_desc_o5_b0_gtp_udp_ipv4 = -1;
+static int hf_pfcp_outer_hdr_desc_o5_b1_gtp_udp_ipv6 = -1;
+static int hf_pfcp_outer_hdr_desc_o5_b2_udp_ipv4 = -1;
+static int hf_pfcp_outer_hdr_desc_o5_b3_udp_ipv6 = -1;
+static int hf_pfcp_outer_hdr_desc_o5_b4_ipv4 = -1;
+static int hf_pfcp_outer_hdr_desc_o5_b5_ipv6 = -1;
+static int hf_pfcp_outer_hdr_desc_o5_b6_ctag = -1;
+static int hf_pfcp_outer_hdr_desc_o5_b7_stag = -1;
+static int hf_pfcp_outer_hdr_desc_o6_b0_n19 = -1;
+static int hf_pfcp_outer_hdr_desc_o6_b1_n6 = -1;
+static int hf_pfcp_outer_hdr_desc_o6_b2_ssm_cteid = -1;
+static int hf_pfcp_outer_hdr_desc_o6_spare = -1;
static int hf_pfcp_outer_hdr_creation_teid = -1;
static int hf_pfcp_outer_hdr_creation_ipv4 = -1;
static int hf_pfcp_outer_hdr_creation_ipv6 = -1;
@@ -4472,41 +4483,38 @@ dissect_pfcp_linked_urr_id(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
/*
* 8.2.56 Outer Header Creation
*/
-
-static const value_string pfcp_outer_hdr_desc_vals[] = {
-
- { 0x0001, "GTP-U/UDP/IPv4 " },
- { 0x0002, "GTP-U/UDP/IPv6 " },
- { 0x0003, "GTP-U/UDP/IPv4/IPv6 " },
- { 0x0004, "UDP/IPv4 " },
- { 0x0008, "UDP/IPv6 " },
- { 0x000C, "UDP/IPv4/IPv6 " },
- { 0x0010, "IPv4 " },
- { 0x0020, "IPv6 " },
- { 0x0030, "IPv4/IPv6 " },
- { 0x0040, "C-TAG " },
- { 0x0080, "S-TAG " },
- { 0x0100, "N19 Indication " },
- { 0x0200, "N6 Indication " },
- { 0x0400, "Low Layer SSM and C-TEID " },
- { 0, NULL }
-};
-
static void
dissect_pfcp_outer_header_creation(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item _U_, guint16 length, guint8 message_type _U_, pfcp_session_args_t *args _U_)
{
int offset = 0;
- guint32 value;
+ guint64 value;
+
+ static int * const outer_hdr_desc[] = {
+ &hf_pfcp_outer_hdr_desc_o5_b7_stag,
+ &hf_pfcp_outer_hdr_desc_o5_b6_ctag,
+ &hf_pfcp_outer_hdr_desc_o5_b5_ipv6,
+ &hf_pfcp_outer_hdr_desc_o5_b4_ipv4,
+ &hf_pfcp_outer_hdr_desc_o5_b3_udp_ipv6,
+ &hf_pfcp_outer_hdr_desc_o5_b2_udp_ipv4,
+ &hf_pfcp_outer_hdr_desc_o5_b1_gtp_udp_ipv6,
+ &hf_pfcp_outer_hdr_desc_o5_b0_gtp_udp_ipv4,
+ &hf_pfcp_outer_hdr_desc_o6_spare,
+ &hf_pfcp_outer_hdr_desc_o6_b2_ssm_cteid,
+ &hf_pfcp_outer_hdr_desc_o6_b1_n6,
+ &hf_pfcp_outer_hdr_desc_o6_b0_n19,
+ NULL
+ };
- /* Octet 5 Outer Header Creation Description */
- proto_tree_add_item_ret_uint(tree, hf_pfcp_outer_hdr_desc, tvb, offset, 2, ENC_BIG_ENDIAN, &value);
+ /* Octet 5-6 Outer Header Creation Description */
+ proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 2, outer_hdr_desc, ENC_BIG_ENDIAN, &value);
offset += 2;
+
/* m to (m+3) TEID
* The TEID field shall be present if the Outer Header Creation Description requests the creation of a GTP-U header.
* Otherwise it shall not be present
*/
- if ((value & 0x000100) || (value & 0x000200)) {
+ if ((value & 0x0100) || (value & 0x0200)) {
proto_tree_add_item(tree, hf_pfcp_outer_hdr_creation_teid, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
}
@@ -4515,7 +4523,7 @@ dissect_pfcp_outer_header_creation(tvbuff_t *tvb, packet_info *pinfo, proto_tree
* p to (p+3) IPv4
* The IPv4 Address field shall be present if the Outer Header Creation Description requests the creation of a IPv4 header
*/
- if ((value & 0x000100) || (value & 0x000400) || (value & 0x001000)) {
+ if ((value & 0x0100) || (value & 0x0400) || (value & 0x1000)) {
proto_tree_add_item(tree, hf_pfcp_outer_hdr_creation_ipv4, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
}
@@ -4524,7 +4532,7 @@ dissect_pfcp_outer_header_creation(tvbuff_t *tvb, packet_info *pinfo, proto_tree
* q to (q+15) IPv6
* The IPv6 Address field shall be present if the Outer Header Creation Description requests the creation of a IPv6 header
*/
- if ((value & 0x000200) || (value & 0x000800) || (value & 0x002000)) {
+ if ((value & 0x0200) || (value & 0x0800) || (value & 0x2000)) {
proto_tree_add_item(tree, hf_pfcp_outer_hdr_creation_ipv6, tvb, offset, 16, ENC_NA);
offset += 16;
}
@@ -4533,7 +4541,7 @@ dissect_pfcp_outer_header_creation(tvbuff_t *tvb, packet_info *pinfo, proto_tree
* r to (r+1) Port Number
* The Port Number field shall be present if the Outer Header Creation Description requests the creation of a UDP/IP header
*/
- if ((value & 0x000400) || (value & 0x000800)) {
+ if ((value & 0x0400) || (value & 0x0800)) {
proto_tree_add_item(tree, hf_pfcp_outer_hdr_creation_port, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
}
@@ -4542,7 +4550,7 @@ dissect_pfcp_outer_header_creation(tvbuff_t *tvb, packet_info *pinfo, proto_tree
* t to (t+2) C-TAG
* The C-TAG field shall be present if the Outer Header Creation Description requests the setting of the C-Tag in Ethernet packet
*/
- if (value & 0x004000) {
+ if (value & 0x4000) {
offset = decode_pfcp_c_tag(tvb, pinfo, tree, item, offset);
}
@@ -4550,7 +4558,7 @@ dissect_pfcp_outer_header_creation(tvbuff_t *tvb, packet_info *pinfo, proto_tree
* u to (u+2) S-TAG
* The S-TAG field shall be present if the Outer Header Creation Description requests the setting of the S-Tag in Ethernet packet
*/
- if (value & 0x008000) {
+ if (value & 0x8000) {
offset = decode_pfcp_s_tag(tvb, pinfo, tree, item, offset);
}
@@ -12606,9 +12614,64 @@ proto_register_pfcp(void)
FT_UINT16, BASE_DEC, NULL, 0x0,
NULL, HFILL }
},
- { &hf_pfcp_outer_hdr_desc,
- { "Outer Header Creation Description", "pfcp.outer_hdr_desc",
- FT_UINT16, BASE_DEC, VALS(pfcp_outer_hdr_desc_vals), 0x0,
+ { &hf_pfcp_outer_hdr_desc_o5_b0_gtp_udp_ipv4,
+ { "GTP-U/UDP/IPv4", "pfcp.pfcp_outer_hdr_desc.gtpu_udp_ipv4",
+ FT_BOOLEAN, 16, NULL, 0x0100,
+ NULL, HFILL }
+ },
+ { &hf_pfcp_outer_hdr_desc_o5_b1_gtp_udp_ipv6,
+ { "GTP-U/UDP/IPv6", "pfcp.pfcp_outer_hdr_desc.gtpu_udp_ipv6",
+ FT_BOOLEAN, 16, NULL, 0x0200,
+ NULL, HFILL }
+ },
+ { &hf_pfcp_outer_hdr_desc_o5_b2_udp_ipv4,
+ { "UDP/IPv4", "pfcp.pfcp_outer_hdr_desc.udp_ipv4",
+ FT_BOOLEAN, 16, NULL, 0x0400,
+ NULL, HFILL }
+ },
+ { &hf_pfcp_outer_hdr_desc_o5_b3_udp_ipv6,
+ { "UDP/IPv6", "pfcp.pfcp_outer_hdr_desc.udp_ipv6",
+ FT_BOOLEAN, 16, NULL, 0x0800,
+ NULL, HFILL }
+ },
+ { &hf_pfcp_outer_hdr_desc_o5_b4_ipv4,
+ { "IPv4", "pfcp.pfcp_outer_hdr_desc.ipv4",
+ FT_BOOLEAN, 16, NULL, 0x1000,
+ NULL, HFILL }
+ },
+ { &hf_pfcp_outer_hdr_desc_o5_b5_ipv6,
+ { "IPv6", "pfcp.pfcp_outer_hdr_desc.ipv6",
+ FT_BOOLEAN, 16, NULL, 0x2000,
+ NULL, HFILL }
+ },
+ { &hf_pfcp_outer_hdr_desc_o5_b6_ctag,
+ { "C-TAG", "pfcp.pfcp_outer_hdr_desc.ctag",
+ FT_BOOLEAN, 16, NULL, 0x4000,
+ NULL, HFILL }
+ },
+ { &hf_pfcp_outer_hdr_desc_o5_b7_stag,
+ { "S-TAG", "pfcp.pfcp_outer_hdr_desc.stag",
+ FT_BOOLEAN, 16, NULL, 0x8000,
+ NULL, HFILL }
+ },
+ { &hf_pfcp_outer_hdr_desc_o6_b0_n19,
+ { "N19 Indication", "pfcp.pfcp_outer_hdr_desc.n19",
+ FT_BOOLEAN, 16, NULL, 0x0001,
+ NULL, HFILL }
+ },
+ { &hf_pfcp_outer_hdr_desc_o6_b1_n6,
+ { "N6 Indication", "pfcp.pfcp_outer_hdr_desc.n6",
+ FT_BOOLEAN, 16, NULL, 0x0002,
+ NULL, HFILL }
+ },
+ { &hf_pfcp_outer_hdr_desc_o6_b2_ssm_cteid,
+ { "Low Layer SSM and C-TEID", "pfcp.pfcp_outer_hdr_desc.ssm_cteid",
+ FT_BOOLEAN, 16, NULL, 0x0004,
+ NULL, HFILL }
+ },
+ { &hf_pfcp_outer_hdr_desc_o6_spare,
+ { "Spare", "pfcp.pfcp_outer_hdr_desc.spare",
+ FT_UINT16, BASE_DEC, NULL, 0x00f8,
NULL, HFILL }
},
{ &hf_pfcp_outer_hdr_creation_teid,
diff --git a/epan/dissectors/packet-ptp.c b/epan/dissectors/packet-ptp.c
index 09d499b8..c87fc521 100644
--- a/epan/dissectors/packet-ptp.c
+++ b/epan/dissectors/packet-ptp.c
@@ -3730,7 +3730,7 @@ dissect_ptp_v2(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolean ptp
for(path_seq_total_length = 0; path_seq_total_length < tlv_length; path_seq_total_length+=8)
{
proto_tree_add_item(ptp_tlv_tree, hf_ptp_v2_an_tlv_pathsequence, tvb,
- PTP_V2_AN_TLV_OFFSET + PTP_AS_AN_TLV_PATH_TRACE_OFFSET + path_seq_total_length,
+ PTP_V2_AN_TLV_OFFSET + tlv_total_length + PTP_AS_AN_TLV_PATH_TRACE_OFFSET + path_seq_total_length,
8, ENC_BIG_ENDIAN);
}
diff --git a/epan/dissectors/packet-quic.c b/epan/dissectors/packet-quic.c
index a41ce9cc..cabc2c50 100644
--- a/epan/dissectors/packet-quic.c
+++ b/epan/dissectors/packet-quic.c
@@ -1257,6 +1257,14 @@ quic_connection_find(packet_info *pinfo, guint8 long_packet_type,
// No match found, truncate DCID (not really needed, but this
// ensures that debug prints clearly show that DCID is invalid).
dcid->len = 0;
+ } else if (quic_connection_from_conv(pinfo) == NULL) {
+ // Connection information might not be attached to the conversation,
+ // because of connection migration.
+ conversation_t *conv = find_conversation_pinfo(pinfo, 0);
+ if (conv) {
+ // attach the connection information to the conversation.
+ conversation_add_proto_data(conv, proto_quic, conn);
+ }
}
}
return conn;
diff --git a/epan/dissectors/packet-ssh.c b/epan/dissectors/packet-ssh.c
index 1b919590..4f2b0ff5 100644
--- a/epan/dissectors/packet-ssh.c
+++ b/epan/dissectors/packet-ssh.c
@@ -2131,6 +2131,8 @@ ssh_kex_hash_type(gchar *type_string)
return SSH_KEX_HASH_SHA1;
}else if (type_string && g_str_has_suffix(type_string, "sha256")) {
return SSH_KEX_HASH_SHA256;
+ }else if (type_string && g_str_has_suffix(type_string, "sha256@libssh.org")) {
+ return SSH_KEX_HASH_SHA256;
}else if (type_string && g_str_has_suffix(type_string, "sha512")) {
return SSH_KEX_HASH_SHA512;
} else {
@@ -2751,7 +2753,6 @@ ssh_decryption_set_mac_id(struct ssh_peer_data *peer)
} else if (0 == strcmp(mac_name, "hmac-sha2-256")) {
peer->mac_id = CIPHER_MAC_SHA2_256;
} else {
- peer->mac = NULL;
ws_debug("decryption MAC not supported: %s", mac_name);
}
}
diff --git a/epan/dissectors/packet-tipc.c b/epan/dissectors/packet-tipc.c
index fb41797d..a556ed6a 100644
--- a/epan/dissectors/packet-tipc.c
+++ b/epan/dissectors/packet-tipc.c
@@ -1099,13 +1099,16 @@ dissect_tipc_v2_internal_msg(tvbuff_t *tipc_tvb, proto_tree *tipc_tree, packet_i
/* the bearer instance string is padded with \0 to the next word boundry */
b_inst_strlen = tvb_strsize(tipc_tvb, offset);
offset += b_inst_strlen;
- if ((padlen = (4-b_inst_strlen%4)) > 0) {
+ if ((padlen = ((b_inst_strlen%4)?(4-(b_inst_strlen%4)):0)) > 0) {
proto_tree_add_bytes_format_value(tipc_tree, hf_tipcv2_padding, tipc_tvb, offset, padlen, NULL, "%d byte%c", padlen, (padlen!=1?'s':0));
offset += padlen;
}
if ((offset-msg_size) > 0) {
+ int filler_len;
+
+ filler_len = tvb_reported_length_remaining(tipc_tvb, offset);
proto_tree_add_bytes_format_value(tipc_tree, hf_tipcv2_filler_mtu_discovery, tipc_tvb, offset, -1, NULL,
- "%d byte%c", tvb_reported_length_remaining(tipc_tvb, offset), (padlen!=1?'s':0));
+ "%d byte%c", filler_len, (filler_len!=1?'s':0));
}
}
break;
diff --git a/epan/dissectors/packet-tls-utils.c b/epan/dissectors/packet-tls-utils.c
index a2572b7b..2a60d835 100644
--- a/epan/dissectors/packet-tls-utils.c
+++ b/epan/dissectors/packet-tls-utils.c
@@ -1403,6 +1403,18 @@ const value_string tls13_key_update_request[] = {
};
/* RFC 5246 7.4.1.4.1 */
+/* https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml */
+/* Note that the TLS 1.3 SignatureScheme registry reserves all values
+ * with first octet 0x00-0x06 and all values with second octet 0x00-0x03
+ * for backwards compatiblilty with TLS 1.2 SignatureAndHashAlgorithm.
+ *
+ * RFC 8422 and RFC 9189 add official support in TLS 1.2 for some algorithms
+ * originally defined for TLS 1.3, and extend the TLS SignatureAlgorithm
+ * and TLS HashAlgorithm registries, but the new values are not compatible
+ * with all of the TLS 1.3-only SignatureSchemes. Adding those values could
+ * cause confusion if used to interpret one of those schemes in a
+ * signature_algorithms extension offered in a TLS 1.3 ClientHello.
+ */
const value_string tls_hash_algorithm[] = {
{ 0, "None" },
{ 1, "MD5" },
@@ -1411,7 +1423,14 @@ const value_string tls_hash_algorithm[] = {
{ 4, "SHA256" },
{ 5, "SHA384" },
{ 6, "SHA512" },
- { 7, "SM3" },
+#if 0
+ /* RFC 8422 adds this to the HashAlgorithm registry, but it really
+ * only applies to 0x0807 and 0x0808, not for other TLS 1.3
+ * SignatureSchemes with 0x08 in the octet used for Hash in TLS 1.2.
+ * E.g., we don't want to display this for 0x0806 rsa_pss_rsae_sha512.
+ */
+ { 8, "Intrinsic" },
+#endif
{ 0, NULL }
};
@@ -1420,7 +1439,13 @@ const value_string tls_signature_algorithm[] = {
{ 1, "RSA" },
{ 2, "DSA" },
{ 3, "ECDSA" },
- { 4, "SM2" },
+#if 0
+ /* As above. */
+ { 7, "ED25519" },
+ { 8, "ED448" },
+ { 64, "GOSTR34102012_256" },
+ { 65, "GOSTR34102012_512" },
+#endif
{ 0, NULL }
};
diff --git a/epan/dissectors/packet-zbee-direct.c b/epan/dissectors/packet-zbee-direct.c
index 971eb9bc..e8e8eda6 100644
--- a/epan/dissectors/packet-zbee-direct.c
+++ b/epan/dissectors/packet-zbee-direct.c
@@ -1883,9 +1883,9 @@ void proto_reg_handoff_zb_direct(void)
/* 7.7.2.3. Zigbee Direct Commissioning Service characteristics */
{ "7072377d-0001-421c-b163-491c27333a61", dissect_zb_direct_formation },
- { "7072377d-0002-421c-b163-491c27333a61", dissect_zb_direct_leave },
- { "7072377d-0003-421c-b163-491c27333a61", dissect_zb_direct_join },
- { "7072377d-0004-421c-b163-491c27333a61", dissect_zb_direct_permit_join },
+ { "7072377d-0002-421c-b163-491c27333a61", dissect_zb_direct_join },
+ { "7072377d-0003-421c-b163-491c27333a61", dissect_zb_direct_permit_join },
+ { "7072377d-0004-421c-b163-491c27333a61", dissect_zb_direct_leave },
{ "7072377d-0005-421c-b163-491c27333a61", dissect_zb_direct_status },
{ "7072377d-0006-421c-b163-491c27333a61", dissect_zb_direct_manage_joiners },
{ "7072377d-0007-421c-b163-491c27333a61", dissect_zb_direct_identify },
diff --git a/epan/dissectors/packet-zbee-tlv.c b/epan/dissectors/packet-zbee-tlv.c
index 77abd2a7..1ba6e49a 100644
--- a/epan/dissectors/packet-zbee-tlv.c
+++ b/epan/dissectors/packet-zbee-tlv.c
@@ -2790,12 +2790,12 @@ dissect_zbee_tlvs(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, guint
guint8 length;
unsigned recursion_depth = p_get_proto_depth(pinfo, proto_zbee_tlv);
- if (++recursion_depth >= ZBEE_TLV_MAX_RECURSION_DEPTH) {
- proto_tree_add_expert(tree, pinfo, &ei_zbee_tlv_max_recursion_depth_reached, tvb, 0, 0);
- return tvb_reported_length_remaining(tvb, offset);
- }
+ if (++recursion_depth >= ZBEE_TLV_MAX_RECURSION_DEPTH) {
+ proto_tree_add_expert(tree, pinfo, &ei_zbee_tlv_max_recursion_depth_reached, tvb, 0, 0);
+ return offset;
+ }
- p_set_proto_depth(pinfo, proto_zbee_tlv, recursion_depth);
+ p_set_proto_depth(pinfo, proto_zbee_tlv, recursion_depth);
while (tvb_bytes_exist(tvb, offset, ZBEE_TLV_HEADER_LENGTH)) {
length = tvb_get_guint8(tvb, offset + 1) + 1;
diff --git a/epan/dissectors/usb.c b/epan/dissectors/usb.c
index 1f830e38..0c76303e 100644
--- a/epan/dissectors/usb.c
+++ b/epan/dissectors/usb.c
@@ -8175,6 +8175,7 @@ static const value_string usb_products_vals[] = {
{ 0x04b00450, "Nikon Z9" },
{ 0x04b00451, "Nikon Z8" },
{ 0x04b00452, "Nikon Z30" },
+ { 0x04b00453, "Nikon Zf" },
{ 0x04b00601, "Nikon V1" },
{ 0x04b00602, "Nikon J1" },
{ 0x04b00603, "Nikon J2" },
diff --git a/epan/enterprises.c b/epan/enterprises.c
index ec8cd0a0..2c87c7ee 100644
--- a/epan/enterprises.c
+++ b/epan/enterprises.c
@@ -8,7 +8,7 @@
* SPDX-License-Identifier: GPL-2.0-or-later
*/
-/* (last updated 2024-03-22) */
+/* (last updated 2024-05-10) */
#include "config.h"
@@ -19,12 +19,12 @@
typedef struct
{
uint32_t max_idx;
- const char* values[61692];
+ const char* values[61884];
} global_enterprises_table_t;
static global_enterprises_table_t table =
{
- 61691,
+ 61883,
{
"Reserved", // 0
"NxNetworks", // 1
@@ -316,7 +316,7 @@ static global_enterprises_table_t table =
"CSELT(Centro Studi E Laboratori Telecomunicazioni)", // 287
"Electronic Data Systems", // 288
"Brocade Communications Systems, Inc.", // 289
- "Harris Corporation", // 290
+ "L3Harris Corporation", // 290
"Technology Dynamics, Inc.", // 291
"DATAHOUSE Information Systems Ltd.", // 292
"Teltrend (NZ) Limited", // 293
@@ -5014,7 +5014,7 @@ static global_enterprises_table_t table =
"Vigilant Networks", // 4985
"KB/Tel", // 4986
"Simpler Networks Inc.", // 4987
- "Ronningen Consulting", // 4988
+ "Synkro AS", // 4988
"Connect Austria GmbH", // 4989
"TTI Telecom", // 4990
"Stonebridge Technologies, Inc.S.E.", // 4991
@@ -9862,7 +9862,7 @@ static global_enterprises_table_t table =
"Legend Holdings Ltd.", // 9833
"Agencja Uslug InformatycznychARTCOMP", // 9834
"Alien Network", // 9835
- "AOK Bayern", // 9836
+ "AOK Bayern – Die Gesundheitskasse", // 9836
"Ball State University", // 9837
"Broadview Networks, Inc.", // 9838
"CAREL", // 9839
@@ -10411,7 +10411,7 @@ static global_enterprises_table_t table =
"UCNET", // 10382
"Universite de Liege", // 10383
"Virginia Commonwealth University", // 10384
- "Westronic Systems, Inc.", // 10385
+ "Guardian Telecom Ltd.", // 10385
"YoungWoo Telecom Co., LTD", // 10386
"Dongah Elecomm", // 10387
"Supportcomm Teleinformatica SA", // 10388
@@ -19009,7 +19009,7 @@ static global_enterprises_table_t table =
"Cypak AB", // 18980
"Reserved", // 18981
"Link-Yug Ltd.", // 18982
- "AOK Sachsen", // 18983
+ "AOK PLUS – Die Gesundheitskasse für Sachsen und Thüringen", // 18983
"Magos Consulting, Ltd.", // 18984
"Insinova AG", // 18985
"FleetBoston Financial Corporation", // 18986
@@ -26722,7 +26722,7 @@ static global_enterprises_table_t table =
"AirPoint Co., Ltd.", // 26693
"Digitals India", // 26694
"Openlink Financial, Inc.", // 26695
- "Marvell Semiconductor Inc.", // 26696
+ "Marvell Technology Inc", // 26696
"Arces Network, LLC", // 26697
"Net Project SRL", // 26698
"Open Switch Software e Consultoria Ltda", // 26699
@@ -40480,7 +40480,7 @@ static global_enterprises_table_t table =
"Allens, Inc.", // 40451
"Care Team Connect Inc.", // 40452
"School District", // 40453
- "Jaguar Network", // 40454
+ "Free Pro", // 40454
"TMM.CX", // 40455
"Radio Systems Ltd", // 40456
"Zen Entertainment, Inc.", // 40457
@@ -40598,7 +40598,7 @@ static global_enterprises_table_t table =
"HERNIS Scan Systems AS", // 40569
"RFOptic", // 40570
"SRT Communications, Inc.", // 40571
- "Carlos Domingues", // 40572
+ "CapTemp, Lda", // 40572
"vklop.com", // 40573
"Ukrainian Computer Laboratory ltd.", // 40574
"Touro Infirmary", // 40575
@@ -47482,7 +47482,7 @@ static global_enterprises_table_t table =
"Gobierno de Santa Fe", // 47453
"Area d'Inxenieria Telematica - University of Oviedo", // 47454
"Sydved AB", // 47455
- "Vodafone NZ Limited", // 47456
+ "One New Zealand Group Limited", // 47456
"SAS Orbitracs", // 47457
"GIGANET NETWORKING SOLUTIONS LTD", // 47458
"BKM-Micronic Richtfunkanlagen GmbH", // 47459
@@ -49330,7 +49330,7 @@ static global_enterprises_table_t table =
"BCS Information Systems Pte Ltd", // 49301
"Dart Container", // 49302
"Flexmedia Ind. e Com. de Tecnologia Ltda.", // 49303
- "Tapoustry", // 49304
+ NULL, // 49304
"Neural Technologies", // 49305
"AUM Cardiovascular Inc", // 49306
"Secturion Systems Inc.", // 49307
@@ -51734,7 +51734,7 @@ static global_enterprises_table_t table =
"Ionx Solutions", // 51705
"Anditi", // 51706
"South Sound Oncology Services, PC", // 51707
- "Gatema a.s.", // 51708
+ "Medutech s.r.o.", // 51708
"K-CIX", // 51709
"Electronic Monitoring Solutionz Ltd", // 51710
"Apis Networks", // 51711
@@ -54624,7 +54624,7 @@ static global_enterprises_table_t table =
"Phinergy", // 54595
"Duracomm Corporation", // 54596
"L&T Technology Services", // 54597
- "Daimler AG", // 54598
+ "Mercedes-Benz Group AG", // 54598
"DPD Direct Parcel Distribution Austria GmbH", // 54599
"PGE Systemy S.A.", // 54600
"LLC «FOTEL»", // 54601
@@ -55203,7 +55203,7 @@ static global_enterprises_table_t table =
"LPS France", // 55174
"Hans Sasserath GmbH & Co. KG", // 55175
"Hitachi Industrial Equipment Systems Co.,Ltd.", // 55176
- "MOS Corporate Service GmbH", // 55177
+ "MOS Corporate Services GmbH", // 55177
"OECHSLER AG", // 55178
"OECHSLER Motion GmbH", // 55179
"Säters Kommun", // 55180
@@ -57990,7 +57990,7 @@ static global_enterprises_table_t table =
"Telycan S.L.", // 57961
"Sedam IT d.o.o.", // 57962
"Afzar Pardaz Tose'eh", // 57963
- "ZAP Surgical Systems, Inc.", // 57964
+ "ZAP Surgical Systems, Inc", // 57964
"LLC ""Company DVK-electro""", // 57965
"Aethera Technologies Limited", // 57966
"INSTITUTO PARA LA DINAMIZACIÓN ECONÓMICA S.A.", // 57967
@@ -59920,7 +59920,7 @@ static global_enterprises_table_t table =
"Baltic Institute of Advanced Technology", // 59891
"Denomas Denetim Otomasyon", // 59892
"ZhangZexin", // 59893
- "LBS Westdeutsche Landesbausparkasse", // 59894
+ "LBS Landesbausparkasse NordWest", // 59894
"DOXIO", // 59895
"NTS LLC", // 59896
"Anothermouse", // 59897
@@ -61376,7 +61376,7 @@ static global_enterprises_table_t table =
"Kirill Sluzhaev", // 61347
"Limited Liability Company ""Thunder Soft""", // 61348
"北京中科恒伦科技有限公司 (Beijing Zhongke Henglun Technology Co., Ltd.)", // 61349
- "SMARTGEN(ZHENGZHOU) TECHNOLOGY CO.,LTD", // 61350
+ "smartgen", // 61350
"Telekomi Kosoves", // 61351
"Parta Networks", // 61352
"Polar Wind Medical Center, Inc.", // 61353
@@ -61597,7 +61597,7 @@ static global_enterprises_table_t table =
"Shanghai Pingbo Info & Tech Ltd.", // 61568
"Matthew Gardner", // 61569
"Bence Skorka", // 61570
- "Asseco SEE d.o.o Beograd", // 61571
+ "ASEE Solutions d.o.o Beograd", // 61571
"BNGSOFT ltd.", // 61572
"Code Fox", // 61573
"Stadt Troisdorf", // 61574
@@ -61717,7 +61717,199 @@ static global_enterprises_table_t table =
"oruga.de", // 61688
"Ricon İletişim AŞ", // 61689
"ThinkCloud", // 61690
- "Public Joint Stock Company Mobile TeleSystems (PJSC MTS)" // 61691
+ "Public Joint Stock Company Mobile TeleSystems (PJSC MTS)", // 61691
+ "MA Labs", // 61692
+ "Karam Jameel Moore", // 61693
+ "Local Connectivity Lab", // 61694
+ "Eltron s.r.o.", // 61695
+ "MEMMERT GMBH + CO. KG", // 61696
+ "Bolle", // 61697
+ "r01.li hébergement communautaire", // 61698
+ "Esc Muhendislik A.S.", // 61699
+ "Southgate Community Schools", // 61700
+ "Piing.ai", // 61701
+ "Kuhmo Oy", // 61702
+ "Thomasville City Schools", // 61703
+ "Luminex Software Inc.", // 61704
+ "Ravit Technologies Pvt. Ltd.", // 61705
+ "NTT DATA, Inc - Netherlands", // 61706
+ "Shanghai Fanzhen Information Technology Co., Ltd.", // 61707
+ "hotwirestudios", // 61708
+ "PatchAmp", // 61709
+ "BJS Family", // 61710
+ "Jess Schallenberg", // 61711
+ "Masoud Shokohi", // 61712
+ "NetworkECO", // 61713
+ "The Principia Corporation", // 61714
+ "Omnissa", // 61715
+ "A.E. Perkins", // 61716
+ "iStore (QLD) Pty Ltd", // 61717
+ "C&D Technologies, Inc", // 61718
+ "THINGS HORIZON PVT LTD", // 61719
+ "Petroleum Development Oman", // 61720
+ "Decatur Morgan Hospital", // 61721
+ "Jennifer Ai", // 61722
+ "Hitachi Vantara Ltd.", // 61723
+ "LEMA", // 61724
+ "Carleton Place & District Memorial Hospital", // 61725
+ "Technical Momentum", // 61726
+ "Torrion River", // 61727
+ "杭州众兴慧智能科技有限公司 (Hangzhou Zhongxinghui Intelligent Technology Co., Ltd.)", // 61728
+ "Stadtverwaltung Schleswig", // 61729
+ "Franco Brothers Enterprises llc.", // 61730
+ "Grupo Armas Trasmediterranea", // 61731
+ "TM Technology Services Sdn Bhd", // 61732
+ "Defigo Ltd.", // 61733
+ "Syntony GNSS", // 61734
+ "IT-Schmid GmbH & Co.KG", // 61735
+ "AssetBook IoT", // 61736
+ "Global Message Services AG", // 61737
+ "DWDM.RU LLC", // 61738
+ "Mentech Power", // 61739
+ "Karol Szczepanowski", // 61740
+ "Ortocomputer", // 61741
+ "Cv Ridho", // 61742
+ "WorldwideOSC", // 61743
+ "Chewing Project", // 61744
+ "KanruInfo", // 61745
+ "Bostocks.Club", // 61746
+ "Hanplast Sp. z o.o.", // 61747
+ "Rikom Technologies SDH. BHD", // 61748
+ "Technické sitě Brno, akciová společnost", // 61749
+ "XDTRUST 02-28-2024 CHARLEY MINNGEAO", // 61750
+ "Enhub", // 61751
+ "Shahed, Inc.", // 61752
+ "Lexi Winter", // 61753
+ "FADU", // 61754
+ "Kraftringen Energi AB", // 61755
+ "ANDA TELECOM PVT. LTD", // 61756
+ "Vierkant Software GmbH", // 61757
+ "Wartsila SAM Electronics GmbH", // 61758
+ "Lehigh University", // 61759
+ "Crist Engineers", // 61760
+ "Simau srl", // 61761
+ "RAPIN", // 61762
+ "Växjö Energi AB", // 61763
+ "ISG Nordic AB", // 61764
+ "DLR e.V. RB", // 61765
+ "SigmaTron International, Inc.", // 61766
+ "HTT", // 61767
+ "CommScope Technologies LLC", // 61768
+ "Jeff Allen", // 61769
+ "hacKRNspace", // 61770
+ "Shenzhen Vahours New Energy Corporation", // 61771
+ "Shenzhen Number Energy Saving Corporation", // 61772
+ "SUMMIT IT CONSULT GmbH", // 61773
+ "Gröner Group AG", // 61774
+ "CG Elementum AG", // 61775
+ "ecobuilding AG", // 61776
+ "Metaminds", // 61777
+ "GLN Schakt & Transport", // 61778
+ "Adrian Gonzaga-Ge Aguilar", // 61779
+ "Beijing Maker 6 Technology Co. Ltd.", // 61780
+ "Noosphere Technologies, Inc.", // 61781
+ "Century Autogroep BV", // 61782
+ "RLKM UG", // 61783
+ "CIUSSS du Centre-Sud-de-l'Île-de-Montréal", // 61784
+ "上海源中信息科技有限公司 (Shanghai Yuanzhong Information Technology Co., Ltd.)", // 61785
+ "Medicalholodeck", // 61786
+ "Kostur IT SERVICES", // 61787
+ "IGOSEC.PL", // 61788
+ "Woningstichting Heteren", // 61789
+ "Omnibit", // 61790
+ "New Hope Information systems", // 61791
+ "Call Box", // 61792
+ "Tradewinds Networks Incorporated", // 61793
+ "Masoud", // 61794
+ "Moreforlesstech", // 61795
+ "Ob/Gyn Professionals of East Tennessee", // 61796
+ "Sobel Tech", // 61797
+ "Beijing Urban Construction Intelligent Control Co.,Ltd", // 61798
+ "Optima SC Inc.", // 61799
+ "Vikor Scientific", // 61800
+ "Nova Software SRL", // 61801
+ "Alta Labs", // 61802
+ "Fox Crypto B.V.", // 61803
+ "XobeBook", // 61804
+ "NEXION Corporation", // 61805
+ "VOLARIS Marcin Ziemiański", // 61806
+ "Marcin Ziemiański", // 61807
+ "kISA@kubus IT GbR", // 61808
+ "The Perfume Shop", // 61809
+ "Bitzer Compressores Ltda.", // 61810
+ "Noah Mesel", // 61811
+ "Tutoringbytiff", // 61812
+ "Irista Technologies, Inc", // 61813
+ "Gitservice.dk", // 61814
+ "Blair A Piper", // 61815
+ "Jungheinrich AG", // 61816
+ "New Yard B.V.", // 61817
+ "Surry County Schools", // 61818
+ "Information Security Services S.A.", // 61819
+ "Chorke, Inc.", // 61820
+ "Dynamo Software", // 61821
+ "Per ALBIN HANSSON", // 61822
+ "Middlesurf Inc.", // 61823
+ "Canadian Centre for Cyber Security", // 61824
+ "H ENERGY LTD", // 61825
+ "Cloud Solutions LLC", // 61826
+ "MC Burny", // 61827
+ "MTN Converged Solutions", // 61828
+ "SAJ DIGITAL ENERGY AUSTRALIA PTY LTD", // 61829
+ "Tinh Van Technologies JSC.", // 61830
+ "MFK Burny", // 61831
+ "Alfavit", // 61832
+ "Xiaojun Ben", // 61833
+ "Venturus Centro de Inovacao Tecnologica", // 61834
+ "Otheda Limited", // 61835
+ "AtFocus", // 61836
+ "Associated Medical Specialists, d/b/a Coastal Cancer Center", // 61837
+ "iatele", // 61838
+ "Secretarium", // 61839
+ "Pohjois-Suomen Metsämarkkinat Oy", // 61840
+ "M+C Schiffer GmbH", // 61841
+ "TRANS ELECTRIC CO.,LTD.", // 61842
+ "Impala Terminals", // 61843
+ "meet patel", // 61844
+ "Paul Rodriguez", // 61845
+ "North Platte Public Schools", // 61846
+ "IEIT SYSTEMS Co.,Ltd.", // 61847
+ "Nexfi", // 61848
+ "ZJUSCT", // 61849
+ "mrhaoxx", // 61850
+ "Cummins, Inc.", // 61851
+ "Northside Hospital, Inc. for the benefit of Atlanta Cancer Care", // 61852
+ "nexgentec AG", // 61853
+ "COFACE", // 61854
+ "Nationwide Telephone Assistance Ltd", // 61855
+ "NextGenGames", // 61856
+ "Converge Enterprise Cloud", // 61857
+ "Silines", // 61858
+ "Miami-Dade Police Department, Fl.", // 61859
+ "SipaZon AB", // 61860
+ "Home Lab LLC", // 61861
+ "NAMIRIAL LIMITED", // 61862
+ "The Danish Society of Engineers, IDA", // 61863
+ "GIGALIGHT", // 61864
+ "SKS Welding Systems GmbH", // 61865
+ "IronWiFi, LLC", // 61866
+ "IDnow Trust Services AB", // 61867
+ "西安恒多智能科技有限公司 (Xi'an Hengduo Intelligent Technology Co., Ltd.)", // 61868
+ "Visional Labs", // 61869
+ "Marieborgs Lantbruk AB", // 61870
+ "Davide Crivelli", // 61871
+ "KAYTUS SYSTEMS PTE. LTD.", // 61872
+ "Landratsamt Tübingen", // 61873
+ "WFF IT-Service GmbH", // 61874
+ "Beijing Jinqun Technology Co., Ltd", // 61875
+ "Shanghai ReeLink Global Communication Company LTD", // 61876
+ "htp GmbH", // 61877
+ "New H3C Technologies Co., Ltd", // 61878
+ "Villageofdali", // 61879
+ "Xsight Labs", // 61880
+ "New Zealand Institute for Plant and Food Research", // 61881
+ "Esri Chile", // 61882
+ "BEQ Technology" // 61883
}
};
diff --git a/epan/manuf-data.c b/epan/manuf-data.c
index ed5992ff..6d262cfa 100644
--- a/epan/manuf-data.c
+++ b/epan/manuf-data.c
@@ -39,6 +39,7 @@ static const manuf_registry_t ieee_registry_table[] = {
{ { 0x10, 0x06, 0x48 }, MA_M },
{ { 0x10, 0x07, 0x23 }, MA_M },
{ { 0x10, 0x54, 0xD2 }, MA_M },
+ { { 0x10, 0x63, 0xA3 }, MA_M },
{ { 0x10, 0xDC, 0xB6 }, MA_M },
{ { 0x14, 0x1F, 0xBA }, MA_M },
{ { 0x14, 0x4F, 0xD7 }, MA_M },
@@ -150,8 +151,10 @@ static const manuf_registry_t ieee_registry_table[] = {
{ { 0x58, 0xC4, 0x1E }, MA_M },
{ { 0x58, 0xE8, 0x76 }, MA_M },
{ { 0x58, 0xFC, 0xDB }, MA_M },
+ { { 0x5C, 0x5A, 0x4C }, MA_M },
{ { 0x5C, 0x6A, 0xEC }, MA_M },
{ { 0x5C, 0x85, 0x7E }, MA_M },
+ { { 0x5C, 0x87, 0xD8 }, MA_M },
{ { 0x5C, 0xF2, 0x86 }, MA_M },
{ { 0x5C, 0xF8, 0x38 }, MA_M },
{ { 0x60, 0x15, 0x92 }, MA_M },
@@ -346,6 +349,7 @@ static const manuf_registry_t ieee_registry_table[] = {
{ { 0xE8, 0x78, 0x29 }, MA_M },
{ { 0xE8, 0xB4, 0x70 }, MA_M },
{ { 0xE8, 0xFF, 0x1E }, MA_M },
+ { { 0xEC, 0x5B, 0xCD }, MA_M },
{ { 0xEC, 0x9A, 0x0C }, MA_M },
{ { 0xEC, 0x9F, 0x0D }, MA_M },
{ { 0xF0, 0x22, 0x1D }, MA_M },
@@ -362,6 +366,7 @@ static const manuf_registry_t ieee_registry_table[] = {
{ { 0xF4, 0xA4, 0x54 }, MA_M },
{ { 0xF8, 0x02, 0x78 }, MA_M },
{ { 0xF8, 0x1D, 0x78 }, MA_M },
+ { { 0xF8, 0x7A, 0x39 }, MA_M },
{ { 0xF8, 0x8A, 0x3C }, MA_M },
{ { 0xF8, 0xB5, 0x68 }, MA_M },
{ { 0xFC, 0x61, 0x79 }, MA_M },
@@ -1030,7 +1035,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x00, 0x02, 0x92 }, "LogicInnovat", "Logic Innovations, Inc." },
{ { 0x00, 0x02, 0x93 }, "SolidData", "Solid Data Systems" },
{ { 0x00, 0x02, 0x94 }, "TokyoSokushi", "Tokyo Sokushin Co., Ltd." },
- { { 0x00, 0x02, 0x95 }, "IPAccess", "IP.Access Limited" },
+ { { 0x00, 0x02, 0x95 }, "MavenirIpaUk", "Mavenir Ipa Uk Ltd" },
{ { 0x00, 0x02, 0x96 }, "Lectron", "Lectron Co,. Ltd." },
{ { 0x00, 0x02, 0x97 }, "CCORnet", "C-COR.net" },
{ { 0x00, 0x02, 0x98 }, "Broadframe", "Broadframe Corporation" },
@@ -2892,7 +2897,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x00, 0x09, 0xF4 }, "AlconLaborat", "Alcon Laboratories, Inc." },
{ { 0x00, 0x09, 0xF5 }, "EmersonNetwo", "Emerson Network Power Co.,Ltd" },
{ { 0x00, 0x09, 0xF6 }, "EasternDigit", "Shenzhen Eastern Digital Tech Ltd." },
- { { 0x00, 0x09, 0xF7 }, "SEDdivisionC", "SED, a division of Calian" },
+ { { 0x00, 0x09, 0xF7 }, "CalianAdvanc", "Calian Advanced Technologies" },
{ { 0x00, 0x09, 0xF8 }, "UnimoTechnol", "Unimo Technology Co., Ltd." },
{ { 0x00, 0x09, 0xF9 }, "ArtJapan", "Art Japan Co., Ltd." },
{ { 0x00, 0x09, 0xFB }, "PhilipsPatie", "Philips Patient Monitoring" },
@@ -3289,7 +3294,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x00, 0x0B, 0x83 }, "Datawatt", "Datawatt B.V." },
{ { 0x00, 0x0B, 0x84 }, "Bodet", "Bodet" },
{ { 0x00, 0x0B, 0x85 }, "Cisco", "Cisco Systems, Inc" },
- { { 0x00, 0x0B, 0x86 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x00, 0x0B, 0x86 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x00, 0x0B, 0x87 }, "AmericanReli", "American Reliance Inc." },
{ { 0x00, 0x0B, 0x88 }, "Vidisco", "Vidisco ltd." },
{ { 0x00, 0x0B, 0x89 }, "TopGlobalTec", "Top Global Technology, Ltd." },
@@ -5505,7 +5510,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x00, 0x14, 0x35 }, "CityCom", "CityCom Corp." },
{ { 0x00, 0x14, 0x36 }, "QwertyElektr", "Qwerty Elektronik AB" },
{ { 0x00, 0x14, 0x37 }, "GSTeletech", "GSTeletech Co.,Ltd." },
- { { 0x00, 0x14, 0x38 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x00, 0x14, 0x38 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x00, 0x14, 0x39 }, "BlonderTongu", "Blonder Tongue Laboratories, Inc" },
{ { 0x00, 0x14, 0x3A }, "RaytalkInter", "Raytalk International Srl" },
{ { 0x00, 0x14, 0x3B }, "Sensovation", "Sensovation AG" },
@@ -7012,7 +7017,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x00, 0x1A, 0x1B }, "ARRISGroup", "ARRIS Group, Inc." },
{ { 0x00, 0x1A, 0x1C }, "GT&TEngineer", "GT&T Engineering Pte Ltd" },
{ { 0x00, 0x1A, 0x1D }, "PChomeOnline", "PChome Online Inc." },
- { { 0x00, 0x1A, 0x1E }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x00, 0x1A, 0x1E }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x00, 0x1A, 0x1F }, "CoastalEnvir", "Coastal Environmental Systems" },
{ { 0x00, 0x1A, 0x20 }, "CMOTECH", "CMOTECH Co. Ltd." },
{ { 0x00, 0x1A, 0x21 }, "BrookhuisApp", "Brookhuis Applied Technologies BV" },
@@ -8203,7 +8208,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x00, 0x1E, 0xC3 }, "Kozio", "Kozio, Inc." },
{ { 0x00, 0x1E, 0xC4 }, "Celio", "Celio Corp" },
{ { 0x00, 0x1E, 0xC5 }, "MiddleAtlant", "Middle Atlantic Products Inc" },
- { { 0x00, 0x1E, 0xC6 }, "ObviusHoldin", "Obvius Holdings LLC" },
+ { { 0x00, 0x1E, 0xC6 }, "LevitonManuf", "Leviton Manufacturing Co., Inc" },
{ { 0x00, 0x1E, 0xC7 }, "2Wire", "2Wire Inc" },
{ { 0x00, 0x1E, 0xC8 }, "RapidMobile", "Rapid Mobile (Pty) Ltd" },
{ { 0x00, 0x1E, 0xC9 }, "Dell", "Dell Inc." },
@@ -9639,7 +9644,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x00, 0x24, 0x69 }, "FasttelSmart", "Fasttel - Smart Doorphones" },
{ { 0x00, 0x24, 0x6A }, "SolidYear", "Solid Year Co., Ltd." },
{ { 0x00, 0x24, 0x6B }, "Covia", "Covia, Inc." },
- { { 0x00, 0x24, 0x6C }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x00, 0x24, 0x6C }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x00, 0x24, 0x6D }, "WeinzierlEng", "Weinzierl Engineering GmbH" },
{ { 0x00, 0x24, 0x6E }, "PhihongUSA", "Phihong USA Corp." },
{ { 0x00, 0x24, 0x6F }, "OndaCommunic", "Onda Communication spa" },
@@ -10916,7 +10921,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x00, 0x4C, 0xE5 }, "SichuanTiany", "Sichuan Tianyi Comheart Telecom Co.,LTD" },
{ { 0x00, 0x4D, 0x32 }, "AndonHealth", "Andon Health Co.,Ltd." },
{ { 0x00, 0x4E, 0x01 }, "Dell", "Dell Inc." },
- { { 0x00, 0x4E, 0x35 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x00, 0x4E, 0x35 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x00, 0x4F, 0x1A }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x00, 0x50, 0x00 }, "NexoCommunic", "Nexo Communications, Inc." },
{ { 0x00, 0x50, 0x01 }, "Yamashita", "Yamashita Systems Corp." },
@@ -12321,6 +12326,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x00, 0xA3, 0x88 }, "SkyUk", "Sky Uk Limited" },
{ { 0x00, 0xA3, 0x8E }, "Cisco", "Cisco Systems, Inc" },
{ { 0x00, 0xA3, 0xD1 }, "Cisco", "Cisco Systems, Inc" },
+ { { 0x00, 0xA4, 0x1C }, "TonlyTechnol", "Tonly Technology Co. Ltd" },
{ { 0x00, 0xA4, 0x5F }, "HuaweiDevice", "Huawei Device Co., Ltd." },
{ { 0x00, 0xA5, 0x09 }, "WigWag", "WigWag Inc." },
{ { 0x00, 0xA5, 0x54 }, "Intel", "Intel Corporate" },
@@ -13316,7 +13322,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x00, 0xFC, 0x8D }, "HitronTechno", "Hitron Technologies. Inc" },
{ { 0x00, 0xFC, 0xBA }, "Cisco", "Cisco Systems, Inc" },
{ { 0x00, 0xFD, 0x22 }, "Cisco", "Cisco Systems, Inc" },
- { { 0x00, 0xFD, 0x45 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x00, 0xFD, 0x45 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x00, 0xFD, 0x4C }, "Nevatec", "Nevatec" },
{ { 0x00, 0xFE, 0xC8 }, "Cisco", "Cisco Systems, Inc" },
{ { 0x02, 0x07, 0x01 }, "RacalDatacom", "Racal-Datacom" },
@@ -13333,6 +13339,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x02, 0xCF, 0x1C }, "Communicatio", "Communication Machinery Corporation" },
{ { 0x02, 0xE6, 0xD3 }, "NixdorfCompu", "Nixdorf Computer Corp." },
{ { 0x04, 0x00, 0x67 }, "StanleyBlack", "Stanley Black & Decker" },
+ { { 0x04, 0x01, 0xA1 }, "Fortinet", "Fortinet, Inc." },
{ { 0x04, 0x01, 0xBB }, "TecnoMobile", "Tecno Mobile Limited" },
{ { 0x04, 0x02, 0x1F }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x04, 0x02, 0xCA }, "Vtsonic", "Shenzhen Vtsonic Co.,ltd" },
@@ -13342,7 +13349,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x04, 0x04, 0xEA }, "ValensSemico", "Valens Semiconductor Ltd." },
{ { 0x04, 0x05, 0xDD }, "CultraviewDi", "Shenzhen Cultraview Digital Technology Co., Ltd" },
{ { 0x04, 0x07, 0x2E }, "VTechElectro", "VTech Electronics Ltd." },
- { { 0x04, 0x09, 0x73 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x04, 0x09, 0x73 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x04, 0x09, 0x86 }, "Arcadyan", "Arcadyan Corporation" },
{ { 0x04, 0x09, 0xA5 }, "HFR", "HFR, Inc." },
{ { 0x04, 0x0A, 0x83 }, "AlcatelLucen", "Alcatel-Lucent" },
@@ -13352,6 +13359,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x04, 0x0E, 0x3C }, "HP", "HP Inc." },
{ { 0x04, 0x0E, 0xC2 }, "ViewSonicMob", "ViewSonic Mobile China Limited" },
{ { 0x04, 0x10, 0x6B }, "XiaomiCommun", "Xiaomi Communications Co Ltd" },
+ { { 0x04, 0x13, 0x7A }, "Apple", "Apple, Inc." },
{ { 0x04, 0x14, 0x71 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x04, 0x15, 0x52 }, "Apple", "Apple, Inc." },
{ { 0x04, 0x15, 0xD9 }, "Viwone", "Viwone" },
@@ -13417,6 +13425,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x04, 0x45, 0xA1 }, "NIRITXinweiT", "NIRIT- Xinwei Telecom Technology Co., Ltd." },
{ { 0x04, 0x46, 0x65 }, "MurataManufa", "Murata Manufacturing Co., Ltd." },
{ { 0x04, 0x46, 0xCF }, "VenustechCyb", "Beijing Venustech Cybervision Co.,Ltd." },
+ { { 0x04, 0x47, 0x07 }, "TexasInstrum", "Texas Instruments" },
{ { 0x04, 0x47, 0x2A }, "PaloAltoNetw", "Palo Alto Networks" },
{ { 0x04, 0x48, 0x9A }, "Apple", "Apple, Inc." },
{ { 0x04, 0x49, 0x5D }, "HuaweiDevice", "Huawei Device Co., Ltd." },
@@ -13523,6 +13532,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x04, 0x92, 0xEE }, "iway", "iway AG" },
{ { 0x04, 0x94, 0x6B }, "TecnoMobile", "Tecno Mobile Limited" },
{ { 0x04, 0x94, 0xA1 }, "CatchWind", "Catch The Wind Inc" },
+ { { 0x04, 0x94, 0xE9 }, "FAXedgeTechn", "FAXedge Technologies, LLC" },
{ { 0x04, 0x95, 0x73 }, "zte", "zte corporation" },
{ { 0x04, 0x95, 0xE6 }, "TendaTechnol", "Tenda Technology Co.,Ltd.Dongguan branch" },
{ { 0x04, 0x96, 0x45 }, "WuxiSkyChipI", "Wuxi Sky Chip Interconnection Technology Co.,Ltd." },
@@ -13576,7 +13586,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x04, 0xBC, 0x87 }, "JustLinkTech", "Shenzhen JustLink Technology Co., LTD" },
{ { 0x04, 0xBC, 0x9F }, "Calix", "Calix Inc." },
{ { 0x04, 0xBD, 0x70 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
- { { 0x04, 0xBD, 0x88 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x04, 0xBD, 0x88 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x04, 0xBD, 0x97 }, "Cisco", "Cisco Systems, Inc" },
{ { 0x04, 0xBD, 0xBF }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x04, 0xBF, 0x1B }, "Dell", "Dell Inc." },
@@ -13641,6 +13651,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x04, 0xE2, 0x29 }, "QingdaoHaier", "Qingdao Haier Technology Co.,Ltd" },
{ { 0x04, 0xE2, 0xF8 }, "AEPTicketing", "AEP Ticketing solutions srl" },
{ { 0x04, 0xE3, 0x1A }, "SagemcomBroa", "Sagemcom Broadband SAS" },
+ { { 0x04, 0xE3, 0x87 }, "Cisco", "Cisco Systems, Inc" },
{ { 0x04, 0xE4, 0x51 }, "TexasInstrum", "Texas Instruments" },
{ { 0x04, 0xE4, 0xB6 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x04, 0xE5, 0x36 }, "Apple", "Apple, Inc." },
@@ -13833,6 +13844,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x08, 0x00, 0x90 }, "Sonoma", "Sonoma Systems" },
{ { 0x08, 0x01, 0x0F }, "SichuanTiany", "Sichuan Tianyi Comheart Telecom Co.,LTD" },
{ { 0x08, 0x02, 0x05 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
+ { { 0x08, 0x02, 0x3C }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x08, 0x02, 0x8E }, "Netgear", "Netgear" },
{ { 0x08, 0x03, 0x42 }, "PaloAltoNetw", "Palo Alto Networks" },
{ { 0x08, 0x03, 0x71 }, "Krg", "Krg Corporate" },
@@ -13854,6 +13866,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x08, 0x10, 0x86 }, "NECPlatforms", "NEC Platforms, Ltd." },
{ { 0x08, 0x11, 0x5E }, "Bitel", "Bitel Co., Ltd." },
{ { 0x08, 0x11, 0x96 }, "Intel", "Intel Corporate" },
+ { { 0x08, 0x12, 0x87 }, "JiangxiRisou", "Jiangxi Risound Electronics Co., LTD" },
{ { 0x08, 0x12, 0xA5 }, "AmazonTechno", "Amazon Technologies Inc." },
{ { 0x08, 0x14, 0x43 }, "Unibrain", "Unibrain S.A." },
{ { 0x08, 0x15, 0x2F }, "SamsungElect", "Samsung Electronics Co., Ltd. ARTIK" },
@@ -14007,6 +14020,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x08, 0x81, 0xF4 }, "JuniperNetwo", "Juniper Networks" },
{ { 0x08, 0x84, 0x66 }, "NovartisPhar", "Novartis Pharma AG" },
{ { 0x08, 0x84, 0x9D }, "AmazonTechno", "Amazon Technologies Inc." },
+ { { 0x08, 0x84, 0xFB }, "HonorDevice", "Honor Device Co., Ltd." },
{ { 0x08, 0x85, 0x5B }, "KontronEurop", "Kontron Europe GmbH" },
{ { 0x08, 0x86, 0x20 }, "TecnoMobile", "Tecno Mobile Limited" },
{ { 0x08, 0x86, 0x3B }, "BelkinIntern", "Belkin International Inc." },
@@ -14029,7 +14043,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x08, 0x95, 0x42 }, "Apple", "Apple, Inc." },
{ { 0x08, 0x96, 0xAD }, "Cisco", "Cisco Systems, Inc" },
{ { 0x08, 0x96, 0xD7 }, "AVM", "AVM GmbH" },
- { { 0x08, 0x97, 0x34 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x08, 0x97, 0x34 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x08, 0x97, 0x58 }, "StrongRising", "Shenzhen Strong Rising Electronics Co.,Ltd DongGuan Subsidiary" },
{ { 0x08, 0x97, 0x98 }, "CompalInform", "Compal Information (Kunshan) Co., Ltd." },
{ { 0x08, 0x99, 0xE8 }, "KEMAS", "KEMAS GmbH" },
@@ -14067,6 +14081,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x08, 0xB4, 0x9D }, "TecnoMobile", "Tecno Mobile Limited" },
{ { 0x08, 0xB4, 0xB1 }, "Google", "Google, Inc." },
{ { 0x08, 0xB4, 0xCF }, "AbicomIntern", "Abicom International" },
+ { { 0x08, 0xB4, 0xD2 }, "Intel", "Intel Corporate" },
{ { 0x08, 0xB6, 0x1F }, "Espressif", "Espressif Inc." },
{ { 0x08, 0xB7, 0x38 }, "LiteOnTechno", "Lite-On Technogy Corp." },
{ { 0x08, 0xB7, 0xEC }, "WirelessSeis", "Wireless Seismic" },
@@ -14143,7 +14158,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x08, 0xF0, 0xB6 }, "EdifierInter", "Edifier International" },
{ { 0x08, 0xF1, 0xB3 }, "CiscoMeraki", "Cisco Meraki" },
{ { 0x08, 0xF1, 0xB7 }, "TowerstreamC", "Towerstream Corpration" },
- { { 0x08, 0xF1, 0xEA }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x08, 0xF1, 0xEA }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x08, 0xF2, 0xF4 }, "NetOnePartne", "Net One Partners Co.,Ltd." },
{ { 0x08, 0xF3, 0xFB }, "Cisco", "Cisco Systems, Inc" },
{ { 0x08, 0xF4, 0x58 }, "HuaweiDevice", "Huawei Device Co., Ltd." },
@@ -14182,6 +14197,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x0C, 0x02, 0xBD }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x0C, 0x04, 0x00 }, "Jantardoo", "Jantar d.o.o." },
{ { 0x0C, 0x05, 0x35 }, "Juniper", "Juniper Systems" },
+ { { 0x0C, 0x07, 0xDF }, "XiaomiCommun", "Xiaomi Communications Co Ltd" },
{ { 0x0C, 0x08, 0xB4 }, "HUMAX", "HUMAX Co., Ltd." },
{ { 0x0C, 0x0A, 0xDF }, "TexasInstrum", "Texas Instruments" },
{ { 0x0C, 0x0E, 0x76 }, "DLinkInterna", "D-Link International" },
@@ -14217,6 +14233,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x0C, 0x29, 0x8F }, "Tesla", "Tesla,Inc." },
{ { 0x0C, 0x29, 0xEF }, "Dell", "Dell Inc." },
{ { 0x0C, 0x2A, 0x69 }, "electricimp", "electric imp, incorporated" },
+ { { 0x0C, 0x2A, 0x6F }, "SiliconLabor", "Silicon Laboratories" },
{ { 0x0C, 0x2A, 0x86 }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" },
{ { 0x0C, 0x2A, 0xE7 }, "GeneralResea", "Beijing General Research Institute of Mining and Metallurgy" },
{ { 0x0C, 0x2C, 0x54 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
@@ -14225,6 +14242,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x0C, 0x2F, 0xB0 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x0C, 0x30, 0x21 }, "Apple", "Apple, Inc." },
{ { 0x0C, 0x31, 0xDC }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
+ { { 0x0C, 0x32, 0x3A }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x0C, 0x35, 0x26 }, "Microsoft", "Microsoft Corporation" },
{ { 0x0C, 0x35, 0x4F }, "Nokia", "Nokia" },
{ { 0x0C, 0x35, 0xFE }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" },
@@ -14332,6 +14350,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x0C, 0x84, 0x84 }, "ZenoviaElect", "Zenovia Electronics Inc." },
{ { 0x0C, 0x84, 0xDC }, "HonHaiPrecis", "Hon Hai Precision Ind. Co.,Ltd." },
{ { 0x0C, 0x85, 0x25 }, "Cisco", "Cisco Systems, Inc" },
+ { { 0x0C, 0x85, 0xE1 }, "Apple", "Apple, Inc." },
{ { 0x0C, 0x86, 0x10 }, "JuniperNetwo", "Juniper Networks" },
{ { 0x0C, 0x86, 0xC7 }, "JabilCircuit", "Jabil Circuit (Guangzhou) Limited" },
{ { 0x0C, 0x87, 0x72 }, "FujianStarNe", "Fujian Star-Net Communication Co.,Ltd" },
@@ -14363,7 +14382,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x0C, 0x96, 0xBF }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x0C, 0x96, 0xCD }, "Mercury", "Mercury Corporation" },
{ { 0x0C, 0x96, 0xE6 }, "CloudNetwork", "Cloud Network Technology (Samoa) Limited" },
- { { 0x0C, 0x97, 0x5F }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x0C, 0x97, 0x5F }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x0C, 0x98, 0x38 }, "XiaomiCommun", "Xiaomi Communications Co Ltd" },
{ { 0x0C, 0x9A, 0x3C }, "Intel", "Intel Corporate" },
{ { 0x0C, 0x9A, 0x42 }, "FnLinkTechno", "Fn-Link Technology Limited" },
@@ -14414,6 +14433,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x0C, 0xBF, 0x74 }, "MorseMicro", "Morse Micro" },
{ { 0x0C, 0xC0, 0xC0 }, "MagnetiMarel", "Magneti Marelli Sistemas Electronicos Mexico" },
{ { 0x0C, 0xC3, 0xA7 }, "Meritec", "Meritec" },
+ { { 0x0C, 0xC3, 0xB8 }, "JiahuaZhongl", "Shenzhen Jiahua Zhongli Technology Co., LTD" },
{ { 0x0C, 0xC4, 0x13 }, "Google", "Google, Inc." },
{ { 0x0C, 0xC4, 0x7A }, "SuperMicroCo", "Super Micro Computer, Inc." },
{ { 0x0C, 0xC4, 0x7E }, "EUCAST", "EUCAST Co., Ltd." },
@@ -14439,6 +14459,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x0C, 0xD0, 0xF8 }, "Cisco", "Cisco Systems, Inc" },
{ { 0x0C, 0xD2, 0x92 }, "Intel", "Intel Corporate" },
{ { 0x0C, 0xD2, 0xB5 }, "BinatoneTele", "Binatone Telecommunication Pvt. Ltd" },
+ { { 0x0C, 0xD3, 0xA1 }, "MonthlyKitch", "Monthly Kitchen" },
{ { 0x0C, 0xD5, 0x02 }, "WestellTechn", "Westell Technologies Inc." },
{ { 0x0C, 0xD5, 0xD3 }, "Cisco", "Cisco Systems, Inc" },
{ { 0x0C, 0xD6, 0x96 }, "Amimon", "Amimon Ltd" },
@@ -14471,6 +14492,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x0C, 0xE8, 0x2F }, "BonfiglioliV", "Bonfiglioli Vectron GmbH" },
{ { 0x0C, 0xE9, 0x36 }, "ELIMOS", "ELIMOS srl" },
{ { 0x0C, 0xE9, 0x9A }, "AtlsAltec", "Atls Altec" },
+ { { 0x0C, 0xEA, 0x14 }, "Ubiquiti", "Ubiquiti Inc" },
{ { 0x0C, 0xEA, 0xC9 }, "ARRISGroup", "ARRIS Group, Inc." },
{ { 0x0C, 0xEC, 0x80 }, "TexasInstrum", "Texas Instruments" },
{ { 0x0C, 0xEC, 0x84 }, "TINNOMobileT", "Shenzhen TINNO Mobile Technology Corp." },
@@ -14548,6 +14570,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x10, 0x1E, 0xDA }, "IngenicoTerm", "Ingenico Terminals Sas" },
{ { 0x10, 0x1F, 0x74 }, "HewlettPacka", "Hewlett Packard" },
{ { 0x10, 0x22, 0x79 }, "ZeroDesktop", "ZeroDesktop, Inc." },
+ { { 0x10, 0x23, 0x81 }, "BarrotTechno", "Barrot Technology Co.,LTD" },
{ { 0x10, 0x24, 0x07 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x10, 0x27, 0x79 }, "Sadel", "Sadel S.p.A." },
{ { 0x10, 0x27, 0xBE }, "Tvip", "Tvip" },
@@ -14595,6 +14618,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x10, 0x3D, 0x3E }, "ChinaMobileG", "China Mobile Group Device Co.,Ltd." },
{ { 0x10, 0x3D, 0xEA }, "HFCTechnolog", "HFC Technology (Beijing) Ltd. Co." },
{ { 0x10, 0x3F, 0x44 }, "XiaomiCommun", "Xiaomi Communications Co Ltd" },
+ { { 0x10, 0x3F, 0x8C }, "NewH3CTechno", "New H3C Technologies Co., Ltd" },
{ { 0x10, 0x40, 0xF3 }, "Apple", "Apple, Inc." },
{ { 0x10, 0x41, 0x21 }, "TellescomInd", "Tellescom Industria E Comercio Em Telecomunicacao" },
{ { 0x10, 0x41, 0x7F }, "Apple", "Apple, Inc." },
@@ -14616,7 +14640,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x10, 0x4D, 0x77 }, "InnovativeCo", "Innovative Computer Engineering" },
{ { 0x10, 0x4E, 0x07 }, "GenvisionInd", "Shanghai Genvision Industries Co.,Ltd" },
{ { 0x10, 0x4E, 0x89 }, "GarminIntern", "Garmin International" },
- { { 0x10, 0x4F, 0x58 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x10, 0x4F, 0x58 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x10, 0x4F, 0xA8 }, "Sony", "Sony Corporation" },
{ { 0x10, 0x50, 0x72 }, "Sercomm", "Sercomm Corporation." },
{ { 0x10, 0x51, 0x07 }, "Intel", "Intel Corporate" },
@@ -14700,6 +14724,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x10, 0x8E, 0xBA }, "Molekule", "Molekule" },
{ { 0x10, 0x8E, 0xE0 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x10, 0x8F, 0xFE }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
+ { { 0x10, 0x90, 0x7D }, "FunshionOnli", "Funshion Online Technologies Co.,Ltd" },
{ { 0x10, 0x90, 0xFA }, "NewH3CTechno", "New H3C Technologies Co., Ltd" },
{ { 0x10, 0x91, 0xA8 }, "Espressif", "Espressif Inc." },
{ { 0x10, 0x91, 0xD1 }, "Intel", "Intel Corporate" },
@@ -14770,6 +14795,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x10, 0xBF, 0x48 }, "ASUSTekCOMPU", "ASUSTek COMPUTER INC." },
{ { 0x10, 0xBF, 0x67 }, "AmazonTechno", "Amazon Technologies Inc." },
{ { 0x10, 0xC0, 0x7C }, "BlurayDiscAs", "Blu-ray Disc Association" },
+ { { 0x10, 0xC0, 0xD5 }, "HOLOEYEPhoto", "HOLOEYE Photonics AG" },
{ { 0x10, 0xC1, 0x72 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x10, 0xC2, 0x2F }, "ChinaEntropy", "China Entropy Co., Ltd." },
{ { 0x10, 0xC2, 0x5A }, "VantivaUSA", "Vantiva USA LLC" },
@@ -14809,6 +14835,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x10, 0xD7, 0xB0 }, "SagemcomBroa", "Sagemcom Broadband SAS" },
{ { 0x10, 0xDA, 0x43 }, "Netgear", "Netgear" },
{ { 0x10, 0xDA, 0x49 }, "HuaweiDevice", "Huawei Device Co., Ltd." },
+ { { 0x10, 0xDA, 0x63 }, "Apple", "Apple, Inc." },
{ { 0x10, 0xDC, 0x4A }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" },
{ { 0x10, 0xDD, 0xB1 }, "Apple", "Apple, Inc." },
{ { 0x10, 0xDD, 0xF4 }, "MaxwayElectr", "Maxway Electronics CO.,LTD" },
@@ -14862,7 +14889,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x14, 0x00, 0xE9 }, "MitelNetwork", "Mitel Networks Corporation" },
{ { 0x14, 0x01, 0x52 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x14, 0x01, 0x9C }, "Ubyon", "Ubyon Inc." },
- { { 0x14, 0x02, 0xEC }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x14, 0x02, 0xEC }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x14, 0x04, 0x67 }, "SNKTechnolog", "SNK Technologies Co.,Ltd." },
{ { 0x14, 0x06, 0x4C }, "VoglElectron", "Vogl Electronic GmbH" },
{ { 0x14, 0x07, 0x08 }, "CpPlus", "Cp Plus Gmbh & Co. Kg" },
@@ -14887,6 +14914,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x14, 0x13, 0xFB }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x14, 0x14, 0x4B }, "RuijieNetwor", "Ruijie Networks Co.,LTD" },
{ { 0x14, 0x14, 0x59 }, "VodafoneItal", "Vodafone Italia S.p.A." },
+ { { 0x14, 0x14, 0x7D }, "Apple", "Apple, Inc." },
{ { 0x14, 0x14, 0xE6 }, "NingboSanheD", "Ningbo Sanhe Digital Co.,Ltd" },
{ { 0x14, 0x15, 0x7C }, "TokyoCosmosE", "Tokyo Cosmos Electric Co.,Ltd." },
{ { 0x14, 0x16, 0x9D }, "Cisco", "Cisco Systems, Inc" },
@@ -14913,6 +14941,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x14, 0x23, 0x0A }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x14, 0x23, 0xD7 }, "Eutronix", "Eutronix Co., Ltd." },
{ { 0x14, 0x23, 0xF2 }, "Broadcom", "Broadcom Limited" },
+ { { 0x14, 0x23, 0xF3 }, "Broadcom", "Broadcom Limited" },
{ { 0x14, 0x24, 0x75 }, "4DReplay", "4DReplay, Inc" },
{ { 0x14, 0x28, 0x76 }, "Apple", "Apple, Inc." },
{ { 0x14, 0x28, 0x82 }, "MidicomElect", "Midicom Electronics Co.Ltd" },
@@ -15013,6 +15042,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x14, 0x6B, 0x72 }, "FortuneShipT", "Shenzhen Fortune Ship Technology Co., Ltd." },
{ { 0x14, 0x6B, 0x9A }, "zte", "zte corporation" },
{ { 0x14, 0x6B, 0x9C }, "BilianElectr", "Shenzhen Bilian Electronic Co.,Ltd" },
+ { { 0x14, 0x6C, 0x27 }, "DongguanLies", "Dongguan Liesheng Electronic Co., Ltd." },
{ { 0x14, 0x73, 0x73 }, "TubitakUekae", "Tubitak Uekae" },
{ { 0x14, 0x74, 0x11 }, "Rim", "Rim" },
{ { 0x14, 0x75, 0x5B }, "Intel", "Intel Corporate" },
@@ -15062,6 +15092,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x14, 0x99, 0x3E }, "XiaomiCommun", "Xiaomi Communications Co Ltd" },
{ { 0x14, 0x99, 0xE2 }, "Apple", "Apple, Inc." },
{ { 0x14, 0x9A, 0x10 }, "Microsoft", "Microsoft Corporation" },
+ { { 0x14, 0x9A, 0xA3 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x14, 0x9B, 0x2F }, "JiangSuZhong", "JiangSu ZhongXie Intelligent Technology co., LTD" },
{ { 0x14, 0x9B, 0xD7 }, "MuliMuwaiFur", "Muli Muwai Furniture Qidong Co., Ltd" },
{ { 0x14, 0x9B, 0xF3 }, "OppoMobileTe", "Guangdong Oppo Mobile Telecommunications Corp.,Ltd" },
@@ -15092,7 +15123,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x14, 0xAB, 0x02 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x14, 0xAB, 0x56 }, "WuxiFunideDi", "Wuxi Funide Digital Co.,Ltd" },
{ { 0x14, 0xAB, 0xC5 }, "Intel", "Intel Corporate" },
- { { 0x14, 0xAB, 0xEC }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x14, 0xAB, 0xEC }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x14, 0xAB, 0xF0 }, "ARRISGroup", "ARRIS Group, Inc." },
{ { 0x14, 0xAC, 0x60 }, "CloudNetwork", "Cloud Network Technology Singapore Pte. Ltd." },
{ { 0x14, 0xAD, 0xCA }, "ChinaMobileI", "China Mobile Iot Limited company" },
@@ -15112,6 +15143,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x14, 0xB9, 0x68 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x14, 0xBB, 0x6E }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x14, 0xBD, 0x61 }, "Apple", "Apple, Inc." },
+ { { 0x14, 0xBE, 0xFC }, "NanjingJiaha", "Nanjing Jiahao Technology Co., Ltd." },
{ { 0x14, 0xC0, 0x3E }, "ARRISGroup", "ARRIS Group, Inc." },
{ { 0x14, 0xC0, 0x50 }, "GeniusTechno", "Guangdong Genius Technology Co., Ltd." },
{ { 0x14, 0xC0, 0x89 }, "DuneHd", "Dune Hd Ltd" },
@@ -15333,7 +15365,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x18, 0x61, 0xC7 }, "lemonbeat", "lemonbeat GmbH" },
{ { 0x18, 0x62, 0x2C }, "SagemcomBroa", "Sagemcom Broadband SAS" },
{ { 0x18, 0x62, 0xE4 }, "TexasInstrum", "Texas Instruments" },
- { { 0x18, 0x64, 0x72 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x18, 0x64, 0x72 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x18, 0x65, 0x71 }, "TopVictoryEl", "Top Victory Electronics (Taiwan) Co., Ltd." },
{ { 0x18, 0x65, 0x90 }, "Apple", "Apple, Inc." },
{ { 0x18, 0x65, 0xC7 }, "DongguanYIMO", "Dongguan YIMO Technology Co.LTD" },
@@ -15362,7 +15394,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x18, 0x78, 0xD4 }, "Verizon", "Verizon" },
{ { 0x18, 0x79, 0xA2 }, "GmjElectric", "Gmj Electric Limited" },
{ { 0x18, 0x79, 0xFD }, "zte", "zte corporation" },
- { { 0x18, 0x7A, 0x3B }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x18, 0x7A, 0x3B }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x18, 0x7A, 0x3E }, "SiliconLabor", "Silicon Laboratories" },
{ { 0x18, 0x7A, 0x93 }, "AMICCOMElect", "AMICCOM Electronics Corporation" },
{ { 0x18, 0x7C, 0x0B }, "RuckusWirele", "Ruckus Wireless" },
@@ -15383,13 +15415,14 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x18, 0x83, 0xBF }, "ArcadyanTech", "Arcadyan Technology Corporation" },
{ { 0x18, 0x84, 0x10 }, "CoreTrust", "CoreTrust Inc." },
{ { 0x18, 0x84, 0xC1 }, "GuangzhouShi", "Guangzhou Shiyuan Electronic Technology Company Limited" },
+ { { 0x18, 0x86, 0x37 }, "IngramMicroS", "Ingram Micro Services" },
{ { 0x18, 0x86, 0x3A }, "DigitalArtSy", "Digital Art System" },
{ { 0x18, 0x86, 0xAC }, "NokiaDanmark", "Nokia Danmark A/S" },
{ { 0x18, 0x87, 0x40 }, "XiaomiCommun", "Xiaomi Communications Co Ltd" },
{ { 0x18, 0x87, 0x96 }, "HTC", "HTC Corporation" },
{ { 0x18, 0x88, 0x57 }, "JinhongXiDia", "Beijing Jinhong Xi-Dian Information Technology Corp." },
{ { 0x18, 0x89, 0x5B }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
- { { 0x18, 0x89, 0xA0 }, "FunshionOnli", "Wuhan Funshion Online Technologies Co.,Ltd" },
+ { { 0x18, 0x89, 0xA0 }, "FunshionOnli", "Funshion Online Technologies Co.,Ltd" },
{ { 0x18, 0x89, 0xCF }, "TecnoMobile", "Tecno Mobile Limited" },
{ { 0x18, 0x89, 0xDF }, "Omnivision", "Omnivision" },
{ { 0x18, 0x8A, 0x6A }, "AVProGlobalH", "AVPro Global Hldgs" },
@@ -15602,7 +15635,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x1C, 0x25, 0xE1 }, "ChinaMobileI", "China Mobile IOT Company Limited" },
{ { 0x1C, 0x27, 0x04 }, "zte", "zte corporation" },
{ { 0x1C, 0x27, 0xDD }, "DatangGohigh", "Datang Gohighsec(zhejiang)Information Technology Co.,Ltd." },
- { { 0x1C, 0x28, 0xAF }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x1C, 0x28, 0xAF }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x1C, 0x2A, 0x8B }, "Nokia", "Nokia" },
{ { 0x1C, 0x2A, 0xA3 }, "HongRuiOptic", "Shenzhen HongRui Optical Technology Co., Ltd." },
{ { 0x1C, 0x2A, 0xB0 }, "XiaomiElectr", "Beijing Xiaomi Electronics Co.,Ltd" },
@@ -15706,6 +15739,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x1C, 0x69, 0x20 }, "Espressif", "Espressif Inc." },
{ { 0x1C, 0x69, 0x7A }, "EliteGroupCo", "EliteGroup Computer Systems Co., LTD" },
{ { 0x1C, 0x69, 0xA5 }, "BlackBerryRT", "BlackBerry RTS" },
+ { { 0x1C, 0x6A, 0x1B }, "Ubiquiti", "Ubiquiti Inc" },
{ { 0x1C, 0x6A, 0x76 }, "Apple", "Apple, Inc." },
{ { 0x1C, 0x6A, 0x7A }, "Cisco", "Cisco Systems, Inc" },
{ { 0x1C, 0x6B, 0xCA }, "Mitsunami", "Mitsunami Co., Ltd." },
@@ -15771,7 +15805,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x1C, 0x97, 0xC5 }, "Ynomia", "Ynomia Pty Ltd" },
{ { 0x1C, 0x97, 0xFB }, "CoolBitX", "CoolBitX Ltd." },
{ { 0x1C, 0x98, 0xC1 }, "CloudNetwork", "Cloud Network Technology Singapore Pte. Ltd." },
- { { 0x1C, 0x98, 0xEC }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x1C, 0x98, 0xEC }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x1C, 0x99, 0x4C }, "MurataManufa", "Murata Manufacturing Co., Ltd." },
{ { 0x1C, 0x99, 0x57 }, "Intel", "Intel Corporate" },
{ { 0x1C, 0x9C, 0x26 }, "ZoovelTechno", "Zoovel Technologies" },
@@ -15863,6 +15897,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x1C, 0xE8, 0x9E }, "Sjit", "Sjit" },
{ { 0x1C, 0xEA, 0x0B }, "EdgecoreNetw", "Edgecore Networks Corporation" },
{ { 0x1C, 0xEA, 0x1B }, "Nokia", "Nokia" },
+ { { 0x1C, 0xEA, 0xAC }, "XiaomiMobile", "Beijing Xiaomi Mobile Software Co., Ltd" },
{ { 0x1C, 0xEC, 0x72 }, "Allradio", "Allradio Co., Ltd" },
{ { 0x1C, 0xED, 0x6F }, "AVMAudiovisu", "AVM Audiovisuelles Marketing und Computersysteme GmbH" },
{ { 0x1C, 0xEE, 0xC9 }, "Elotouchsolu", "Elo touch solutions" },
@@ -15874,6 +15909,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x1C, 0xF2, 0x9A }, "Google", "Google, Inc." },
{ { 0x1C, 0xF4, 0x2B }, "HuaweiDevice", "Huawei Device Co., Ltd." },
{ { 0x1C, 0xF5, 0xE7 }, "TurtleIndust", "Turtle Industry Co., Ltd." },
+ { { 0x1C, 0xF6, 0x4C }, "Apple", "Apple, Inc." },
{ { 0x1C, 0xF8, 0xD0 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x1C, 0xFA, 0x68 }, "TpLinkTechno", "Tp-Link Technologies Co.,Ltd." },
{ { 0x1C, 0xFC, 0x17 }, "Cisco", "Cisco Systems, Inc" },
@@ -15889,6 +15925,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x20, 0x04, 0x84 }, "Apple", "Apple, Inc." },
{ { 0x20, 0x04, 0xF3 }, "HonorDevice", "Honor Device Co., Ltd." },
{ { 0x20, 0x05, 0x05 }, "RadmaxCommun", "Radmax Communication Private Limited" },
+ { { 0x20, 0x05, 0xB6 }, "OpenWrt", "OpenWrt" },
{ { 0x20, 0x05, 0xE8 }, "OOOInProMedi", "OOO InProMedia" },
{ { 0x20, 0x08, 0x89 }, "zte", "zte corporation" },
{ { 0x20, 0x08, 0xED }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
@@ -15966,6 +16003,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x20, 0x3A, 0x43 }, "Intel", "Intel Corporate" },
{ { 0x20, 0x3A, 0xEB }, "zte", "zte corporation" },
{ { 0x20, 0x3A, 0xEF }, "Sivantos", "Sivantos GmbH" },
+ { { 0x20, 0x3B, 0x34 }, "XiaomiCommun", "Xiaomi Communications Co Ltd" },
{ { 0x20, 0x3B, 0x69 }, "vivoMobileCo", "vivo Mobile Communication Co., Ltd." },
{ { 0x20, 0x3C, 0xAE }, "Apple", "Apple, Inc." },
{ { 0x20, 0x3C, 0xC0 }, "ToseeTechnol", "Beijing Tosee Technology Co., Ltd." },
@@ -15987,7 +16025,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x20, 0x47, 0xED }, "SkyUk", "Sky Uk Limited" },
{ { 0x20, 0x4A, 0xAA }, "HanscanSpain", "Hanscan Spain S.A." },
{ { 0x20, 0x4B, 0x22 }, "SunnovoInter", "Sunnovo International Limited" },
- { { 0x20, 0x4C, 0x03 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x20, 0x4C, 0x03 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x20, 0x4C, 0x6D }, "HugoBrennens", "Hugo Brennenstuhl Gmbh & Co. KG." },
{ { 0x20, 0x4C, 0x9E }, "Cisco", "Cisco Systems, Inc" },
{ { 0x20, 0x4E, 0x6B }, "Axxana", "Axxana(israel) ltd" },
@@ -16026,7 +16064,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x20, 0x65, 0x8E }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x20, 0x66, 0xCF }, "FreeboxSas", "Freebox Sas" },
{ { 0x20, 0x66, 0xFD }, "Constell8", "Constell8 Nv" },
- { { 0x20, 0x67, 0x7C }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x20, 0x67, 0x7C }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x20, 0x67, 0xB1 }, "Pluto", "Pluto inc." },
{ { 0x20, 0x67, 0xE0 }, "iCommSemicon", "Shenzhen iComm Semiconductor CO.,LTD" },
{ { 0x20, 0x68, 0x9D }, "LiteonTechno", "Liteon Technology Corporation" },
@@ -16094,7 +16132,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x20, 0x9B, 0xA5 }, "JIAXINGGLEAD", "JIAXING GLEAD Electronics Co.,Ltd" },
{ { 0x20, 0x9B, 0xCD }, "Apple", "Apple, Inc." },
{ { 0x20, 0x9B, 0xE6 }, "GuangzhouShi", "Guangzhou Shiyuan Electronic Technology Company Limited" },
- { { 0x20, 0x9C, 0xB4 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x20, 0x9C, 0xB4 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x20, 0x9E, 0x79 }, "UniversalEle", "Universal Electronics, Inc." },
{ { 0x20, 0x9E, 0xF7 }, "ExtremeNetwo", "Extreme Networks Headquarters" },
{ { 0x20, 0xA1, 0x71 }, "AmazonTechno", "Amazon Technologies Inc." },
@@ -16103,7 +16141,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x20, 0xA5, 0xCB }, "Apple", "Apple, Inc." },
{ { 0x20, 0xA6, 0x0C }, "XiaomiCommun", "Xiaomi Communications Co Ltd" },
{ { 0x20, 0xA6, 0x80 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
- { { 0x20, 0xA6, 0xCD }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x20, 0xA6, 0xCD }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x20, 0xA7, 0x66 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x20, 0xA7, 0x83 }, "miControl", "miControl GmbH" },
{ { 0x20, 0xA7, 0x87 }, "BointecTaiwa", "Bointec Taiwan Corporation Limited" },
@@ -16165,6 +16203,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x20, 0xD9, 0x06 }, "Iota", "Iota, Inc." },
{ { 0x20, 0xDA, 0x22 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x20, 0xDB, 0xAB }, "SamsungElect", "Samsung Electronics Co., Ltd." },
+ { { 0x20, 0xDB, 0xEA }, "Cisco", "Cisco Systems, Inc" },
{ { 0x20, 0xDC, 0x93 }, "CheetahHiTec", "Cheetah Hi-Tech, Inc." },
{ { 0x20, 0xDC, 0xE6 }, "TpLinkTechno", "Tp-Link Technologies Co.,Ltd." },
{ { 0x20, 0xDC, 0xFD }, "HuaweiDevice", "Huawei Device Co., Ltd." },
@@ -16251,6 +16290,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x24, 0x14, 0x07 }, "XiamenSigmas", "Xiamen Sigmastar Technology Ltd." },
{ { 0x24, 0x15, 0x51 }, "HuaweiDevice", "Huawei Device Co., Ltd." },
{ { 0x24, 0x16, 0x1B }, "Cisco", "Cisco Systems, Inc" },
+ { { 0x24, 0x16, 0x51 }, "ChipseaTechn", "Chipsea Technologies (Shenzhen) Corp." },
{ { 0x24, 0x16, 0x6D }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x24, 0x16, 0x9D }, "Cisco", "Cisco Systems, Inc" },
{ { 0x24, 0x18, 0x1D }, "SamsungElect", "Samsung Electro-Mechanics(Thailand)" },
@@ -16299,6 +16339,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x24, 0x3A, 0x82 }, "Irts", "Irts" },
{ { 0x24, 0x3C, 0x20 }, "DynamodeGrou", "Dynamode Group" },
{ { 0x24, 0x3F, 0x30 }, "OxygenBroadb", "Oxygen Broadband s.a." },
+ { { 0x24, 0x3F, 0x75 }, "HuiZhouGaosh", "Hui Zhou Gaoshengda Technology Co.,LTD" },
{ { 0x24, 0x3F, 0xAA }, "HuaweiDevice", "Huawei Device Co., Ltd." },
{ { 0x24, 0x40, 0xAE }, "NIICTechnolo", "NIIC Technology Co., Ltd." },
{ { 0x24, 0x41, 0x8C }, "Intel", "Intel Corporate" },
@@ -16343,9 +16384,9 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x24, 0x5F, 0xDF }, "Kyocera", "Kyocera Corporation" },
{ { 0x24, 0x60, 0x81 }, "razberitechn", "razberi technologies" },
{ { 0x24, 0x61, 0x5A }, "ChinaMobileG", "China Mobile Group Device Co.,Ltd." },
- { { 0x24, 0x62, 0x78 }, "sysmocomform", "sysmocom - systems for mobile communications GmbH" },
+ { { 0x24, 0x62, 0x78 }, "sysmocomsfmc", "sysmocom - s.f.m.c. GmbH" },
{ { 0x24, 0x62, 0xAB }, "Espressif", "Espressif Inc." },
- { { 0x24, 0x62, 0xCE }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x24, 0x62, 0xCE }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x24, 0x64, 0x9F }, "HuaweiDevice", "Huawei Device Co., Ltd." },
{ { 0x24, 0x64, 0xEF }, "CygSunri", "Cyg Sunri Co.,Ltd." },
{ { 0x24, 0x65, 0x11 }, "AVM", "AVM GmbH" },
@@ -16380,6 +16421,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x24, 0x79, 0xEF }, "GreenpacketB", "Greenpacket Berhad, Taiwan" },
{ { 0x24, 0x79, 0xF3 }, "OppoMobileTe", "Guangdong Oppo Mobile Telecommunications Corp.,Ltd" },
{ { 0x24, 0x79, 0xF8 }, "KUPSONspolsr", "KUPSON spol. s r.o." },
+ { { 0x24, 0x7C, 0x46 }, "FlextronicsT", "Flextronics Technologies Mexico S De Rl De Cv" },
{ { 0x24, 0x7C, 0x4C }, "HermanMiller", "Herman Miller" },
{ { 0x24, 0x7D, 0x4D }, "TexasInstrum", "Texas Instruments" },
{ { 0x24, 0x7E, 0x12 }, "Cisco", "Cisco Systems, Inc" },
@@ -16412,6 +16454,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x24, 0x9A, 0xC8 }, "SkyworthDigi", "Shenzhen Skyworth Digital Technology CO., Ltd" },
{ { 0x24, 0x9A, 0xD8 }, "YealinkNetwo", "Yealink(Xiamen) Network Technology Co.,Ltd." },
{ { 0x24, 0x9D, 0x2A }, "LinkDataTech", "LinkData Technology (Tianjin) Co., LTD" },
+ { { 0x24, 0x9E, 0x7D }, "RoborockTech", "Beijing Roborock Technology Co., Ltd." },
{ { 0x24, 0x9E, 0xAB }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x24, 0x9F, 0x89 }, "TexasInstrum", "Texas Instruments" },
{ { 0x24, 0xA0, 0x74 }, "Apple", "Apple, Inc." },
@@ -16497,7 +16540,8 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x24, 0xDB, 0xED }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x24, 0xDC, 0x0F }, "PhytiumTechn", "Phytium Technology Co.,Ltd." },
{ { 0x24, 0xDC, 0xC3 }, "Espressif", "Espressif Inc." },
- { { 0x24, 0xDE, 0xC6 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x24, 0xDD, 0x1B }, "QingdaoHiima", "Qingdao Hi-image Technologies Co., Ltd" },
+ { { 0x24, 0xDE, 0xC6 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x24, 0xDF, 0x6A }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x24, 0xDF, 0xA7 }, "BroadLinkTec", "Hangzhou BroadLink Technology Co.,Ltd" },
{ { 0x24, 0xE1, 0x24 }, "XiamenMilesi", "Xiamen Milesight IoT Co., Ltd." },
@@ -16533,8 +16577,9 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x24, 0xF0, 0xFF }, "GHT", "GHT Co., Ltd." },
{ { 0x24, 0xF1, 0x28 }, "Telstra", "Telstra" },
{ { 0x24, 0xF1, 0x50 }, "GuangzhouQia", "Guangzhou Qi'an Technology Co., Ltd." },
- { { 0x24, 0xF2, 0x7F }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x24, 0xF2, 0x7F }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x24, 0xF2, 0xDD }, "RadiantZemax", "Radiant Zemax LLC" },
+ { { 0x24, 0xF3, 0x06 }, "ItelMobile", "Itel Mobile Limited" },
{ { 0x24, 0xF5, 0x7E }, "Hwh", "Hwh Co., Ltd." },
{ { 0x24, 0xF5, 0xA2 }, "BelkinIntern", "Belkin International Inc." },
{ { 0x24, 0xF5, 0xAA }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
@@ -16607,6 +16652,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x28, 0x2C, 0xB2 }, "TpLinkTechno", "Tp-Link Technologies Co.,Ltd." },
{ { 0x28, 0x2D, 0x06 }, "AMPAKTechnol", "AMPAK Technology,Inc." },
{ { 0x28, 0x2D, 0x7F }, "Apple", "Apple, Inc." },
+ { { 0x28, 0x2E, 0x89 }, "WistronNeweb", "Wistron Neweb Corporation" },
{ { 0x28, 0x2F, 0xC2 }, "AutomotiveDa", "Automotive Data Solutions" },
{ { 0x28, 0x30, 0xAC }, "Frontiir", "Frontiir Co. Ltd." },
{ { 0x28, 0x31, 0x52 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
@@ -16681,6 +16727,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x28, 0x6A, 0xB8 }, "Apple", "Apple, Inc." },
{ { 0x28, 0x6A, 0xBA }, "Apple", "Apple, Inc." },
{ { 0x28, 0x6B, 0x35 }, "Intel", "Intel Corporate" },
+ { { 0x28, 0x6B, 0x5C }, "Cisco", "Cisco Systems, Inc" },
{ { 0x28, 0x6C, 0x07 }, "XIAOMIElectr", "XIAOMI Electronics,CO.,LTD" },
{ { 0x28, 0x6D, 0x97 }, "SAMJIN", "SAMJIN Co., Ltd." },
{ { 0x28, 0x6D, 0xCD }, "WinnerMicroe", "Beijing Winner Microelectronics Co.,Ltd." },
@@ -16763,6 +16810,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x28, 0xAD, 0x18 }, "HuiZhouGaosh", "Hui Zhou Gaoshengda Technology Co.,LTD" },
{ { 0x28, 0xAD, 0x3E }, "TONGBOWEITec", "Shenzhen TONG BO WEI Technology CO.,LTD" },
{ { 0x28, 0xAF, 0x0A }, "SiriusXMRadi", "Sirius XM Radio Inc" },
+ { { 0x28, 0xAF, 0x21 }, "zte", "zte corporation" },
{ { 0x28, 0xAF, 0x42 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x28, 0xAF, 0xFD }, "Cisco", "Cisco Systems, Inc" },
{ { 0x28, 0xB0, 0xCC }, "Xenyadoo", "Xenya d.o.o." },
@@ -16772,6 +16820,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x28, 0xB3, 0xAB }, "GenmarkAutom", "Genmark Automation" },
{ { 0x28, 0xB4, 0x48 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x28, 0xB4, 0xFB }, "SprocommTech", "Sprocomm Technologies CO.,LTD." },
+ { { 0x28, 0xB5, 0x91 }, "Cisco", "Cisco Systems, Inc" },
{ { 0x28, 0xB5, 0xE8 }, "TexasInstrum", "Texas Instruments" },
{ { 0x28, 0xB8, 0x29 }, "JuniperNetwo", "Juniper Networks" },
{ { 0x28, 0xB9, 0xD9 }, "Radisys", "Radisys Corporation" },
@@ -16795,6 +16844,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x28, 0xC2, 0x1F }, "SamsungElect", "Samsung Electro-Mechanics(Thailand)" },
{ { 0x28, 0xC2, 0xDD }, "AzureWaveTec", "AzureWave Technology Inc." },
{ { 0x28, 0xC5, 0x38 }, "Apple", "Apple, Inc." },
+ { { 0x28, 0xC5, 0xC8 }, "HP", "HP Inc." },
{ { 0x28, 0xC5, 0xD2 }, "Intel", "Intel Corporate" },
{ { 0x28, 0xC6, 0x3F }, "Intel", "Intel Corporate" },
{ { 0x28, 0xC6, 0x71 }, "YotaDevices", "Yota Devices OY" },
@@ -16839,7 +16889,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x28, 0xDB, 0x81 }, "GuaoElectron", "Shanghai Guao Electronic Technology Co., Ltd" },
{ { 0x28, 0xDB, 0xA7 }, "SiliconLabor", "Silicon Laboratories" },
{ { 0x28, 0xDE, 0x59 }, "DomusNTW", "Domus NTW CORP." },
- { { 0x28, 0xDE, 0x65 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x28, 0xDE, 0x65 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x28, 0xDE, 0xA8 }, "zte", "zte corporation" },
{ { 0x28, 0xDE, 0xE5 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x28, 0xDE, 0xF6 }, "bioMerieux", "bioMerieux Inc." },
@@ -17185,6 +17235,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x2C, 0xC8, 0x1B }, "Routerboardc", "Routerboard.com" },
{ { 0x2C, 0xC8, 0xF5 }, "HuaweiDevice", "Huawei Device Co., Ltd." },
{ { 0x2C, 0xCA, 0x0C }, "WithusPlanet", "Withus Planet" },
+ { { 0x2C, 0xCA, 0x16 }, "Apple", "Apple, Inc." },
{ { 0x2C, 0xCA, 0x75 }, "RobertBoschA", "Robert Bosch GmbH AnP" },
{ { 0x2C, 0xCC, 0x15 }, "Nokia", "Nokia Corporation" },
{ { 0x2C, 0xCC, 0x44 }, "SonyInteract", "Sony Interactive Entertainment Inc." },
@@ -17224,6 +17275,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x2C, 0xEA, 0x7F }, "Dell", "Dell Inc." },
{ { 0x2C, 0xEA, 0xDC }, "AskeyCompute", "Askey Computer Corp" },
{ { 0x2C, 0xEC, 0xF7 }, "SDMCTechnolo", "Shenzhen SDMC Technology CO.,Ltd." },
+ { { 0x2C, 0xED, 0x89 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x2C, 0xED, 0xB0 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x2C, 0xED, 0xEB }, "AlpheusDigit", "Alpheus Digital Company Limited" },
{ { 0x2C, 0xEE, 0x26 }, "PetroleumGeo", "Petroleum Geo-Services" },
@@ -17288,6 +17340,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x30, 0x21, 0x5B }, "OstarDisplay", "Shenzhen Ostar Display Electronic Co.,Ltd" },
{ { 0x30, 0x23, 0x03 }, "BelkinIntern", "Belkin International Inc." },
{ { 0x30, 0x23, 0x64 }, "NokiaShangha", "Nokia Shanghai Bell Co., Ltd." },
+ { { 0x30, 0x23, 0xBA }, "AcceleratedM", "Accelerated Memory Production Inc." },
{ { 0x30, 0x24, 0x32 }, "Intel", "Intel Corporate" },
{ { 0x30, 0x24, 0x78 }, "SagemcomBroa", "Sagemcom Broadband SAS" },
{ { 0x30, 0x24, 0xA9 }, "HP", "HP Inc." },
@@ -17298,6 +17351,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x30, 0x2D, 0xE8 }, "JDA", "JDA, LLC (JDA Systems)" },
{ { 0x30, 0x2F, 0x1E }, "Siemens", "Siemens Ag" },
{ { 0x30, 0x2F, 0xAC }, "ZhejiangHuaR", "Zhejiang HuaRay Technology Co.,Ltd" },
+ { { 0x30, 0x30, 0xD0 }, "TexasInstrum", "Texas Instruments" },
{ { 0x30, 0x30, 0xF9 }, "Espressif", "Espressif Inc." },
{ { 0x30, 0x31, 0x7D }, "Hosiden", "Hosiden Corporation" },
{ { 0x30, 0x31, 0x80 }, "SkyworthDigi", "Shenzhen Skyworth Digital Technology CO., Ltd" },
@@ -17325,7 +17379,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x30, 0x3E, 0xAD }, "SonavoxCanad", "Sonavox Canada Inc" },
{ { 0x30, 0x3F, 0x5D }, "PtHanSungEle", "Pt Han Sung Electoronics Indonesia" },
{ { 0x30, 0x3F, 0x7B }, "YOUHUATechno", "Shenzhen YOUHUA Technology Co., Ltd" },
- { { 0x30, 0x3F, 0xBB }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x30, 0x3F, 0xBB }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x30, 0x40, 0x74 }, "zte", "zte corporation" },
{ { 0x30, 0x41, 0x74 }, "AltecLansing", "Altec Lansing Llc" },
{ { 0x30, 0x42, 0x25 }, "BurgWächter", "Burg-Wächter Kg" },
@@ -17445,6 +17499,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x30, 0x9B, 0xAD }, "BbkEducation", "Bbk Educational Electronics Corp.,Ltd." },
{ { 0x30, 0x9C, 0x23 }, "MicroStarINT", "Micro-Star INTL CO., LTD." },
{ { 0x30, 0x9E, 0x1D }, "Ohsung", "Ohsung" },
+ { { 0x30, 0x9E, 0x62 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x30, 0x9F, 0xFB }, "ArdomusNetwo", "Ardomus Networks Corporation" },
{ { 0x30, 0xA0, 0x23 }, "RockPath", "Rock Path S.R.L" },
{ { 0x30, 0xA1, 0x76 }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" },
@@ -17592,6 +17647,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x34, 0x0B, 0x40 }, "MiosElettron", "Mios Elettronica Srl" },
{ { 0x34, 0x0C, 0xED }, "Moduel", "Moduel AB" },
{ { 0x34, 0x0F, 0x66 }, "WebSensing", "Web Sensing LLC" },
+ { { 0x34, 0x10, 0x5D }, "TexasInstrum", "Texas Instruments" },
{ { 0x34, 0x10, 0xF4 }, "SiliconLabor", "Silicon Laboratories" },
{ { 0x34, 0x12, 0x90 }, "Treeview", "Treeview Co.,Ltd." },
{ { 0x34, 0x12, 0x98 }, "Apple", "Apple, Inc." },
@@ -17651,7 +17707,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x34, 0x37, 0x94 }, "Hamee", "Hamee Corp." },
{ { 0x34, 0x38, 0xAF }, "InlabNetwork", "Inlab Networks GmbH" },
{ { 0x34, 0x38, 0xB7 }, "HUMAX", "HUMAX Co., Ltd." },
- { { 0x34, 0x3A, 0x20 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x34, 0x3A, 0x20 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x34, 0x3D, 0x98 }, "JinQianMaoTe", "JinQianMao Technology Co.,Ltd." },
{ { 0x34, 0x3D, 0xC4 }, "Buffalo", "Buffalo.Inc" },
{ { 0x34, 0x3E, 0xA4 }, "Ring", "Ring LLC" },
@@ -17676,6 +17732,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x34, 0x4F, 0x3F }, "IOPowerTechn", "IO-Power Technology Co., Ltd." },
{ { 0x34, 0x4F, 0x5C }, "R&M", "R&M Ag" },
{ { 0x34, 0x4F, 0x69 }, "EkinopsSas", "Ekinops Sas" },
+ { { 0x34, 0x51, 0x6F }, "SkychersCrea", "Skychers Creations ShenZhen Limited" },
{ { 0x34, 0x51, 0x80 }, "TCLKingElect", "TCL King Electrical Appliances (Huizhou) Co., Ltd" },
{ { 0x34, 0x51, 0x84 }, "HuaweiDevice", "Huawei Device Co., Ltd." },
{ { 0x34, 0x51, 0xAA }, "JidGlobal", "Jid Global" },
@@ -17764,7 +17821,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x34, 0x87, 0x3D }, "QuectelWirel", "Quectel Wireless Solutions Co.,Ltd." },
{ { 0x34, 0x88, 0x18 }, "Cisco", "Cisco Systems, Inc" },
{ { 0x34, 0x88, 0x5D }, "LogitechFarE", "Logitech Far East" },
- { { 0x34, 0x8A, 0x12 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x34, 0x8A, 0x12 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x34, 0x8A, 0x7B }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x34, 0x8A, 0xAE }, "SagemcomBroa", "Sagemcom Broadband SAS" },
{ { 0x34, 0x8B, 0x75 }, "LavaInternat", "Lava International(H.K) Limited" },
@@ -17846,7 +17903,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x34, 0xC1, 0x03 }, "HuamuTechnol", "Hangzhou Huamu Technology Co.,Ltd." },
{ { 0x34, 0xC3, 0xAC }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x34, 0xC3, 0xD2 }, "FnLinkTechno", "Fn-Link Technology Limited" },
- { { 0x34, 0xC5, 0x15 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x34, 0xC5, 0x15 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x34, 0xC5, 0xD0 }, "HagleitnerHy", "Hagleitner Hygiene International GmbH" },
{ { 0x34, 0xC6, 0x9A }, "Enecsys", "Enecsys Ltd" },
{ { 0x34, 0xC6, 0xDD }, "EzvizSoftwar", "Hangzhou Ezviz Software Co.,Ltd." },
@@ -17860,6 +17917,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x34, 0xCB, 0x1A }, "ProcterGambl", "Procter & Gamble Company" },
{ { 0x34, 0xCC, 0x28 }, "Nexpring", "Nexpring Co. LTD.," },
{ { 0x34, 0xCD, 0x6D }, "CommSkyTechn", "CommSky Technologies" },
+ { { 0x34, 0xCD, 0xB0 }, "Espressif", "Espressif Inc." },
{ { 0x34, 0xCD, 0xBE }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x34, 0xCE, 0x00 }, "XIAOMIElectr", "XIAOMI Electronics,CO.,LTD" },
{ { 0x34, 0xCE, 0x69 }, "NokiaSolutio", "Nokia Solutions and Networks GmbH & Co. KG" },
@@ -17934,7 +17992,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x34, 0xFA, 0x9F }, "RuckusWirele", "Ruckus Wireless" },
{ { 0x34, 0xFC, 0x6F }, "Alcea", "Alcea" },
{ { 0x34, 0xFC, 0xA1 }, "Micronetunio", "Micronet union Technology(Chengdu)Co., Ltd." },
- { { 0x34, 0xFC, 0xB9 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x34, 0xFC, 0xB9 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x34, 0xFC, 0xEF }, "LGElectronic", "LG Electronics (Mobile Communications)" },
{ { 0x34, 0xFD, 0x6A }, "Apple", "Apple, Inc." },
{ { 0x34, 0xFE, 0x1C }, "ChoungHwaTec", "Choung Hwa Tech Co.,Ltd" },
@@ -17960,6 +18018,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x38, 0x0A, 0x4F }, "PrachiEnterp", "Prachi Enterprises" },
{ { 0x38, 0x0A, 0x94 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x38, 0x0A, 0xAB }, "Formlabs", "Formlabs" },
+ { { 0x38, 0x0B, 0x26 }, "Mindray", "Mindray Co., Ltd." },
{ { 0x38, 0x0B, 0x3C }, "TexasInstrum", "Texas Instruments" },
{ { 0x38, 0x0B, 0x40 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x38, 0x0D, 0xD4 }, "PrimaxElectr", "Primax Electronics Ltd." },
@@ -17969,7 +18028,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x38, 0x0F, 0xAD }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x38, 0x0F, 0xE4 }, "DedicatedNet", "Dedicated Network Partners Oy" },
{ { 0x38, 0x10, 0xD5 }, "AVMAudiovisu", "AVM Audiovisuelles Marketing und Computersysteme GmbH" },
- { { 0x38, 0x10, 0xF0 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x38, 0x10, 0xF0 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x38, 0x12, 0x7B }, "CrenetLabs", "Crenet Labs Co., Ltd." },
{ { 0x38, 0x14, 0x1B }, "SecureLetter", "Secure Letter Inc." },
{ { 0x38, 0x14, 0x28 }, "Dell", "Dell Inc." },
@@ -17978,11 +18037,12 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x38, 0x16, 0xD1 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x38, 0x17, 0x30 }, "UlrichLipper", "Ulrich Lippert GmbH & Co KG" },
{ { 0x38, 0x17, 0x66 }, "Promzakaz", "Promzakaz Ltd." },
- { { 0x38, 0x17, 0xC3 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x38, 0x17, 0xC3 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x38, 0x17, 0xE1 }, "VantivaUSA", "Vantiva USA LLC" },
{ { 0x38, 0x18, 0x4C }, "SonyHomeEnte", "Sony Home Entertainment&Sound Products Inc" },
{ { 0x38, 0x19, 0x2F }, "Nokia", "Nokia Corporation" },
{ { 0x38, 0x1A, 0x52 }, "SeikoEpson", "Seiko Epson Corporation" },
+ { { 0x38, 0x1B, 0x9E }, "QingdaoIntel", "Qingdao Intelligent&Precise Electronics Co.,Ltd." },
{ { 0x38, 0x1C, 0x1A }, "Cisco", "Cisco Systems, Inc" },
{ { 0x38, 0x1C, 0x23 }, "HilanTechnol", "Hilan Technology CO.,LTD" },
{ { 0x38, 0x1C, 0x4A }, "SIMComWirele", "SIMCom Wireless Solutions Co.,Ltd." },
@@ -17994,7 +18054,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x38, 0x20, 0x56 }, "Cisco", "Cisco Systems, Inc" },
{ { 0x38, 0x20, 0xA8 }, "ColorTokens", "ColorTokens, Inc." },
{ { 0x38, 0x21, 0x87 }, "MideaGroup", "Midea Group Co., Ltd." },
- { { 0x38, 0x21, 0xC7 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x38, 0x21, 0xC7 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x38, 0x22, 0x9D }, "ADBBroadband", "ADB Broadband Italia" },
{ { 0x38, 0x22, 0xD6 }, "H3CTechnolog", "Hangzhou H3C Technologies Co., Limited" },
{ { 0x38, 0x22, 0xE2 }, "HP", "HP Inc." },
@@ -18009,6 +18069,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x38, 0x2A, 0x19 }, "TechnicaEngi", "Technica Engineering GmbH" },
{ { 0x38, 0x2B, 0x78 }, "EcoPlugsEnte", "Eco Plugs Enterprise Co., Ltd" },
{ { 0x38, 0x2C, 0x4A }, "ASUSTekCOMPU", "ASUSTek COMPUTER INC." },
+ { { 0x38, 0x2C, 0xE5 }, "TuyaSmart", "Tuya Smart Inc." },
{ { 0x38, 0x2D, 0xD1 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x38, 0x2D, 0xE8 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x38, 0x30, 0xF9 }, "LGElectronic", "LG Electronics (Mobile Communications)" },
@@ -18098,6 +18159,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x38, 0x78, 0x62 }, "Sony", "Sony Corporation" },
{ { 0x38, 0x7A, 0x0E }, "Intel", "Intel Corporate" },
{ { 0x38, 0x7A, 0x3C }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" },
+ { { 0x38, 0x7A, 0xCC }, "BilianElectr", "Shenzhen Bilian Electronic Co.,Ltd" },
{ { 0x38, 0x7B, 0x01 }, "MiaoMingInte", "Shenzhen MiaoMing Intelligent Technology Co.,Ltd" },
{ { 0x38, 0x7B, 0x47 }, "AKELA", "AKELA, Inc." },
{ { 0x38, 0x7C, 0x76 }, "UniversalGlo", "Universal Global Scientific Industrial Co., Ltd." },
@@ -18160,6 +18222,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x38, 0xA9, 0x1C }, "NewH3CTechno", "New H3C Technologies Co., Ltd" },
{ { 0x38, 0xA9, 0x5F }, "Actifio", "Actifio Inc" },
{ { 0x38, 0xA9, 0xEA }, "HkDapuElectr", "Hk Dapu Electronic Technology Co., Limited" },
+ { { 0x38, 0xAA, 0x20 }, "zte", "zte corporation" },
{ { 0x38, 0xAA, 0x3C }, "SamsungElect", "Samsung Electro Mechanics Co., Ltd." },
{ { 0x38, 0xAB, 0x16 }, "NpoRtt", "Npo Rtt Llc" },
{ { 0x38, 0xAB, 0x41 }, "TexasInstrum", "Texas Instruments" },
@@ -18189,7 +18252,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x38, 0xBC, 0x01 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x38, 0xBC, 0x1A }, "MEIZUTechnol", "MEIZU Technology Co., Ltd." },
{ { 0x38, 0xBC, 0x61 }, "Starkoff", "Starkoff Co., Ltd." },
- { { 0x38, 0xBD, 0x7A }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x38, 0xBD, 0x7A }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x38, 0xBE, 0xAB }, "AltoBeam", "AltoBeam (China) Inc." },
{ { 0x38, 0xBF, 0x2F }, "Espec", "Espec Corp." },
{ { 0x38, 0xBF, 0x33 }, "NECCASIOMobi", "NEC CASIO Mobile Communications" },
@@ -18392,6 +18455,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x3C, 0x39, 0xC8 }, "Apple", "Apple, Inc." },
{ { 0x3C, 0x3A, 0x73 }, "Avaya", "Avaya Inc" },
{ { 0x3C, 0x3B, 0x4D }, "ToyoSeisakus", "Toyo Seisakusho Kaisha, Limited" },
+ { { 0x3C, 0x3B, 0x77 }, "Apple", "Apple, Inc." },
{ { 0x3C, 0x3B, 0x99 }, "ItelMobile", "Itel Mobile Limited" },
{ { 0x3C, 0x3F, 0x51 }, "2Crsi", "2Crsi" },
{ { 0x3C, 0x40, 0x4F }, "PisenElectro", "Guangdong Pisen Electronics Co.,Ltd" },
@@ -18506,6 +18570,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x3C, 0x92, 0xDC }, "OctopodTechn", "Octopod Technology Co. Ltd." },
{ { 0x3C, 0x93, 0xF4 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x3C, 0x94, 0xD5 }, "JuniperNetwo", "Juniper Networks" },
+ { { 0x3C, 0x94, 0xFD }, "Mist", "Mist Systems, Inc." },
{ { 0x3C, 0x95, 0x09 }, "LiteonTechno", "Liteon Technology Corporation" },
{ { 0x3C, 0x97, 0x0E }, "WistronInfoC", "Wistron InfoComm(Kunshan)Co.,Ltd." },
{ { 0x3C, 0x97, 0x7E }, "IPSTechnolog", "IPS Technology Limited" },
@@ -18538,6 +18603,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x3C, 0xA6, 0xF6 }, "Apple", "Apple, Inc." },
{ { 0x3C, 0xA7, 0x2B }, "MRVCommunica", "MRV Communications (Networks) LTD" },
{ { 0x3C, 0xA7, 0xAE }, "zte", "zte corporation" },
+ { { 0x3C, 0xA8, 0x0A }, "vivoMobileCo", "vivo Mobile Communication Co., Ltd." },
{ { 0x3C, 0xA8, 0x2A }, "HewlettPacka", "Hewlett Packard" },
{ { 0x3C, 0xA8, 0xED }, "smartlightte", "smart light technology" },
{ { 0x3C, 0xA9, 0x16 }, "HuaweiDevice", "Huawei Device Co., Ltd." },
@@ -18563,6 +18629,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x3C, 0xBB, 0xFD }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x3C, 0xBC, 0xD0 }, "zte", "zte corporation" },
{ { 0x3C, 0xBD, 0x3E }, "XiaomiElectr", "Beijing Xiaomi Electronics Co., Ltd." },
+ { { 0x3C, 0xBD, 0x69 }, "NokiaShangha", "Nokia Shanghai Bell Co., Ltd." },
{ { 0x3C, 0xBD, 0xC5 }, "Arcadyan", "Arcadyan Corporation" },
{ { 0x3C, 0xBD, 0xD8 }, "LgElectronic", "Lg Electronics Inc" },
{ { 0x3C, 0xBE, 0xE1 }, "Nikon", "Nikon Corporation" },
@@ -18628,6 +18695,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x3C, 0xEF, 0x42 }, "TCTmobile", "TCT mobile ltd" },
{ { 0x3C, 0xEF, 0x8C }, "ZhejiangDahu", "Zhejiang Dahua Technology Co., Ltd." },
{ { 0x3C, 0xF0, 0x11 }, "Intel", "Intel Corporate" },
+ { { 0x3C, 0xF0, 0x83 }, "Arcadyan", "Arcadyan Corporation" },
{ { 0x3C, 0xF3, 0x92 }, "Virtualtek", "Virtualtek. Co. Ltd" },
{ { 0x3C, 0xF4, 0xF9 }, "ModaInnoChip", "Moda-InnoChips" },
{ { 0x3C, 0xF5, 0x2C }, "DSPECIALISTS", "DSPECIALISTS GmbH" },
@@ -18654,6 +18722,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x40, 0x01, 0x07 }, "Arista", "Arista Corp" },
{ { 0x40, 0x01, 0x7A }, "Cisco", "Cisco Systems, Inc" },
{ { 0x40, 0x01, 0xC6 }, "3ComEurope", "3Com Europe Ltd" },
+ { { 0x40, 0x03, 0x26 }, "NXPSemicondu", "NXP Semiconductor (Tianjin) LTD." },
{ { 0x40, 0x04, 0x0C }, "A&T", "A&T" },
{ { 0x40, 0x05, 0x89 }, "TMobileUSA", "T-Mobile, USA" },
{ { 0x40, 0x06, 0x34 }, "HuaweiDevice", "Huawei Device Co., Ltd." },
@@ -18770,6 +18839,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x40, 0x62, 0x34 }, "TelinkSemico", "Telink Semiconductor (Shanghai) Co., Ltd." },
{ { 0x40, 0x62, 0xB6 }, "Telesystemco", "Tele system communication" },
{ { 0x40, 0x62, 0xEA }, "ChinaMobileG", "China Mobile Group Device Co.,Ltd." },
+ { { 0x40, 0x62, 0xEE }, "ChiconyElect", "Chicony Electronics Co., Ltd." },
{ { 0x40, 0x64, 0xA4 }, "FurukawaElec", "The Furukawa Electric Co., Ltd" },
{ { 0x40, 0x64, 0xDC }, "Xspeedlnform", "X-speed lnformation Technology Co.,Ltd" },
{ { 0x40, 0x65, 0xA3 }, "SagemcomBroa", "Sagemcom Broadband SAS" },
@@ -18803,6 +18873,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x40, 0x7F, 0xE0 }, "GloryStarTec", "Glory Star Technics (ShenZhen) Limited" },
{ { 0x40, 0x80, 0xE1 }, "FNLINKTECHNO", "FN-LINK TECHNOLOGY Ltd." },
{ { 0x40, 0x82, 0x56 }, "ContinentalA", "Continental Automotive GmbH" },
+ { { 0x40, 0x82, 0x7B }, "STMicroelect", "STMicroelectronics Rousset SAS" },
{ { 0x40, 0x83, 0x1D }, "Apple", "Apple, Inc." },
{ { 0x40, 0x83, 0xDE }, "ZebraTechnol", "Zebra Technologies Inc" },
{ { 0x40, 0x84, 0x32 }, "MicrochipTec", "Microchip Technology Inc." },
@@ -18892,11 +18963,11 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x40, 0xB8, 0x37 }, "Sony", "Sony Corporation" },
{ { 0x40, 0xB8, 0x9A }, "HonHaiPrecis", "Hon Hai Precision Ind. Co.,Ltd." },
{ { 0x40, 0xB8, 0xC2 }, "Osmozis", "Osmozis" },
- { { 0x40, 0xB9, 0x3C }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x40, 0xB9, 0x3C }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x40, 0xBA, 0x61 }, "ARIMACommuni", "ARIMA Communications Corp." },
{ { 0x40, 0xBB, 0x56 }, "TeraNXTGloba", "TeraNXT Global India Pvt Ltd." },
{ { 0x40, 0xBC, 0x60 }, "Apple", "Apple, Inc." },
- { { 0x40, 0xBC, 0x68 }, "FunshionOnli", "Wuhan Funshion Online Technologies Co.,Ltd" },
+ { { 0x40, 0xBC, 0x68 }, "FunshionOnli", "Funshion Online Technologies Co.,Ltd" },
{ { 0x40, 0xBC, 0x73 }, "CronoplastSL", "Cronoplast S.L." },
{ { 0x40, 0xBC, 0x8B }, "itelio", "itelio GmbH" },
{ { 0x40, 0xBD, 0x32 }, "TexasInstrum", "Texas Instruments" },
@@ -18949,7 +19020,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x40, 0xE1, 0xE4 }, "NokiaSolutio", "Nokia Solutions and Networks GmbH & Co. KG" },
{ { 0x40, 0xE2, 0x30 }, "AzureWaveTec", "AzureWave Technology Inc." },
{ { 0x40, 0xE3, 0x17 }, "ExtremeNetwo", "Extreme Networks Headquarters" },
- { { 0x40, 0xE3, 0xD6 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x40, 0xE3, 0xD6 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x40, 0xE6, 0x4B }, "Apple", "Apple, Inc." },
{ { 0x40, 0xE7, 0x30 }, "DEYStorage", "DEY Storage Systems, Inc." },
{ { 0x40, 0xE7, 0x93 }, "SivitonTechn", "Shenzhen Siviton Technology Co.,Ltd" },
@@ -19006,11 +19077,12 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x44, 0x10, 0xFE }, "HuizhouForyo", "Huizhou Foryou General Electronics Co., Ltd." },
{ { 0x44, 0x11, 0x02 }, "EDMIEurope", "EDMI Europe Ltd" },
{ { 0x44, 0x11, 0xC2 }, "TelegartnerK", "Telegartner Karl Gartner GmbH" },
- { { 0x44, 0x12, 0x44 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x44, 0x12, 0x44 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x44, 0x13, 0x19 }, "WkkTechnolog", "Wkk Technology Ltd." },
{ { 0x44, 0x13, 0xD0 }, "zte", "zte corporation" },
{ { 0x44, 0x14, 0x41 }, "AudioControl", "AudioControl Inc." },
{ { 0x44, 0x16, 0x22 }, "Microsoft", "Microsoft Corporation" },
+ { { 0x44, 0x16, 0x90 }, "WuxiRankeTec", "Wuxi Ranke Technology Co., Ltd." },
{ { 0x44, 0x16, 0xFA }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x44, 0x17, 0x93 }, "Espressif", "Espressif Inc." },
{ { 0x44, 0x18, 0x47 }, "HunanScrownE", "Hunan Scrown Electronic Information Tech.Co.,Ltd" },
@@ -19037,6 +19109,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x44, 0x23, 0xAA }, "Farmage", "Farmage Co., Ltd." },
{ { 0x44, 0x25, 0xBB }, "BambooEntert", "Bamboo Entertainment Corporation" },
{ { 0x44, 0x27, 0x2E }, "HuaweiDevice", "Huawei Device Co., Ltd." },
+ { { 0x44, 0x27, 0x45 }, "LGInnotek", "LG Innotek" },
{ { 0x44, 0x27, 0xF3 }, "70mai", "70mai Co.,Ltd." },
{ { 0x44, 0x28, 0xA3 }, "Jiangsufulia", "Jiangsu fulian Communication Technology Co., Ltd." },
{ { 0x44, 0x29, 0x1E }, "AltoBeam", "AltoBeam (China) Inc." },
@@ -19063,6 +19136,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x44, 0x37, 0x6F }, "YoungElectri", "Young Electric Sign Co" },
{ { 0x44, 0x37, 0xE6 }, "HonHaiPrecis", "Hon Hai Precision Ind. Co.,Ltd." },
{ { 0x44, 0x38, 0x39 }, "CumulusNetwo", "Cumulus Networks, inc" },
+ { { 0x44, 0x38, 0xE8 }, "Intel", "Intel Corporate" },
{ { 0x44, 0x39, 0xC4 }, "UniversalGlo", "Universal Global Scientific Industrial Co., Ltd." },
{ { 0x44, 0x3B, 0x32 }, "Intelbras", "Intelbras" },
{ { 0x44, 0x3C, 0x88 }, "FicosaMarocI", "Ficosa Maroc International" },
@@ -19080,7 +19154,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x44, 0x47, 0xCC }, "HikvisionDig", "Hangzhou Hikvision Digital Technology Co.,Ltd." },
{ { 0x44, 0x48, 0x91 }, "HDMILicensin", "HDMI Licensing, LLC" },
{ { 0x44, 0x48, 0xB9 }, "MitraStarTec", "MitraStar Technology Corp." },
- { { 0x44, 0x48, 0xC1 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x44, 0x48, 0xC1 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x44, 0x48, 0xFF }, "QingdaoHaier", "Qingdao Haier Technology Co.,Ltd" },
{ { 0x44, 0x49, 0x63 }, "WovenByToyot", "Woven By Toyota U.S., Inc." },
{ { 0x44, 0x49, 0x88 }, "Intel", "Intel Corporate" },
@@ -19109,7 +19183,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x44, 0x59, 0x9F }, "Criticare", "Criticare Systems, Inc" },
{ { 0x44, 0x59, 0xE3 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x44, 0x5A, 0xDF }, "Mikami", "Mikami & Co., Ltd." },
- { { 0x44, 0x5B, 0xED }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x44, 0x5B, 0xED }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x44, 0x5C, 0xE9 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x44, 0x5D, 0x5E }, "CoolkitTechn", "SHENZHEN Coolkit Technology CO.,LTD" },
{ { 0x44, 0x5E, 0xCD }, "Razer", "Razer Inc" },
@@ -19145,6 +19219,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x44, 0x70, 0x98 }, "MingHongTech", "Ming Hong Technology (Shen Zhen) Limited" },
{ { 0x44, 0x71, 0x47 }, "XiaomiElectr", "Beijing Xiaomi Electronics Co.,Ltd" },
{ { 0x44, 0x71, 0xB3 }, "LogitechFarE", "Logitech Far East" },
+ { { 0x44, 0x72, 0xAC }, "AltoBeam", "AltoBeam Inc." },
{ { 0x44, 0x73, 0xD6 }, "Logitech", "Logitech" },
{ { 0x44, 0x74, 0x6C }, "Sony", "Sony Corporation" },
{ { 0x44, 0x76, 0x54 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
@@ -19163,6 +19238,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x44, 0x85, 0x02 }, "SuperElectro", "Shenzhen SuperElectron Technology Co.,Ltd." },
{ { 0x44, 0x86, 0xC1 }, "SiemensLowVo", "Siemens Low Voltage & Products" },
{ { 0x44, 0x87, 0x23 }, "HoyaService", "Hoya Service Corporation" },
+ { { 0x44, 0x87, 0x63 }, "FNLINKTECHNO", "FN-LINK TECHNOLOGY Ltd." },
{ { 0x44, 0x87, 0xDB }, "TymphanyAcou", "Tymphany Acoustic Technology (Huizhou) Co., Ltd." },
{ { 0x44, 0x87, 0xFC }, "ElitegroupCo", "Elitegroup Computer Systems Co.,Ltd." },
{ { 0x44, 0x88, 0x16 }, "Cisco", "Cisco Systems, Inc" },
@@ -19194,6 +19270,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x44, 0x9F, 0x7F }, "DataCoreSoft", "DataCore Software Corporation" },
{ { 0x44, 0xA0, 0x38 }, "HuaweiDevice", "Huawei Device Co., Ltd." },
{ { 0x44, 0xA1, 0x91 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
+ { { 0x44, 0xA3, 0xBB }, "Intel", "Intel Corporate" },
{ { 0x44, 0xA3, 0xC7 }, "zte", "zte corporation" },
{ { 0x44, 0xA4, 0x2D }, "TCTmobile", "TCT mobile ltd" },
{ { 0x44, 0xA4, 0x66 }, "GroupeLdlc", "Groupe Ldlc" },
@@ -19327,13 +19404,14 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x44, 0xFD, 0xA3 }, "Everysight", "Everysight LTD." },
{ { 0x44, 0xFE, 0x3B }, "Arcadyan", "Arcadyan Corporation" },
{ { 0x44, 0xFF, 0xBA }, "zte", "zte corporation" },
- { { 0x48, 0x00, 0x20 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x48, 0x00, 0x20 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x48, 0x00, 0x31 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x48, 0x00, 0x33 }, "VantivaUSA", "Vantiva USA LLC" },
{ { 0x48, 0x00, 0x7D }, "DtsElektroni", "Dts Elektronik San. Tic. Ltd. Sti." },
{ { 0x48, 0x00, 0xB3 }, "Cisco", "Cisco Systems, Inc" },
{ { 0x48, 0x01, 0xC5 }, "OnePlusTechn", "OnePlus Technology (Shenzhen) Co., Ltd" },
{ { 0x48, 0x02, 0x2A }, "BLinkElectro", "B-Link Electronic Limited" },
+ { { 0x48, 0x02, 0x34 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x48, 0x02, 0x86 }, "RealmeChongq", "Realme Chongqing Mobile Telecommunications Corp.,Ltd." },
{ { 0x48, 0x02, 0xAF }, "TelitCommuni", "Telit Communication s.p.a" },
{ { 0x48, 0x03, 0x62 }, "DesayElectro", "Desay Electronics(Huizhou)Co.,Ltd" },
@@ -19385,7 +19463,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x48, 0x2C, 0xEA }, "MotorolaBusi", "Motorola Inc Business Light Radios" },
{ { 0x48, 0x2D, 0x63 }, "WavartsTechn", "Wavarts Technologies Co., Ltd" },
{ { 0x48, 0x2E, 0x72 }, "Cisco", "Cisco Systems, Inc" },
- { { 0x48, 0x2F, 0x6B }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x48, 0x2F, 0x6B }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x48, 0x2F, 0xD7 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x48, 0x31, 0x33 }, "RobertBoschE", "Robert Bosch Elektronika Kft." },
{ { 0x48, 0x31, 0x77 }, "Nintendo", "Nintendo Co.,Ltd" },
@@ -19401,6 +19479,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x48, 0x38, 0x71 }, "HuaweiDevice", "Huawei Device Co., Ltd." },
{ { 0x48, 0x38, 0xB6 }, "AuhuiTaoyunT", "Auhui Taoyun Technology Co., Ltd" },
{ { 0x48, 0x39, 0x74 }, "ProwareTechn", "Proware Technologies Co., Ltd." },
+ { { 0x48, 0x3A, 0x02 }, "Fortinet", "Fortinet, Inc." },
{ { 0x48, 0x3B, 0x38 }, "Apple", "Apple, Inc." },
{ { 0x48, 0x3C, 0x0C }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x48, 0x3D, 0x32 }, "SyscorContro", "Syscor Controls & Automation" },
@@ -19423,7 +19502,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x48, 0x49, 0x82 }, "HuaweiDevice", "Huawei Device Co., Ltd." },
{ { 0x48, 0x49, 0xC7 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x48, 0x4A, 0x30 }, "GeorgeRoboti", "George Robotics Limited" },
- { { 0x48, 0x4A, 0xE9 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x48, 0x4A, 0xE9 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x48, 0x4B, 0xAA }, "Apple", "Apple, Inc." },
{ { 0x48, 0x4B, 0xD4 }, "VantivaUSA", "Vantiva USA LLC" },
{ { 0x48, 0x4C, 0x29 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
@@ -19547,8 +19626,9 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x48, 0x9D, 0xD1 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x48, 0x9E, 0x9D }, "HuiZhouGaosh", "Hui Zhou Gaoshengda Technology Co.,LTD" },
{ { 0x48, 0x9E, 0xBD }, "HP", "HP Inc." },
- { { 0x48, 0x9E, 0xCB }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x48, 0x9E, 0xCB }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x48, 0xA0, 0xF8 }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" },
+ { { 0x48, 0xA1, 0x70 }, "Cisco", "Cisco Systems, Inc" },
{ { 0x48, 0xA1, 0x95 }, "Apple", "Apple, Inc." },
{ { 0x48, 0xA2, 0x2D }, "HuaxuchangTe", "Shenzhen Huaxuchang Telecom Technology Co.,Ltd" },
{ { 0x48, 0xA2, 0xB7 }, "Kodofon", "Kodofon JSC" },
@@ -19573,8 +19653,9 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x48, 0xB0, 0x2D }, "NVIDIA", "NVIDIA Corporation" },
{ { 0x48, 0xB2, 0x53 }, "Marketaxess", "Marketaxess Corporation" },
{ { 0x48, 0xB2, 0x5D }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
+ { { 0x48, 0xB3, 0x13 }, "Idesco", "Idesco Oy" },
{ { 0x48, 0xB4, 0x23 }, "AmazonTechno", "Amazon Technologies Inc." },
- { { 0x48, 0xB4, 0xC3 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x48, 0xB4, 0xC3 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x48, 0xB5, 0xA7 }, "GloryHorseIn", "Glory Horse Industries Ltd." },
{ { 0x48, 0xB6, 0x20 }, "ROLI", "ROLI Ltd." },
{ { 0x48, 0xB8, 0xA3 }, "Apple", "Apple, Inc." },
@@ -19633,11 +19714,12 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x48, 0xDD, 0x0C }, "eero", "eero inc." },
{ { 0x48, 0xDD, 0x9D }, "ItelMobile", "Itel Mobile Limited" },
{ { 0x48, 0xDF, 0x1C }, "NECFibreOpti", "Wuhan NEC Fibre Optic Communications industry Co. Ltd" },
- { { 0x48, 0xDF, 0x37 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x48, 0xDF, 0x37 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x48, 0xE1, 0x5C }, "Apple", "Apple, Inc." },
{ { 0x48, 0xE1, 0xAF }, "Vity", "Vity" },
{ { 0x48, 0xE1, 0xE9 }, "MerossTechno", "Chengdu Meross Technology Co., Ltd." },
{ { 0x48, 0xE2, 0x44 }, "HonHaiPrecis", "Hon Hai Precision Ind. Co.,Ltd." },
+ { { 0x48, 0xE2, 0xAD }, "HumaxNetwork", "Humax Networks" },
{ { 0x48, 0xE3, 0xC3 }, "JENOPTIKAdva", "JENOPTIK Advanced Systems GmbH" },
{ { 0x48, 0xE5, 0x33 }, "SunnovoInter", "Sunnovo International Limited" },
{ { 0x48, 0xE6, 0x95 }, "Insigma", "Insigma Inc" },
@@ -19742,6 +19824,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x4C, 0x22, 0x58 }, "cozybit", "cozybit, Inc." },
{ { 0x4C, 0x22, 0xF3 }, "Arcadyan", "Arcadyan Corporation" },
{ { 0x4C, 0x23, 0x1A }, "ExtremeNetwo", "Extreme Networks Headquarters" },
+ { { 0x4C, 0x23, 0x38 }, "CloudNetwork", "Cloud Network Technology Singapore Pte. Ltd." },
{ { 0x4C, 0x24, 0x98 }, "TexasInstrum", "Texas Instruments" },
{ { 0x4C, 0x24, 0xCE }, "SichuanAILin", "Sichuan AI-Link Technology Co., Ltd." },
{ { 0x4C, 0x25, 0x78 }, "Nokia", "Nokia Corporation" },
@@ -19883,6 +19966,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x4C, 0x96, 0x14 }, "JuniperNetwo", "Juniper Networks" },
{ { 0x4C, 0x96, 0x2D }, "Fresh", "Fresh AB" },
{ { 0x4C, 0x96, 0x8A }, "Wacom", "Wacom Co.,Ltd." },
+ { { 0x4C, 0x97, 0xA1 }, "SiliconLabor", "Silicon Laboratories" },
{ { 0x4C, 0x97, 0xCC }, "Apple", "Apple, Inc." },
{ { 0x4C, 0x98, 0xEF }, "Zeo", "Zeo" },
{ { 0x4C, 0x99, 0x92 }, "vivoMobileCo", "vivo Mobile Communication Co., Ltd." },
@@ -19912,7 +19996,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x4C, 0xAE, 0x13 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x4C, 0xAE, 0x1C }, "SaiNXTTechno", "SaiNXT Technologies LLP" },
{ { 0x4C, 0xAE, 0x31 }, "ShengHaiElec", "ShengHai Electronics (Shenzhen) Ltd" },
- { { 0x4C, 0xAE, 0xA3 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x4C, 0xAE, 0xA3 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x4C, 0xAE, 0xEC }, "Guangzhoulim", "Guangzhou limee technology co.,LTD" },
{ { 0x4C, 0xB0, 0x08 }, "GwelltimesTe", "Shenzhen Gwelltimes Technology Co.,Ltd" },
{ { 0x4C, 0xB0, 0x4A }, "Intel", "Intel Corporate" },
@@ -19970,7 +20054,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x4C, 0xD2, 0xFB }, "UnionmanTech", "Unionman Technology Co.,Ltd" },
{ { 0x4C, 0xD3, 0xAF }, "HMDGlobal", "HMD Global Oy" },
{ { 0x4C, 0xD5, 0x77 }, "ChongqingFug", "Chongqing Fugui Electronics Co.,Ltd." },
- { { 0x4C, 0xD5, 0x87 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x4C, 0xD5, 0x87 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x4C, 0xD6, 0x29 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x4C, 0xD6, 0x37 }, "QsonoElectro", "Qsono Electronics Co., Ltd" },
{ { 0x4C, 0xD7, 0x17 }, "Dell", "Dell Inc." },
@@ -20034,6 +20118,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x50, 0x05, 0x3D }, "CyWeeGroup", "CyWee Group Ltd" },
{ { 0x50, 0x06, 0x04 }, "Cisco", "Cisco Systems, Inc" },
{ { 0x50, 0x06, 0xAB }, "Cisco", "Cisco Systems, Inc" },
+ { { 0x50, 0x06, 0xF5 }, "Roku", "Roku, Inc" },
{ { 0x50, 0x07, 0xC3 }, "AmazonTechno", "Amazon Technologies Inc." },
{ { 0x50, 0x09, 0x59 }, "VantivaUSA", "Vantiva USA LLC" },
{ { 0x50, 0x09, 0xE5 }, "Drimsys", "Drimsys,Inc" },
@@ -20100,6 +20185,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x50, 0x33, 0x8B }, "TexasInstrum", "Texas Instruments" },
{ { 0x50, 0x33, 0xF0 }, "YichenTechno", "Yichen (Shenzhen) Technology Co.Ltd" },
{ { 0x50, 0x38, 0x2F }, "ASEGroupChun", "ASE Group Chung-Li" },
+ { { 0x50, 0x38, 0xAB }, "Prove", "Prove" },
{ { 0x50, 0x39, 0x2F }, "IngramMicroS", "Ingram Micro Services" },
{ { 0x50, 0x39, 0x55 }, "CiscoSPVTG", "Cisco SPVTG" },
{ { 0x50, 0x3A, 0x7D }, "AlphaTechInt", "AlphaTech PLC Int’l Co., Ltd." },
@@ -20285,6 +20371,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x50, 0xAF, 0x4D }, "zte", "zte corporation" },
{ { 0x50, 0xAF, 0x73 }, "BitlandInfor", "Shenzhen Bitland Information Technology Co., Ltd." },
{ { 0x50, 0xB1, 0x27 }, "Apple", "Apple, Inc." },
+ { { 0x50, 0xB1, 0x40 }, "ElpromaElekt", "Elproma Elektronika Sp Z O O" },
{ { 0x50, 0xB3, 0x63 }, "DigitrondaAm", "Digitron da Amazonia S/A" },
{ { 0x50, 0xB3, 0xB4 }, "FuruilianEle", "Shenzhen Furuilian Electronic Co.,Ltd." },
{ { 0x50, 0xB6, 0x95 }, "MicropointBi", "Micropoint Biotechnologies,Inc." },
@@ -20343,7 +20430,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x50, 0xE2, 0x4E }, "zte", "zte corporation" },
{ { 0x50, 0xE4, 0x52 }, "ChipseaTechn", "Chipsea Technologies (Shenzhen) Corp." },
{ { 0x50, 0xE4, 0x78 }, "SichuanAILin", "Sichuan AI-Link Technology Co., Ltd." },
- { { 0x50, 0xE4, 0xE0 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x50, 0xE4, 0xE0 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x50, 0xE5, 0x38 }, "HikvisionDig", "Hangzhou Hikvision Digital Technology Co.,Ltd." },
{ { 0x50, 0xE5, 0x49 }, "GigaByteTech", "Giga-Byte Technology Co.,Ltd." },
{ { 0x50, 0xE6, 0x36 }, "AVMAudiovisu", "AVM Audiovisuelles Marketing und Computersysteme GmbH" },
@@ -20365,6 +20452,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x50, 0xF1, 0x4A }, "TexasInstrum", "Texas Instruments" },
{ { 0x50, 0xF2, 0x22 }, "EMMicroelect", "EM Microelectronic" },
{ { 0x50, 0xF2, 0x61 }, "PhotonSailTe", "Photon Sail Technologies" },
+ { { 0x50, 0xF2, 0x65 }, "Apple", "Apple, Inc." },
{ { 0x50, 0xF4, 0x3C }, "Leeo", "Leeo Inc" },
{ { 0x50, 0xF4, 0xEB }, "Apple", "Apple, Inc." },
{ { 0x50, 0xF5, 0x20 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
@@ -20546,7 +20634,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x54, 0x75, 0xD0 }, "Cisco", "Cisco Systems, Inc" },
{ { 0x54, 0x76, 0xB2 }, "RaisecomTech", "Raisecom Technology CO., LTD" },
{ { 0x54, 0x77, 0x87 }, "EardaTechnol", "Earda Technologies co Ltd" },
- { { 0x54, 0x77, 0x8A }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x54, 0x77, 0x8A }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x54, 0x78, 0x1A }, "Cisco", "Cisco Systems, Inc" },
{ { 0x54, 0x78, 0x85 }, "GiecDigital", "Shenzhen Giec Digital Co.,Ltd" },
{ { 0x54, 0x78, 0xC9 }, "AMPAKTechnol", "AMPAK Technology,Inc." },
@@ -20559,7 +20647,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x54, 0x7F, 0xA8 }, "TELCOsro", "TELCO systems, s.r.o." },
{ { 0x54, 0x7F, 0xBC }, "iodyne", "iodyne" },
{ { 0x54, 0x7F, 0xEE }, "Cisco", "Cisco Systems, Inc" },
- { { 0x54, 0x80, 0x28 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x54, 0x80, 0x28 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x54, 0x81, 0x2D }, "PAXComputerT", "PAX Computer Technology(Shenzhen) Ltd." },
{ { 0x54, 0x81, 0xAD }, "EagleResearc", "Eagle Research Corporation" },
{ { 0x54, 0x83, 0x3A }, "ZyxelCommuni", "Zyxel Communications Corporation" },
@@ -20654,7 +20742,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x54, 0xD4, 0x6F }, "CiscoSPVTG", "Cisco SPVTG" },
{ { 0x54, 0xD6, 0x0D }, "EzvizSoftwar", "Hangzhou Ezviz Software Co.,Ltd." },
{ { 0x54, 0xD7, 0x51 }, "Proximus", "Proximus" },
- { { 0x54, 0xD7, 0xE3 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x54, 0xD7, 0xE3 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x54, 0xD9, 0xC6 }, "HuaweiDevice", "Huawei Device Co., Ltd." },
{ { 0x54, 0xD9, 0xE4 }, "Brilliantts", "Brilliantts Co., Ltd" },
{ { 0x54, 0xDB, 0xA2 }, "Fibrain", "Fibrain" },
@@ -20695,7 +20783,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x54, 0xEF, 0x44 }, "LumiUnitedTe", "Lumi United Technology Co., Ltd" },
{ { 0x54, 0xEF, 0x92 }, "ElinkTechnol", "Shenzhen Elink Technology Co., LTD" },
{ { 0x54, 0xEF, 0xFE }, "FullpowerTec", "Fullpower Technologies, Inc." },
- { { 0x54, 0xF0, 0xB1 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x54, 0xF0, 0xB1 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x54, 0xF1, 0x5F }, "SichuanAILin", "Sichuan AI-Link Technology Co., Ltd." },
{ { 0x54, 0xF2, 0x01 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x54, 0xF2, 0x94 }, "HuaweiDevice", "Huawei Device Co., Ltd." },
@@ -20709,10 +20797,12 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x54, 0xF8, 0x76 }, "Abb", "Abb Ag" },
{ { 0x54, 0xF8, 0xF0 }, "Tesla", "Tesla Inc" },
{ { 0x54, 0xFA, 0x3E }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
+ { { 0x54, 0xFA, 0x89 }, "MedtronicCRM", "Medtronic CRM" },
{ { 0x54, 0xFA, 0x96 }, "NokiaSolutio", "Nokia Solutions and Networks GmbH & Co. KG" },
{ { 0x54, 0xFB, 0x58 }, "WISEWARELda", "WISEWARE, Lda" },
{ { 0x54, 0xFC, 0xF0 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x54, 0xFD, 0xBF }, "ScheidtBachm", "Scheidt & Bachmann GmbH" },
+ { { 0x54, 0xFE, 0xEB }, "TexasInstrum", "Texas Instruments" },
{ { 0x54, 0xFF, 0x82 }, "DavitSolutio", "Davit Solution co." },
{ { 0x54, 0xFF, 0xCF }, "MopriaAllian", "Mopria Alliance" },
{ { 0x58, 0x00, 0x32 }, "Genexis", "Genexis B.V." },
@@ -20839,9 +20929,11 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x58, 0x73, 0xD8 }, "Apple", "Apple, Inc." },
{ { 0x58, 0x75, 0x21 }, "CJSCRTSoft", "CJSC RTSoft" },
{ { 0x58, 0x76, 0x75 }, "ECHOTechnolo", "Beijing ECHO Technologies Co.,Ltd" },
+ { { 0x58, 0x76, 0x9C }, "PaloAltoNetw", "Palo Alto Networks" },
{ { 0x58, 0x76, 0xAC }, "SernetTechno", "Sernet (Suzhou) Technologies Corporation" },
{ { 0x58, 0x76, 0xB3 }, "UbeeInteract", "Ubee Interactive Co., Limited" },
{ { 0x58, 0x76, 0xC5 }, "DigiIS", "Digi I'S Ltd" },
+ { { 0x58, 0x79, 0xE0 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x58, 0x7A, 0x4D }, "Stonesoft", "Stonesoft Corporation" },
{ { 0x58, 0x7A, 0x62 }, "TexasInstrum", "Texas Instruments" },
{ { 0x58, 0x7A, 0x6A }, "OppoMobileTe", "Guangdong Oppo Mobile Telecommunications Corp.,Ltd" },
@@ -20956,6 +21048,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x58, 0xD0, 0x61 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x58, 0xD0, 0x71 }, "BWBroadcast", "BW Broadcast" },
{ { 0x58, 0xD0, 0x8F }, "IEEE19041Wor", "IEEE 1904.1 Working Group" },
+ { { 0x58, 0xD1, 0x5A }, "TexasInstrum", "Texas Instruments" },
{ { 0x58, 0xD2, 0x37 }, "SichuanTiany", "Sichuan Tianyi Comheart Telecom Co.,LTD" },
{ { 0x58, 0xD3, 0x12 }, "zte", "zte corporation" },
{ { 0x58, 0xD3, 0x49 }, "Apple", "Apple, Inc." },
@@ -20969,6 +21062,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x58, 0xD8, 0xA7 }, "BirdHomeAuto", "Bird Home Automation GmbH" },
{ { 0x58, 0xD9, 0xC3 }, "MotorolaMobi", "Motorola Mobility LLC, a Lenovo Company" },
{ { 0x58, 0xD9, 0xD5 }, "TendaTechnol", "Tenda Technology Co.,Ltd.Dongguan branch" },
+ { { 0x58, 0xDB, 0x09 }, "QuectelWirel", "Quectel Wireless Solutions Co.,Ltd." },
{ { 0x58, 0xDB, 0x15 }, "TecnoMobile", "Tecno Mobile Limited" },
{ { 0x58, 0xDB, 0x8D }, "Fast", "Fast Co., Ltd." },
{ { 0x58, 0xDC, 0x6D }, "ExceptionalI", "Exceptional Innovation, Inc." },
@@ -21009,6 +21103,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x58, 0xFC, 0x73 }, "ArriaLiveMed", "Arria Live Media, Inc." },
{ { 0x58, 0xFC, 0xC6 }, "Tozo", "Tozo Inc" },
{ { 0x58, 0xFC, 0xC8 }, "LenelS2Carri", "LenelS2 Carrier" },
+ { { 0x58, 0xFC, 0xE3 }, "FunshionOnli", "Funshion Online Technologies Co.,Ltd" },
{ { 0x58, 0xFD, 0x20 }, "SystemhouseS", "Systemhouse Solutions AB" },
{ { 0x58, 0xFD, 0x5D }, "Xinyuntechno", "Hangzhou Xinyun technology Co., Ltd." },
{ { 0x58, 0xFD, 0xB1 }, "LGElectronic", "LG Electronics" },
@@ -21045,6 +21140,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x5C, 0x11, 0x93 }, "SealOne", "Seal One AG" },
{ { 0x5C, 0x14, 0x37 }, "Thyssenkrupp", "Thyssenkrupp Aufzugswerke GmbH" },
{ { 0x5C, 0x15, 0x15 }, "Advan", "Advan" },
+ { { 0x5C, 0x15, 0xC5 }, "SSCTechnolog", "Shenzhen SSC Technology Co. Ltd" },
{ { 0x5C, 0x15, 0xE1 }, "AidcTechnolo", "Aidc Technology (S) Pte Ltd" },
{ { 0x5C, 0x16, 0x48 }, "OppoMobileTe", "Guangdong Oppo Mobile Telecommunications Corp.,Ltd" },
{ { 0x5C, 0x16, 0x7D }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
@@ -21064,6 +21160,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x5C, 0x22, 0xC4 }, "DaeEunEletro", "Dae Eun Eletronics Co., Ltd" },
{ { 0x5C, 0x22, 0xDA }, "VantivaUSA", "Vantiva USA LLC" },
{ { 0x5C, 0x23, 0x16 }, "SquirrelsRes", "Squirrels Research Labs LLC" },
+ { { 0x5C, 0x24, 0x1F }, "QingdaoHaier", "Qingdao Haier Technology Co.,Ltd" },
{ { 0x5C, 0x24, 0x43 }, "OSungTelecom", "O-Sung Telecom Co., Ltd." },
{ { 0x5C, 0x24, 0x79 }, "Baltech", "Baltech AG" },
{ { 0x5C, 0x24, 0xE2 }, "SuzhouDenbom", "Suzhou Denbom Electronic S&T Co., Ltd" },
@@ -21202,6 +21299,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x5C, 0x89, 0x9A }, "TpLinkTechno", "Tp-Link Technologies Co.,Ltd." },
{ { 0x5C, 0x89, 0xD4 }, "BannerElectr", "Beijing Banner Electric Co.,Ltd" },
{ { 0x5C, 0x8A, 0x38 }, "HewlettPacka", "Hewlett Packard" },
+ { { 0x5C, 0x8A, 0xAE }, "ChinaDragonT", "China Dragon Technology Limited" },
{ { 0x5C, 0x8B, 0x6B }, "AmazonTechno", "Amazon Technologies Inc." },
{ { 0x5C, 0x8C, 0x30 }, "TaicangT&WEl", "Taicang T&W Electronics" },
{ { 0x5C, 0x8D, 0x2D }, "WellpayInfor", "Shanghai Wellpay Information Technology Co., Ltd" },
@@ -21231,7 +21329,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x5C, 0xA1, 0xE0 }, "EmbedWayTech", "EmbedWay Technologies" },
{ { 0x5C, 0xA3, 0x9D }, "SamsungElect", "Samsung Electro Mechanics Co., Ltd." },
{ { 0x5C, 0xA3, 0xEB }, "SKODADIGITAL", "SKODA DIGITAL s.r.o." },
- { { 0x5C, 0xA4, 0x7D }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x5C, 0xA4, 0x7D }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x5C, 0xA4, 0x8A }, "Cisco", "Cisco Systems, Inc" },
{ { 0x5C, 0xA4, 0xA4 }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" },
{ { 0x5C, 0xA4, 0xF4 }, "zte", "zte corporation" },
@@ -21258,13 +21356,14 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x5C, 0xB3, 0x95 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x5C, 0xB3, 0xF6 }, "Human", "Human, Incorporated" },
{ { 0x5C, 0xB4, 0x3E }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
+ { { 0x5C, 0xB4, 0x7E }, "Intel", "Intel Corporate" },
{ { 0x5C, 0xB4, 0xE2 }, "InspurSoftwa", "Inspur Software Group Ltd." },
{ { 0x5C, 0xB5, 0x24 }, "Sony", "Sony Corporation" },
{ { 0x5C, 0xB5, 0x59 }, "CNEXLabs", "CNEX Labs" },
{ { 0x5C, 0xB6, 0xCC }, "NovaCommTech", "NovaComm Technologies Inc." },
{ { 0x5C, 0xB8, 0xCB }, "AllisCommuni", "Allis Communications" },
{ { 0x5C, 0xB9, 0x01 }, "HewlettPacka", "Hewlett Packard" },
- { { 0x5C, 0xBA, 0x2C }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x5C, 0xBA, 0x2C }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x5C, 0xBA, 0x37 }, "Microsoft", "Microsoft Corporation" },
{ { 0x5C, 0xBA, 0xEF }, "ChongqingFug", "Chongqing Fugui Electronics Co.,Ltd." },
{ { 0x5C, 0xBB, 0xEE }, "zte", "zte corporation" },
@@ -21339,7 +21438,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x5C, 0xEA, 0x1D }, "HonHaiPrecis", "Hon Hai Precision Ind. Co.,Ltd." },
{ { 0x5C, 0xEB, 0x4E }, "RSTAHLHMI", "R. STAHL HMI Systems GmbH" },
{ { 0x5C, 0xEB, 0x68 }, "CheerstarTec", "Cheerstar Technology Co., Ltd" },
- { { 0x5C, 0xED, 0x8C }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x5C, 0xED, 0x8C }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x5C, 0xED, 0xF4 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x5C, 0xEE, 0x79 }, "GlobalDigite", "Global Digitech Co LTD" },
{ { 0x5C, 0xF2, 0x07 }, "SpecoTechnol", "Speco Technologies" },
@@ -21427,7 +21526,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x60, 0x24, 0xC1 }, "JiangsuZhong", "Jiangsu Zhongxun Electronic Technology Co., Ltd" },
{ { 0x60, 0x26, 0x02 }, "TexasInstrum", "Texas Instruments" },
{ { 0x60, 0x26, 0xAA }, "Cisco", "Cisco Systems, Inc" },
- { { 0x60, 0x26, 0xEF }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x60, 0x26, 0xEF }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x60, 0x27, 0x1C }, "VIDEOREHarti", "VIDEOR E. Hartig GmbH" },
{ { 0x60, 0x29, 0x2B }, "TpLinkTechno", "Tp-Link Technologies Co.,Ltd." },
{ { 0x60, 0x29, 0xD5 }, "DAVOLINK", "DAVOLINK Inc." },
@@ -21438,6 +21537,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x60, 0x2E, 0x20 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x60, 0x30, 0xD4 }, "Apple", "Apple, Inc." },
{ { 0x60, 0x31, 0x3B }, "SunnovoInter", "Sunnovo International Limited" },
+ { { 0x60, 0x31, 0x92 }, "OVTIndia", "OVT India pvt Ltd" },
{ { 0x60, 0x31, 0x97 }, "ZyxelCommuni", "Zyxel Communications Corporation" },
{ { 0x60, 0x32, 0xB1 }, "TpLinkTechno", "Tp-Link Technologies Co.,Ltd." },
{ { 0x60, 0x32, 0xF0 }, "Mplustechnol", "Mplus technology" },
@@ -21543,6 +21643,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x60, 0x7E, 0xC9 }, "Apple", "Apple, Inc." },
{ { 0x60, 0x7E, 0xCD }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x60, 0x7E, 0xDD }, "MicrosoftMob", "Microsoft Mobile Oy" },
+ { { 0x60, 0x7F, 0xCB }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x60, 0x81, 0x2B }, "AstronicsCus", "Astronics Custom Control Concepts" },
{ { 0x60, 0x81, 0xF9 }, "Helium", "Helium Systems, Inc" },
{ { 0x60, 0x82, 0x46 }, "Apple", "Apple, Inc." },
@@ -21705,9 +21806,11 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x60, 0xF2, 0x81 }, "TranwoTechno", "Tranwo Technology Co., Ltd." },
{ { 0x60, 0xF2, 0xEF }, "VisionVeraIn", "VisionVera International Co., Ltd." },
{ { 0x60, 0xF3, 0xDA }, "LogicWay", "Logic Way GmbH" },
+ { { 0x60, 0xF4, 0x19 }, "eero", "eero inc." },
{ { 0x60, 0xF4, 0x3A }, "EdifierInter", "Edifier International" },
{ { 0x60, 0xF4, 0x45 }, "Apple", "Apple, Inc." },
{ { 0x60, 0xF4, 0x94 }, "HonHaiPrecis", "Hon Hai Precision Ind. Co.,Ltd." },
+ { { 0x60, 0xF5, 0x49 }, "Apple", "Apple, Inc." },
{ { 0x60, 0xF5, 0x9C }, "CRUDataport", "CRU-Dataport" },
{ { 0x60, 0xF6, 0x73 }, "Terumo", "Terumo Corporation" },
{ { 0x60, 0xF6, 0x77 }, "Intel", "Intel Corporate" },
@@ -21736,6 +21839,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x64, 0x05, 0xBE }, "NewLightLed", "New Light Led" },
{ { 0x64, 0x05, 0xE4 }, "Alpsalpine", "Alpsalpine Co,.Ltd" },
{ { 0x64, 0x05, 0xE9 }, "WayOSTechnol", "Shenzhen WayOS Technology Crop., Ltd." },
+ { { 0x64, 0x07, 0x8C }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x64, 0x07, 0xF6 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x64, 0x09, 0x4C }, "SuperbeeWire", "Beijing Superbee Wireless Technology Co.,Ltd" },
{ { 0x64, 0x09, 0x80 }, "XiaomiCommun", "Xiaomi Communications Co Ltd" },
@@ -21917,6 +22021,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x64, 0x88, 0xFF }, "SichuanChang", "Sichuan Changhong Electric Ltd." },
{ { 0x64, 0x89, 0x9A }, "LGElectronic", "LG Electronics (Mobile Communications)" },
{ { 0x64, 0x89, 0xF1 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
+ { { 0x64, 0x8B, 0x9B }, "AlwaysOnTech", "Always On Tech Pte.Ltd." },
{ { 0x64, 0x8C, 0xBB }, "TexasInstrum", "Texas Instruments" },
{ { 0x64, 0x8D, 0x9E }, "IVTElectroni", "IVT Electronic Co.,Ltd" },
{ { 0x64, 0x8F, 0x3E }, "Cisco", "Cisco Systems, Inc" },
@@ -21936,6 +22041,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x64, 0x9B, 0x24 }, "VTechnology", "V Technology Co., Ltd." },
{ { 0x64, 0x9C, 0x81 }, "Qualcomm", "Qualcomm Inc." },
{ { 0x64, 0x9C, 0x8E }, "TexasInstrum", "Texas Instruments" },
+ { { 0x64, 0x9C, 0xF3 }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" },
{ { 0x64, 0x9D, 0x99 }, "FsCom", "Fs Com Inc" },
{ { 0x64, 0x9E, 0x31 }, "XiaomiMobile", "Beijing Xiaomi Mobile Software Co., Ltd" },
{ { 0x64, 0x9E, 0xF3 }, "Cisco", "Cisco Systems, Inc" },
@@ -22052,7 +22158,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x64, 0xE7, 0xD8 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x64, 0xE8, 0x33 }, "Espressif", "Espressif Inc." },
{ { 0x64, 0xE8, 0x4F }, "SerialwayCom", "Serialway Communication Technology Co. Ltd" },
- { { 0x64, 0xE8, 0x81 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x64, 0xE8, 0x81 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x64, 0xE8, 0x92 }, "MorioDenki", "Morio Denki Co., Ltd." },
{ { 0x64, 0xE8, 0xE6 }, "globalmoistu", "global moisture management system" },
{ { 0x64, 0xE9, 0x50 }, "Cisco", "Cisco Systems, Inc" },
@@ -22129,7 +22235,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x68, 0x27, 0x37 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x68, 0x27, 0x5F }, "zte", "zte corporation" },
{ { 0x68, 0x28, 0xBA }, "Dejai", "Dejai" },
- { { 0x68, 0x28, 0xCF }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x68, 0x28, 0xCF }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x68, 0x28, 0xF6 }, "VubiqNetwork", "Vubiq Networks, Inc." },
{ { 0x68, 0x29, 0xDC }, "FicosaElectr", "Ficosa Electronics S.L.U." },
{ { 0x68, 0x2C, 0x4F }, "leerang", "leerang corporation" },
@@ -22185,6 +22291,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x68, 0x52, 0x10 }, "MCSLogic", "MCS Logic" },
{ { 0x68, 0x52, 0xD6 }, "UGameTechnol", "UGame Technology Co.,Ltd" },
{ { 0x68, 0x53, 0x6C }, "SPnS", "SPnS Co.,Ltd" },
+ { { 0x68, 0x53, 0x77 }, "BouffaloLab", "Bouffalo Lab (Nanjing) Co., Ltd." },
{ { 0x68, 0x53, 0x88 }, "P&STechnolog", "P&S Technology" },
{ { 0x68, 0x53, 0x9D }, "EMMicroelect", "EM Microelectronic" },
{ { 0x68, 0x54, 0x5A }, "Intel", "Intel Corporate" },
@@ -22321,6 +22428,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x68, 0xB6, 0x91 }, "AmazonTechno", "Amazon Technologies Inc." },
{ { 0x68, 0xB6, 0xB3 }, "Espressif", "Espressif Inc." },
{ { 0x68, 0xB6, 0xFC }, "HitronTechno", "Hitron Technologies. Inc" },
+ { { 0x68, 0xB7, 0x6B }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" },
{ { 0x68, 0xB8, 0xBB }, "XiaomiElectr", "Beijing Xiaomi Electronics Co.,Ltd" },
{ { 0x68, 0xB8, 0xD9 }, "ActKDE", "Act KDE, Inc." },
{ { 0x68, 0xB9, 0x83 }, "bplus", "b-plus GmbH" },
@@ -22329,10 +22437,12 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x68, 0xBC, 0x0C }, "Cisco", "Cisco Systems, Inc" },
{ { 0x68, 0xBD, 0xAB }, "Cisco", "Cisco Systems, Inc" },
{ { 0x68, 0xBE, 0x49 }, "NebulaMatrix", "Nebula Matrix" },
+ { { 0x68, 0xBF, 0x6C }, "AristaNetwor", "Arista Networks" },
{ { 0x68, 0xBF, 0xC4 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x68, 0xC4, 0x4C }, "XiaomiCommun", "Xiaomi Communications Co Ltd" },
{ { 0x68, 0xC4, 0x4D }, "MotorolaMobi", "Motorola Mobility LLC, a Lenovo Company" },
{ { 0x68, 0xC6, 0x3A }, "Espressif", "Espressif Inc." },
+ { { 0x68, 0xC6, 0xAC }, "Intel", "Intel Corporate" },
{ { 0x68, 0xC8, 0xEB }, "RockwellAuto", "Rockwell Automation" },
{ { 0x68, 0xC9, 0x0B }, "TexasInstrum", "Texas Instruments" },
{ { 0x68, 0xCA, 0x00 }, "Octopus", "Octopus Systems Limited" },
@@ -22670,6 +22780,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x6C, 0xB2, 0xAE }, "Cisco", "Cisco Systems, Inc" },
{ { 0x6C, 0xB2, 0xFD }, "TexasInstrum", "Texas Instruments" },
{ { 0x6C, 0xB3, 0x11 }, "LianruiElect", "Shenzhen Lianrui Electronics Co.,Ltd" },
+ { { 0x6C, 0xB3, 0x4D }, "SharkNinjaOp", "SharkNinja Operating LLC" },
{ { 0x6C, 0xB3, 0x50 }, "Anhuicomhigh", "Anhui comhigher tech co.,ltd" },
{ { 0x6C, 0xB4, 0x56 }, "Espressif", "Espressif Inc." },
{ { 0x6C, 0xB4, 0xA7 }, "Landauer", "Landauer, Inc." },
@@ -22692,7 +22803,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x6C, 0xC3, 0x74 }, "TexasInstrum", "Texas Instruments" },
{ { 0x6C, 0xC3, 0xB2 }, "CiscoMeraki", "Cisco Meraki" },
{ { 0x6C, 0xC4, 0x1E }, "NEXSEC", "NEXSEC Incorporated" },
- { { 0x6C, 0xC4, 0x9F }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x6C, 0xC4, 0x9F }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x6C, 0xC4, 0xD5 }, "HMDGlobal", "HMD Global Oy" },
{ { 0x6C, 0xC6, 0x3B }, "TaicangT&WEl", "Taicang T&W Electronics" },
{ { 0x6C, 0xC7, 0xEC }, "SamsungElect", "Samsung Electro-Mechanics(Thailand)" },
@@ -22748,7 +22859,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x6C, 0xF1, 0x7E }, "ZhejiangUniv", "Zhejiang Uniview Technologies Co.,Ltd." },
{ { 0x6C, 0xF2, 0xD8 }, "Canon", "Canon Inc." },
{ { 0x6C, 0xF3, 0x73 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
- { { 0x6C, 0xF3, 0x7F }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x6C, 0xF3, 0x7F }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x6C, 0xF5, 0xE8 }, "Mooredoll", "Mooredoll Inc." },
{ { 0x6C, 0xF6, 0xDA }, "Intel", "Intel Corporate" },
{ { 0x6C, 0xF7, 0x12 }, "NokiaSolutio", "Nokia Solutions and Networks GmbH & Co. KG" },
@@ -22759,6 +22870,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x6C, 0xFA, 0x89 }, "Cisco", "Cisco Systems, Inc" },
{ { 0x6C, 0xFA, 0xA7 }, "AMPAKTechnol", "AMPAK Technology, Inc." },
{ { 0x6C, 0xFB, 0xED }, "GNAudio", "GN Audio A/S" },
+ { { 0x6C, 0xFD, 0x22 }, "SiliconLabor", "Silicon Laboratories" },
{ { 0x6C, 0xFD, 0xB9 }, "ProwareTechn", "Proware Technologies Co Ltd." },
{ { 0x6C, 0xFE, 0x54 }, "Intel", "Intel Corporate" },
{ { 0x6C, 0xFF, 0xBE }, "MPBCommunica", "MPB Communications Inc." },
@@ -22783,7 +22895,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x70, 0x0F, 0xC7 }, "IkinloopTech", "Shenzhen Ikinloop Technology Co.,Ltd." },
{ { 0x70, 0x0F, 0xEC }, "Poindus", "Poindus Systems Corp." },
{ { 0x70, 0x10, 0x5C }, "Cisco", "Cisco Systems, Inc" },
- { { 0x70, 0x10, 0x6F }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x70, 0x10, 0x6F }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x70, 0x11, 0x0E }, "zte", "zte corporation" },
{ { 0x70, 0x11, 0x24 }, "Apple", "Apple, Inc." },
{ { 0x70, 0x11, 0x35 }, "Livesecu", "Livesecu co., Ltd" },
@@ -22841,11 +22953,13 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x70, 0x32, 0x17 }, "Intel", "Intel Corporate" },
{ { 0x70, 0x32, 0xD5 }, "AthenaWirele", "Athena Wireless Communications Inc" },
{ { 0x70, 0x35, 0x09 }, "Cisco", "Cisco Systems, Inc" },
+ { { 0x70, 0x35, 0x7B }, "vivoMobileCo", "vivo Mobile Communication Co., Ltd." },
{ { 0x70, 0x36, 0xB2 }, "Focusai", "Focusai Corp" },
+ { { 0x70, 0x37, 0x8E }, "TianyiTeleco", "Tianyi Telecom Terminals Company Limited" },
{ { 0x70, 0x38, 0x11 }, "SiemensMobil", "Siemens Mobility Limited" },
{ { 0x70, 0x38, 0xB4 }, "LowTechSolut", "Low Tech Solutions" },
{ { 0x70, 0x38, 0xEE }, "Avaya", "Avaya Inc" },
- { { 0x70, 0x3A, 0x0E }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x70, 0x3A, 0x0E }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x70, 0x3A, 0x2D }, "VLinkTechnol", "Shenzhen V-Link Technology CO., LTD." },
{ { 0x70, 0x3A, 0x51 }, "XiaomiCommun", "Xiaomi Communications Co Ltd" },
{ { 0x70, 0x3A, 0x73 }, "SundrayTechn", "Shenzhen Sundray Technologies Company Limited" },
@@ -22928,6 +23042,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x70, 0x66, 0xE1 }, "dntInnovatio", "dnt Innovation GmbH" },
{ { 0x70, 0x68, 0x79 }, "SaijoDenkiIn", "Saijo Denki International Co., Ltd." },
{ { 0x70, 0x69, 0x5A }, "Cisco", "Cisco Systems, Inc" },
+ { { 0x70, 0x6A, 0xC9 }, "zte", "zte corporation" },
{ { 0x70, 0x6B, 0xB9 }, "Cisco", "Cisco Systems, Inc" },
{ { 0x70, 0x6D, 0x15 }, "Cisco", "Cisco Systems, Inc" },
{ { 0x70, 0x6D, 0xEC }, "Wifisoft", "Wifi-soft LLC" },
@@ -23130,6 +23245,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x70, 0xF8, 0x2B }, "DWnetTechnol", "DWnet Technologies(Suzhou) Corporation" },
{ { 0x70, 0xF8, 0xAE }, "Microsoft", "Microsoft Corporation" },
{ { 0x70, 0xF9, 0x27 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
+ { { 0x70, 0xF9, 0x4A }, "Apple", "Apple, Inc." },
{ { 0x70, 0xF9, 0x6D }, "H3CTechnolog", "Hangzhou H3C Technologies Co., Limited" },
{ { 0x70, 0xFC, 0x8C }, "OneAccess", "OneAccess SA" },
{ { 0x70, 0xFC, 0x8F }, "FreeboxSas", "Freebox Sas" },
@@ -23138,6 +23254,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x70, 0xFD, 0x88 }, "NanjingJiaha", "Nanjing Jiahao Technology Co., Ltd." },
{ { 0x70, 0xFF, 0x5C }, "CheerzingCom", "Cheerzing Communication(Xiamen)Technology Co.,Ltd" },
{ { 0x70, 0xFF, 0x76 }, "TexasInstrum", "Texas Instruments" },
+ { { 0x74, 0x02, 0xE1 }, "TexasInstrum", "Texas Instruments" },
{ { 0x74, 0x03, 0xBD }, "Buffalo", "Buffalo.Inc" },
{ { 0x74, 0x04, 0x2B }, "LenovoMobile", "Lenovo Mobile Communication (Wuhan) Company Limited" },
{ { 0x74, 0x04, 0xF0 }, "MobiwireMobi", "Mobiwire Mobiles (NingBo) Co., LTD" },
@@ -23181,12 +23298,14 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x74, 0x27, 0x3C }, "ChangYangTec", "ChangYang Technology (Nanjing) Co., LTD" },
{ { 0x74, 0x27, 0xEA }, "ElitegroupCo", "Elitegroup Computer Systems Co.,Ltd." },
{ { 0x74, 0x28, 0x57 }, "MayfieldRobo", "Mayfield Robotics" },
+ { { 0x74, 0x29, 0x72 }, "JuniperNetwo", "Juniper Networks" },
{ { 0x74, 0x29, 0xAF }, "HonHaiPrecis", "Hon Hai Precision Ind. Co.,Ltd." },
{ { 0x74, 0x2A, 0x8A }, "worldeliteel", "shenzhen worldelite electronics co., LTD" },
{ { 0x74, 0x2B, 0x0F }, "Infinidat", "Infinidat Ltd." },
{ { 0x74, 0x2B, 0x62 }, "Fujitsu", "Fujitsu Limited" },
{ { 0x74, 0x2D, 0x0A }, "NorfolkElekt", "Norfolk Elektronik AG" },
{ { 0x74, 0x2E, 0x4F }, "StienenGroup", "Stienen Group" },
+ { { 0x74, 0x2E, 0xC1 }, "DixonElectro", "Dixon Electro Appliances Pvt Ltd" },
{ { 0x74, 0x2E, 0xDB }, "Perinet", "Perinet GmbH" },
{ { 0x74, 0x2E, 0xFC }, "DirectPacket", "DirectPacket Research, Inc," },
{ { 0x74, 0x2F, 0x68 }, "AzureWaveTec", "AzureWave Technology Inc." },
@@ -23364,7 +23483,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x74, 0x9D, 0x79 }, "Sercomm", "Sercomm Corporation." },
{ { 0x74, 0x9D, 0x8F }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x74, 0x9D, 0xDC }, "2Wire", "2Wire Inc" },
- { { 0x74, 0x9E, 0x75 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x74, 0x9E, 0x75 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x74, 0x9E, 0xA5 }, "Ohsung", "Ohsung" },
{ { 0x74, 0x9E, 0xAF }, "Apple", "Apple, Inc." },
{ { 0x74, 0x9E, 0xF5 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
@@ -23416,6 +23535,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x74, 0xC6, 0x3B }, "AzureWaveTec", "AzureWave Technology Inc." },
{ { 0x74, 0xC6, 0x4A }, "AGOS", "AGOS Co.,Ltd" },
{ { 0x74, 0xC7, 0x6E }, "RtkTechnolog", "Rtk-Technologies, Llc" },
+ { { 0x74, 0xC9, 0x0F }, "MicrochipTec", "Microchip Technologies Inc" },
{ { 0x74, 0xC9, 0x29 }, "ZhejiangDahu", "Zhejiang Dahua Technology Co., Ltd." },
{ { 0x74, 0xC9, 0x9A }, "Ericsson", "Ericsson AB" },
{ { 0x74, 0xC9, 0xA3 }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" },
@@ -23521,6 +23641,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x78, 0x06, 0xC9 }, "HuaweiDevice", "Huawei Device Co., Ltd." },
{ { 0x78, 0x07, 0x1C }, "GreenEnergyO", "Green Energy Options Ltd" },
{ { 0x78, 0x07, 0x38 }, "ZUKElzab", "Z.U.K. Elzab S.A." },
+ { { 0x78, 0x07, 0x8F }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x78, 0x08, 0x4D }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x78, 0x0A, 0xC7 }, "BaofengTV", "Baofeng TV Co., Ltd." },
{ { 0x78, 0x0C, 0xB8 }, "Intel", "Intel Corporate" },
@@ -23562,6 +23683,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x78, 0x25, 0x7A }, "LEOInnovatio", "LEO Innovation Lab" },
{ { 0x78, 0x25, 0xAD }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x78, 0x28, 0xCA }, "Sonos", "Sonos, Inc." },
+ { { 0x78, 0x29, 0xAD }, "NingboQixian", "Ningbo Qixiang Information Technology Co., Ltd" },
{ { 0x78, 0x29, 0xED }, "AskeyCompute", "Askey Computer Corp" },
{ { 0x78, 0x2A, 0x79 }, "IntegratedDe", "Integrated Device Technology (Malaysia) Sdn. Bhd." },
{ { 0x78, 0x2A, 0xF8 }, "IethcomInfor", "Iethcom Information Technology Co., Ltd." },
@@ -23571,6 +23693,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x78, 0x2C, 0x29 }, "NewH3CTechno", "New H3C Technologies Co., Ltd" },
{ { 0x78, 0x2D, 0x7E }, "TRENDnet", "TRENDnet, Inc." },
{ { 0x78, 0x2D, 0xAD }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
+ { { 0x78, 0x2E, 0x03 }, "GeniusTechno", "Guangdong Genius Technology Co., Ltd." },
{ { 0x78, 0x2E, 0x56 }, "ChinaMobileG", "China Mobile Group Device Co.,Ltd." },
{ { 0x78, 0x2E, 0xEF }, "Nokia", "Nokia Corporation" },
{ { 0x78, 0x2F, 0x17 }, "Xlab", "Xlab Co.,Ltd" },
@@ -23582,6 +23705,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x78, 0x31, 0xC1 }, "Apple", "Apple, Inc." },
{ { 0x78, 0x32, 0x1B }, "DLinkInterna", "D-Link International" },
{ { 0x78, 0x32, 0x4F }, "MillenniumGr", "Millennium Group, Inc." },
+ { { 0x78, 0x34, 0x09 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x78, 0x34, 0x86 }, "Nokia", "Nokia" },
{ { 0x78, 0x34, 0xFD }, "vivoMobileCo", "vivo Mobile Communication Co., Ltd." },
{ { 0x78, 0x35, 0xA0 }, "ZurnIndustri", "Zurn Industries LLC" },
@@ -23774,6 +23898,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x78, 0xB5, 0xD2 }, "EverTreasure", "Ever Treasure Industrial Limited" },
{ { 0x78, 0xB6, 0xC1 }, "AOBOTelecom", "AOBO Telecom Co.,Ltd" },
{ { 0x78, 0xB6, 0xEC }, "ScufGamingIn", "Scuf Gaming International LLC" },
+ { { 0x78, 0xB6, 0xFE }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x78, 0xB8, 0x1A }, "InterSales", "Inter Sales A/S" },
{ { 0x78, 0xB8, 0x4B }, "SichuanTiany", "Sichuan Tianyi Comheart Telecom Co.,LTD" },
{ { 0x78, 0xB8, 0xD6 }, "ZebraTechnol", "Zebra Technologies Inc." },
@@ -23849,6 +23974,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x78, 0xE3, 0xB5 }, "HewlettPacka", "Hewlett Packard" },
{ { 0x78, 0xE3, 0xDE }, "Apple", "Apple, Inc." },
{ { 0x78, 0xE4, 0x00 }, "HonHaiPrecis", "Hon Hai Precision Ind. Co.,Ltd." },
+ { { 0x78, 0xE6, 0x1C }, "HonorDevice", "Honor Device Co., Ltd." },
{ { 0x78, 0xE7, 0xD1 }, "HewlettPacka", "Hewlett Packard" },
{ { 0x78, 0xE8, 0xB6 }, "zte", "zte corporation" },
{ { 0x78, 0xE9, 0x80 }, "RainUs", "RainUs Co.,Ltd" },
@@ -23859,6 +23985,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x78, 0xEC, 0x22 }, "QihuiTelecom", "Shanghai Qihui Telecom Technology Co., LTD" },
{ { 0x78, 0xEC, 0x74 }, "KylandUSA", "Kyland-USA" },
{ { 0x78, 0xED, 0xBC }, "OnePlusTechn", "OnePlus Technology (Shenzhen) Co., Ltd" },
+ { { 0x78, 0xEE, 0x4C }, "Espressif", "Espressif Inc." },
{ { 0x78, 0xEF, 0x4C }, "Unetconverge", "Unetconvergence Co., Ltd." },
{ { 0x78, 0xF0, 0x9B }, "HuaweiDevice", "Huawei Device Co., Ltd." },
{ { 0x78, 0xF1, 0xC6 }, "Cisco", "Cisco Systems, Inc" },
@@ -23938,6 +24065,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x7C, 0x1C, 0xF1 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x7C, 0x1D, 0xD9 }, "XiaomiCommun", "Xiaomi Communications Co Ltd" },
{ { 0x7C, 0x1E, 0x06 }, "NewH3CTechno", "New H3C Technologies Co., Ltd" },
+ { { 0x7C, 0x1E, 0x4A }, "FortuneMarke", "Fortune Marketing Private Limited" },
{ { 0x7C, 0x1E, 0x52 }, "Microsoft", "Microsoft" },
{ { 0x7C, 0x1E, 0xB3 }, "2NTELEKOMUNI", "2N TELEKOMUNIKACE a.s." },
{ { 0x7C, 0x20, 0x48 }, "KoamTac", "KoamTac" },
@@ -23961,6 +24089,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x7C, 0x2A, 0xCA }, "Apple", "Apple, Inc." },
{ { 0x7C, 0x2A, 0xDB }, "XiaomiCommun", "Xiaomi Communications Co Ltd" },
{ { 0x7C, 0x2B, 0xE1 }, "FerexElectri", "Shenzhen Ferex Electrical Co.,Ltd" },
+ { { 0x7C, 0x2C, 0x67 }, "Espressif", "Espressif Inc." },
{ { 0x7C, 0x2C, 0xF3 }, "SecureElectr", "Secure Electrans Ltd" },
{ { 0x7C, 0x2E, 0x0D }, "BlackmagicDe", "Blackmagic Design" },
{ { 0x7C, 0x2E, 0xBD }, "Google", "Google, Inc." },
@@ -24010,7 +24139,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x7C, 0x53, 0x4A }, "Metamako", "Metamako" },
{ { 0x7C, 0x55, 0xA7 }, "Kastle", "Kastle Systems" },
{ { 0x7C, 0x55, 0xE7 }, "YSI", "YSI, Inc." },
- { { 0x7C, 0x57, 0x3C }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x7C, 0x57, 0x3C }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x7C, 0x57, 0x4E }, "COBI", "COBI GmbH" },
{ { 0x7C, 0x57, 0x58 }, "HP", "HP Inc." },
{ { 0x7C, 0x5A, 0x1C }, "Sophos", "Sophos Ltd" },
@@ -24054,6 +24183,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x7C, 0x71, 0x76 }, "WuxiiDataTec", "Wuxi iData Technology Company Ltd." },
{ { 0x7C, 0x72, 0x6E }, "Ericsson", "Ericsson AB" },
{ { 0x7C, 0x72, 0xE4 }, "UnikeyTechno", "Unikey Technologies" },
+ { { 0x7C, 0x72, 0xE7 }, "TexasInstrum", "Texas Instruments" },
{ { 0x7C, 0x73, 0x8B }, "CocoonAlarm", "Cocoon Alarm Ltd" },
{ { 0x7C, 0x73, 0x98 }, "Espressif", "Espressif Inc." },
{ { 0x7C, 0x73, 0xEB }, "HuaweiDevice", "Huawei Device Co., Ltd." },
@@ -24115,7 +24245,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x7C, 0xA2, 0x9B }, "DSignT", "D.SignT GmbH & Co. KG" },
{ { 0x7C, 0xA4, 0x49 }, "XiaomiCommun", "Xiaomi Communications Co Ltd" },
{ { 0x7C, 0xA6, 0x1D }, "Mhl", "Mhl, Llc" },
- { { 0x7C, 0xA6, 0x2A }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x7C, 0xA6, 0x2A }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x7C, 0xA7, 0xB0 }, "BilianElectr", "Shenzhen Bilian Electronic Co.,Ltd" },
{ { 0x7C, 0xA9, 0x6B }, "SyrotechNetw", "Syrotech Networks. Ltd." },
{ { 0x7C, 0xA9, 0x7D }, "Objenious", "Objenious" },
@@ -24144,6 +24274,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x7C, 0xB9, 0x4C }, "BouffaloLab", "Bouffalo Lab (Nanjing) Co., Ltd." },
{ { 0x7C, 0xB9, 0x60 }, "XChengteleco", "Shanghai X-Cheng telecom LTD" },
{ { 0x7C, 0xBA, 0xC0 }, "EVBox", "EVBox BV" },
+ { { 0x7C, 0xBA, 0xC6 }, "SolarManager", "Solar Manager AG" },
{ { 0x7C, 0xBB, 0x6F }, "CoscoElectro", "Cosco Electronics Co., Ltd." },
{ { 0x7C, 0xBB, 0x8A }, "Nintendo", "Nintendo Co., Ltd." },
{ { 0x7C, 0xBD, 0x06 }, "AEREFUsol", "AE REFUsol" },
@@ -24211,6 +24342,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x7C, 0xE2, 0xCA }, "JuniperNetwo", "Juniper Networks" },
{ { 0x7C, 0xE5, 0x24 }, "Quirky", "Quirky, Inc." },
{ { 0x7C, 0xE5, 0x6B }, "ESENOptoelec", "ESEN Optoelectronics Technology Co.,Ltd." },
+ { { 0x7C, 0xE7, 0x12 }, "QuectelWirel", "Quectel Wireless Solutions Co.,Ltd." },
{ { 0x7C, 0xE8, 0x7F }, "SagemcomBroa", "Sagemcom Broadband SAS" },
{ { 0x7C, 0xE9, 0x7C }, "ItelMobile", "Itel Mobile Limited" },
{ { 0x7C, 0xE9, 0xD3 }, "HonHaiPrecis", "Hon Hai Precision Ind. Co.,Ltd." },
@@ -24261,6 +24393,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x80, 0x02, 0xDF }, "ORA", "ORA Inc." },
{ { 0x80, 0x03, 0x84 }, "RuckusWirele", "Ruckus Wireless" },
{ { 0x80, 0x04, 0x5F }, "Apple", "Apple, Inc." },
+ { { 0x80, 0x05, 0x18 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x80, 0x05, 0x3A }, "CHeKT", "CHeKT Inc." },
{ { 0x80, 0x05, 0x88 }, "RuijieNetwor", "Ruijie Networks Co.,LTD" },
{ { 0x80, 0x05, 0xDF }, "MontageTechn", "Montage Technology Group Limited" },
@@ -24315,7 +24448,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x80, 0x2F, 0xDE }, "ZurichInstru", "Zurich Instruments AG" },
{ { 0x80, 0x30, 0x49 }, "LiteonTechno", "Liteon Technology Corporation" },
{ { 0x80, 0x30, 0xDC }, "TexasInstrum", "Texas Instruments" },
- { { 0x80, 0x30, 0xE0 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x80, 0x30, 0xE0 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x80, 0x31, 0xF0 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x80, 0x32, 0x53 }, "Intel", "Intel Corporate" },
{ { 0x80, 0x34, 0x28 }, "MicrochipTec", "Microchip Technology Inc." },
@@ -24448,7 +24581,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x80, 0x8A, 0xF7 }, "Nanoleaf", "Nanoleaf" },
{ { 0x80, 0x8B, 0x5C }, "RunhuichengT", "Shenzhen Runhuicheng Technology Co., Ltd" },
{ { 0x80, 0x8C, 0x97 }, "KaonGroup", "Kaon Group Co., Ltd." },
- { { 0x80, 0x8D, 0xB7 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x80, 0x8D, 0xB7 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x80, 0x8F, 0x1D }, "TpLinkTechno", "Tp-Link Technologies Co.,Ltd." },
{ { 0x80, 0x8F, 0xE8 }, "Intelbras", "Intelbras" },
{ { 0x80, 0x91, 0x2A }, "LihRongelect", "Lih Rong electronic Enterprise Co., Ltd." },
@@ -24661,7 +24794,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x84, 0x30, 0x95 }, "HonHaiPrecis", "Hon Hai Precision IND.CO.,LTD" },
{ { 0x84, 0x30, 0xCE }, "JaguarMicros", "Shenzhen Jaguar Microsystems Co., Ltd" },
{ { 0x84, 0x30, 0xE5 }, "SkyHawkeTech", "SkyHawke Technologies, LLC" },
- { { 0x84, 0x31, 0xA8 }, "FunshionOnli", "Wuhan Funshion Online Technologies Co.,Ltd" },
+ { { 0x84, 0x31, 0xA8 }, "FunshionOnli", "Funshion Online Technologies Co.,Ltd" },
{ { 0x84, 0x32, 0x6F }, "GuangzhouAva", "Guangzhou Ava Electronics Technology Co.,Ltd" },
{ { 0x84, 0x32, 0xEA }, "AnhuiWanzten", "Anhui Wanzten P&T Co., Ltd" },
{ { 0x84, 0x33, 0xF2 }, "StellamoreTe", "Shenzhen Stellamore Technology Co.,Ltd" },
@@ -24718,6 +24851,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x84, 0x62, 0xA6 }, "EuroCB", "EuroCB (Phils), Inc." },
{ { 0x84, 0x63, 0xD6 }, "Microsoft", "Microsoft Corporation" },
{ { 0x84, 0x64, 0xDD }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
+ { { 0x84, 0x65, 0x2B }, "Donaldson", "Donaldson Company" },
{ { 0x84, 0x65, 0x69 }, "NewH3CTechno", "New H3C Technologies Co., Ltd" },
{ { 0x84, 0x68, 0x3E }, "Intel", "Intel Corporate" },
{ { 0x84, 0x68, 0x78 }, "Apple", "Apple, Inc." },
@@ -24741,6 +24875,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x84, 0x76, 0x16 }, "Addatsro", "Addat s.r.o." },
{ { 0x84, 0x76, 0x37 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x84, 0x77, 0x78 }, "Cochlear", "Cochlear Limited" },
+ { { 0x84, 0x78, 0x48 }, "Ubiquiti", "Ubiquiti Inc" },
{ { 0x84, 0x78, 0x8B }, "Apple", "Apple, Inc." },
{ { 0x84, 0x78, 0xAC }, "Cisco", "Cisco Systems, Inc" },
{ { 0x84, 0x79, 0x33 }, "profichip", "profichip GmbH" },
@@ -24800,6 +24935,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x84, 0x9D, 0x64 }, "SMC", "SMC Corporation" },
{ { 0x84, 0x9D, 0xC2 }, "MXCHIPInform", "Shanghai MXCHIP Information Technology Co., Ltd." },
{ { 0x84, 0x9D, 0xC5 }, "CenteraPhoto", "Centera Photonics Inc." },
+ { { 0x84, 0x9E, 0x56 }, "CloudNetwork", "Cloud Network Technology Singapore Pte. Ltd." },
{ { 0x84, 0x9F, 0xB5 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x84, 0xA0, 0x6E }, "SagemcomBroa", "Sagemcom Broadband SAS" },
{ { 0x84, 0xA1, 0x34 }, "Apple", "Apple, Inc." },
@@ -24876,7 +25012,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x84, 0xD3, 0x52 }, "TonlyTechnol", "Tonly Technology Co. Ltd" },
{ { 0x84, 0xD3, 0xD5 }, "HuaweiDevice", "Huawei Device Co., Ltd." },
{ { 0x84, 0xD4, 0x12 }, "PaloAltoNetw", "Palo Alto Networks" },
- { { 0x84, 0xD4, 0x7E }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x84, 0xD4, 0x7E }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x84, 0xD4, 0xC8 }, "Widex", "Widex A/S" },
{ { 0x84, 0xD5, 0xA0 }, "Mcot", "Mcot Inc." },
{ { 0x84, 0xD6, 0x08 }, "WingtechMobi", "Wingtech Mobile Communications Co., Ltd." },
@@ -24922,6 +25058,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x84, 0xF1, 0x47 }, "Cisco", "Cisco Systems, Inc" },
{ { 0x84, 0xF1, 0x75 }, "JiangxiXunte", "Jiangxi Xunte Intelligent Terminal Co., Ltd" },
{ { 0x84, 0xF1, 0xD0 }, "EhoomeIotPri", "Ehoome Iot Private Limited" },
+ { { 0x84, 0xF2, 0xC1 }, "zte", "zte corporation" },
{ { 0x84, 0xF3, 0xEB }, "Espressif", "Espressif Inc." },
{ { 0x84, 0xF4, 0x4C }, "Internationa", "International Integrated Systems., Inc." },
{ { 0x84, 0xF4, 0x93 }, "OMSspolsro", "OMS spol. s.r.o." },
@@ -24985,7 +25122,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x88, 0x23, 0x8C }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" },
{ { 0x88, 0x23, 0xFE }, "TTTechComput", "TTTech Computertechnik AG" },
{ { 0x88, 0x25, 0x08 }, "MetaPlatform", "Meta Platforms Technologies, LLC" },
- { { 0x88, 0x25, 0x10 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x88, 0x25, 0x10 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x88, 0x25, 0x2C }, "ArcadyanTech", "Arcadyan Technology Corporation" },
{ { 0x88, 0x25, 0x93 }, "TpLinkTechno", "Tp-Link Technologies Co.,Ltd." },
{ { 0x88, 0x28, 0x7D }, "AltoBeam", "AltoBeam (China) Inc." },
@@ -25012,7 +25149,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x88, 0x36, 0x5F }, "LGElectronic", "LG Electronics (Mobile Communications)" },
{ { 0x88, 0x36, 0x6C }, "EFMNetworks", "EFM Networks" },
{ { 0x88, 0x36, 0xCF }, "HuaweiDevice", "Huawei Device Co., Ltd." },
- { { 0x88, 0x3A, 0x30 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x88, 0x3A, 0x30 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x88, 0x3B, 0x8B }, "CheeringConn", "Cheering Connection Co. Ltd." },
{ { 0x88, 0x3C, 0x1C }, "Mercury", "Mercury Corporation" },
{ { 0x88, 0x3C, 0x93 }, "AlcatelLucen", "Alcatel-Lucent Enterprise" },
@@ -25124,6 +25261,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x88, 0x89, 0x64 }, "GSIElectroni", "GSI Electronics Inc." },
{ { 0x88, 0x8B, 0x5D }, "StorageAppli", "Storage Appliance Corporation" },
{ { 0x88, 0x8C, 0x19 }, "BradyAsiaPac", "Brady Corp Asia Pacific Ltd" },
+ { { 0x88, 0x8C, 0x1B }, "EMMicroelect", "EM Microelectronic" },
{ { 0x88, 0x8E, 0x68 }, "HuaweiDevice", "Huawei Device Co., Ltd." },
{ { 0x88, 0x8E, 0x7F }, "Atop", "Atop Corporation" },
{ { 0x88, 0x8F, 0x10 }, "MaxInfiniteT", "Shenzhen Max Infinite Technology Co.,Ltd." },
@@ -25261,7 +25399,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x88, 0xE8, 0xF8 }, "YongTaiElect", "Yong Tai Electronic (Dongguan) Ltd." },
{ { 0x88, 0xE9, 0x0F }, "innomdlelab", "innomdlelab" },
{ { 0x88, 0xE9, 0x17 }, "Tamaggo", "Tamaggo" },
- { { 0x88, 0xE9, 0xA4 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x88, 0xE9, 0xA4 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x88, 0xE9, 0xFE }, "Apple", "Apple, Inc." },
{ { 0x88, 0xED, 0x1C }, "CudoCommunic", "Cudo Communication Co., Ltd." },
{ { 0x88, 0xEF, 0x16 }, "ARRISGroup", "ARRIS Group, Inc." },
@@ -25307,6 +25445,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x8C, 0x07, 0x8C }, "FlowData", "Flow Data Inc" },
{ { 0x8C, 0x08, 0x79 }, "TexasInstrum", "Texas Instruments" },
{ { 0x8C, 0x08, 0x8B }, "RemoteSoluti", "Remote Solution" },
+ { { 0x8C, 0x08, 0xAA }, "Apple", "Apple, Inc." },
{ { 0x8C, 0x09, 0xF4 }, "ARRISGroup", "ARRIS Group, Inc." },
{ { 0x8C, 0x0C, 0x87 }, "Nokia", "Nokia" },
{ { 0x8C, 0x0C, 0x90 }, "RuckusWirele", "Ruckus Wireless" },
@@ -25321,6 +25460,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x8C, 0x0F, 0xFA }, "Hutec", "Hutec co.,ltd" },
{ { 0x8C, 0x10, 0xD4 }, "SagemcomBroa", "Sagemcom Broadband SAS" },
{ { 0x8C, 0x11, 0xCB }, "ABUSSecurity", "ABUS Security-Center GmbH & Co. KG" },
+ { { 0x8C, 0x12, 0xC2 }, "GLBBJapan", "GLBB Japan" },
{ { 0x8C, 0x14, 0xB4 }, "zte", "zte corporation" },
{ { 0x8C, 0x15, 0x53 }, "MemblazeTech", "Beijing Memblaze Technology Co Ltd" },
{ { 0x8C, 0x15, 0xC7 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
@@ -25451,7 +25591,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x8C, 0x77, 0x12 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x8C, 0x77, 0x16 }, "LongcheerTel", "Longcheer Telecommunication Limited" },
{ { 0x8C, 0x78, 0xD7 }, "FastTechnolo", "Shenzhen Fast Technologies Co.,Ltd" },
- { { 0x8C, 0x79, 0x09 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x8C, 0x79, 0x09 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x8C, 0x79, 0x67 }, "zte", "zte corporation" },
{ { 0x8C, 0x79, 0xF5 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x8C, 0x7A, 0x00 }, "Nokia", "Nokia" },
@@ -25478,7 +25618,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x8C, 0x84, 0x74 }, "Broadcom", "Broadcom Limited" },
{ { 0x8C, 0x85, 0x80 }, "SmartInnovat", "Smart Innovation LLC" },
{ { 0x8C, 0x85, 0x90 }, "Apple", "Apple, Inc." },
- { { 0x8C, 0x85, 0xC1 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x8C, 0x85, 0xC1 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x8C, 0x85, 0xE6 }, "Cleondris", "Cleondris GmbH" },
{ { 0x8C, 0x86, 0x1E }, "Apple", "Apple, Inc." },
{ { 0x8C, 0x86, 0x2A }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
@@ -25545,6 +25685,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x8C, 0xC1, 0x21 }, "PanasonicAVC", "Panasonic Corporation AVC Networks Company" },
{ { 0x8C, 0xC5, 0x8C }, "ElskyTechnol", "ShenZhen Elsky Technology Co.,LTD" },
{ { 0x8C, 0xC5, 0xB4 }, "SagemcomBroa", "Sagemcom Broadband SAS" },
+ { { 0x8C, 0xC5, 0xD0 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x8C, 0xC5, 0xE1 }, "KonkaTelecom", "ShenZhen Konka Telecommunication Technology Co.,Ltd" },
{ { 0x8C, 0xC6, 0x61 }, "Currentpower", "Current, powered by GE" },
{ { 0x8C, 0xC6, 0x81 }, "Intel", "Intel Corporate" },
@@ -25664,6 +25805,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x90, 0x12, 0x34 }, "YOUHUATechno", "Shenzhen YOUHUA Technology Co., Ltd" },
{ { 0x90, 0x12, 0xA1 }, "We", "We Corporation Inc." },
{ { 0x90, 0x13, 0xDA }, "Athom", "Athom B.V." },
+ { { 0x90, 0x15, 0x06 }, "Espressif", "Espressif Inc." },
{ { 0x90, 0x16, 0xBA }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x90, 0x17, 0x11 }, "HagenukMarin", "Hagenuk Marinekommunikation GmbH" },
{ { 0x90, 0x17, 0x3F }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
@@ -25681,7 +25823,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x90, 0x1E, 0xDD }, "GreatCompute", "Great Computer Corporation" },
{ { 0x90, 0x20, 0x3A }, "BYDPrecision", "BYD Precision Manufacture Co.,Ltd" },
{ { 0x90, 0x20, 0x83 }, "GeneralEngin", "General Engine Management Systems Ltd." },
- { { 0x90, 0x20, 0xC2 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x90, 0x20, 0xC2 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x90, 0x21, 0x06 }, "SkyUk", "Sky Uk Limited" },
{ { 0x90, 0x21, 0x2E }, "ApptionLabs", "Apption Labs Ltd" },
{ { 0x90, 0x21, 0x55 }, "HTC", "HTC Corporation" },
@@ -25742,7 +25884,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x90, 0x48, 0x9A }, "HonHaiPrecis", "Hon Hai Precision Ind. Co.,Ltd." },
{ { 0x90, 0x49, 0x92 }, "YSTenTechnol", "YSTen Technology Co.,Ltd" },
{ { 0x90, 0x49, 0xFA }, "Intel", "Intel Corporate" },
- { { 0x90, 0x4C, 0x81 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x90, 0x4C, 0x81 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x90, 0x4C, 0xE5 }, "HonHaiPrecis", "Hon Hai Precision Ind. Co.,Ltd." },
{ { 0x90, 0x4D, 0x4A }, "SagemcomBroa", "Sagemcom Broadband SAS" },
{ { 0x90, 0x4D, 0xC3 }, "Flonidan", "Flonidan A/S" },
@@ -25753,6 +25895,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x90, 0x51, 0x3F }, "ElettronicaS", "Elettronica Santerno SpA" },
{ { 0x90, 0x52, 0xBF }, "SichuanTiany", "Sichuan Tianyi Comheart Telecom Co.,LTD" },
{ { 0x90, 0x54, 0x46 }, "TesElectroni", "Tes Electronic Solutions" },
+ { { 0x90, 0x54, 0xB7 }, "EltexEnterpr", "Eltex Enterprise LTD" },
{ { 0x90, 0x55, 0xAE }, "EricssonEABR", "Ericsson, EAB/RWI/K" },
{ { 0x90, 0x55, 0xDE }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" },
{ { 0x90, 0x56, 0x07 }, "SichuanAILin", "Sichuan AI-Link Technology Co., Ltd." },
@@ -25768,6 +25911,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x90, 0x5D, 0x7C }, "NewH3CTechno", "New H3C Technologies Co., Ltd" },
{ { 0x90, 0x5E, 0x44 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x90, 0x5F, 0x2E }, "TCTmobile", "TCT mobile ltd" },
+ { { 0x90, 0x5F, 0x7A }, "Apple", "Apple, Inc." },
{ { 0x90, 0x5F, 0x8D }, "modas", "modas GmbH" },
{ { 0x90, 0x60, 0xF1 }, "Apple", "Apple, Inc." },
{ { 0x90, 0x61, 0x0C }, "FidaInternat", "Fida International (S) Pte Ltd" },
@@ -25866,6 +26010,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x90, 0x9D, 0x7D }, "ARRISGroup", "ARRIS Group, Inc." },
{ { 0x90, 0x9D, 0xE0 }, "NewlandDesig", "Newland Design + Assoc. Inc." },
{ { 0x90, 0x9E, 0x24 }, "ekeybiometri", "ekey biometric systems gmbh" },
+ { { 0x90, 0x9F, 0x22 }, "ZyxelCommuni", "Zyxel Communications Corporation" },
{ { 0x90, 0x9F, 0x33 }, "EFMNetworks", "EFM Networks" },
{ { 0x90, 0x9F, 0x43 }, "AccutronInst", "Accutron Instruments Inc." },
{ { 0x90, 0xA0, 0xBE }, "Cannice", "Cannice" },
@@ -25905,6 +26050,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x90, 0xB6, 0x7A }, "SkyworthDigi", "Shenzhen Skyworth Digital Technology CO., Ltd" },
{ { 0x90, 0xB6, 0x85 }, "WeifangGoert", "Weifang Goertek Electronics Co.,Ltd" },
{ { 0x90, 0xB6, 0x86 }, "MurataManufa", "Murata Manufacturing Co., Ltd." },
+ { { 0x90, 0xB7, 0x90 }, "Apple", "Apple, Inc." },
{ { 0x90, 0xB8, 0x32 }, "ExtremeNetwo", "Extreme Networks Headquarters" },
{ { 0x90, 0xB8, 0xD0 }, "Joyent", "Joyent, Inc." },
{ { 0x90, 0xB8, 0xE0 }, "YanrayTechno", "Shenzhen Yanray Technology Co.,Ltd" },
@@ -25921,6 +26067,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x90, 0xC7, 0xD8 }, "zte", "zte corporation" },
{ { 0x90, 0xC9, 0x9B }, "TesorionNede", "Tesorion Nederland B.V." },
{ { 0x90, 0xCA, 0xFA }, "Google", "Google, Inc." },
+ { { 0x90, 0xCB, 0xA3 }, "TecnoMobile", "Tecno Mobile Limited" },
{ { 0x90, 0xCC, 0x24 }, "Synaptics", "Synaptics, Inc" },
{ { 0x90, 0xCC, 0x7A }, "HuaweiDevice", "Huawei Device Co., Ltd." },
{ { 0x90, 0xCC, 0xDF }, "Intel", "Intel Corporate" },
@@ -25932,6 +26079,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x90, 0xCF, 0x7D }, "QingdaoHisen", "Qingdao Hisense Communications Co.,Ltd." },
{ { 0x90, 0xD0, 0x92 }, "HUMAX", "HUMAX Co., Ltd." },
{ { 0x90, 0xD1, 0x1B }, "PalomarMedic", "Palomar Medical Technologies" },
+ { { 0x90, 0xD3, 0xCF }, "AskeyCompute", "Askey Computer Corp" },
{ { 0x90, 0xD4, 0x32 }, "zte", "zte corporation" },
{ { 0x90, 0xD4, 0x73 }, "vivoMobileCo", "vivo Mobile Communication Co., Ltd." },
{ { 0x90, 0xD6, 0x89 }, "HuahaoFangzh", "Huahao Fangzhou Technology Co.,Ltd" },
@@ -25990,6 +26138,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x90, 0xF9, 0x70 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x90, 0xF9, 0xB7 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x90, 0xFB, 0x5B }, "Avaya", "Avaya Inc" },
+ { { 0x90, 0xFB, 0x5D }, "XiaomiMobile", "Beijing Xiaomi Mobile Software Co., Ltd" },
{ { 0x90, 0xFB, 0xA6 }, "HonHaiPrecis", "Hon Hai Precision Ind. Co.,Ltd." },
{ { 0x90, 0xFD, 0x61 }, "Apple", "Apple, Inc." },
{ { 0x90, 0xFD, 0x73 }, "zte", "zte corporation" },
@@ -26022,6 +26171,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x94, 0x0C, 0x6D }, "TpLinkTechno", "Tp-Link Technologies Co.,Ltd." },
{ { 0x94, 0x0C, 0x98 }, "Apple", "Apple, Inc." },
{ { 0x94, 0x0D, 0x2D }, "UniversalEle", "Universal Electronics, Inc." },
+ { { 0x94, 0x0D, 0x4B }, "Cisco", "Cisco Systems, Inc" },
{ { 0x94, 0x0E, 0x6B }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x94, 0x0E, 0xE7 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x94, 0x10, 0x3E }, "BelkinIntern", "Belkin International Inc." },
@@ -26033,7 +26183,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x94, 0x16, 0x73 }, "PointCore", "Point Core SARL" },
{ { 0x94, 0x17, 0x00 }, "XiaomiCommun", "Xiaomi Communications Co Ltd" },
{ { 0x94, 0x18, 0x65 }, "Netgear", "Netgear" },
- { { 0x94, 0x18, 0x82 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x94, 0x18, 0x82 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x94, 0x19, 0x3A }, "Elvaco", "Elvaco AB" },
{ { 0x94, 0x1C, 0x56 }, "ActiontecEle", "Actiontec Electronics, Inc" },
{ { 0x94, 0x1D, 0x1C }, "TLabWest", "TLab West Systems AB" },
@@ -26083,10 +26233,10 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x94, 0x3E, 0xE4 }, "WiSATechnolo", "WiSA Technologies Inc" },
{ { 0x94, 0x3F, 0x0C }, "Genexis", "Genexis B.V." },
{ { 0x94, 0x3F, 0xBB }, "JSCRPCIstokn", "JSC RPC Istok named after Shokin" },
- { { 0x94, 0x3F, 0xC2 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x94, 0x3F, 0xC2 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x94, 0x3F, 0xD6 }, "Apple", "Apple, Inc." },
{ { 0x94, 0x40, 0xA2 }, "AnywaveCommu", "Anywave Communication Technologies, Inc." },
- { { 0x94, 0x40, 0xC9 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x94, 0x40, 0xC9 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x94, 0x40, 0xF3 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x94, 0x41, 0xC1 }, "MiniCam", "Mini-Cam Limited" },
{ { 0x94, 0x43, 0x4D }, "Ciena", "Ciena Corporation" },
@@ -26102,6 +26252,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x94, 0x4B, 0xF8 }, "Tozo", "Tozo Inc" },
{ { 0x94, 0x4E, 0x5B }, "UbeeInteract", "Ubee Interactive Co., Limited" },
{ { 0x94, 0x4F, 0x4C }, "SoundUnited", "Sound United LLC" },
+ { { 0x94, 0x50, 0x44 }, "TexasInstrum", "Texas Instruments" },
{ { 0x94, 0x50, 0x47 }, "Rechnerbetri", "Rechnerbetriebsgruppe" },
{ { 0x94, 0x50, 0x89 }, "SimonsVossTe", "SimonsVoss Technologies GmbH" },
{ { 0x94, 0x51, 0x03 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
@@ -26122,13 +26273,13 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x94, 0x5C, 0x9A }, "Apple", "Apple, Inc." },
{ { 0x94, 0x5F, 0x34 }, "RenesasElect", "Renesas Electronics (Penang) Sdn. Bhd." },
{ { 0x94, 0x60, 0x10 }, "HuaweiDevice", "Huawei Device Co., Ltd." },
- { { 0x94, 0x60, 0xD5 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x94, 0x60, 0xD5 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x94, 0x61, 0x1E }, "WataElectron", "Wata Electronics Co.,Ltd." },
{ { 0x94, 0x61, 0x24 }, "Pason", "Pason Systems" },
{ { 0x94, 0x62, 0x69 }, "ARRISGroup", "ARRIS Group, Inc." },
{ { 0x94, 0x63, 0x72 }, "vivoMobileCo", "vivo Mobile Communication Co., Ltd." },
{ { 0x94, 0x63, 0xD1 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
- { { 0x94, 0x64, 0x24 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x94, 0x64, 0x24 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x94, 0x65, 0x2D }, "OnePlusTechn", "OnePlus Technology (Shenzhen) Co., Ltd" },
{ { 0x94, 0x65, 0x9C }, "Intel", "Intel Corporate" },
{ { 0x94, 0x66, 0xE7 }, "WOMEngineeri", "WOM Engineering" },
@@ -26205,6 +26356,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x94, 0xA4, 0xB5 }, "MitsubishiEl", "Mitsubishi Electric Corporation" },
{ { 0x94, 0xA4, 0xF9 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x94, 0xA6, 0x7E }, "Netgear", "Netgear" },
+ { { 0x94, 0xA6, 0xD8 }, "NewH3CTechno", "New H3C Technologies Co., Ltd" },
{ { 0x94, 0xA7, 0xB7 }, "zte", "zte corporation" },
{ { 0x94, 0xA7, 0xBC }, "BodyMedia", "BodyMedia, Inc." },
{ { 0x94, 0xA9, 0xA8 }, "TexasInstrum", "Texas Instruments" },
@@ -26224,8 +26376,9 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x94, 0xB2, 0x71 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x94, 0xB2, 0xCC }, "Pioneer", "Pioneer Corporation" },
{ { 0x94, 0xB3, 0x4F }, "RuckusWirele", "Ruckus Wireless" },
- { { 0x94, 0xB4, 0x0F }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x94, 0xB4, 0x0F }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x94, 0xB5, 0x55 }, "Espressif", "Espressif Inc." },
+ { { 0x94, 0xB6, 0x09 }, "Intel", "Intel Corporate" },
{ { 0x94, 0xB8, 0x19 }, "Nokia", "Nokia" },
{ { 0x94, 0xB8, 0x6D }, "Intel", "Intel Corporate" },
{ { 0x94, 0xB8, 0xC5 }, "RuggedCom", "RuggedCom Inc." },
@@ -26258,6 +26411,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x94, 0xC9, 0x60 }, "ZhongshanB&T", "Zhongshan B&T technology.co.,ltd" },
{ { 0x94, 0xC9, 0x62 }, "Teseq", "Teseq AG" },
{ { 0x94, 0xCA, 0x0F }, "HoneywellAna", "Honeywell Analytics" },
+ { { 0x94, 0xCA, 0x9A }, "PaulVahle", "Paul Vahle GmbH & Co. KG" },
{ { 0x94, 0xCB, 0xCD }, "zte", "zte corporation" },
{ { 0x94, 0xCC, 0xB9 }, "ARRISGroup", "ARRIS Group, Inc." },
{ { 0x94, 0xCD, 0xAC }, "Creowave", "Creowave Oy" },
@@ -26325,7 +26479,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x94, 0xEB, 0xCD }, "BlackBerryRT", "BlackBerry RTS" },
{ { 0x94, 0xEE, 0x9F }, "HMDGlobal", "HMD Global Oy" },
{ { 0x94, 0xEF, 0x49 }, "BDRThermeaGr", "BDR Thermea Group B.V" },
- { { 0x94, 0xF1, 0x28 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x94, 0xF1, 0x28 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x94, 0xF1, 0x9E }, "HuizhouMaoro", "Huizhou Maorong Intelligent Technology Co.,Ltd" },
{ { 0x94, 0xF2, 0x78 }, "ElmaElectron", "Elma Electronic" },
{ { 0x94, 0xF2, 0xBB }, "ValeoVision", "Valeo Vision Systems" },
@@ -26366,6 +26520,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x98, 0x06, 0x3C }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0x98, 0x07, 0x09 }, "HuaweiDevice", "Huawei Device Co., Ltd." },
{ { 0x98, 0x07, 0x2D }, "TexasInstrum", "Texas Instruments" },
+ { { 0x98, 0x08, 0x02 }, "Orbis", "Orbis Bv" },
{ { 0x98, 0x09, 0xCF }, "OnePlusTechn", "OnePlus Technology (Shenzhen) Co., Ltd" },
{ { 0x98, 0x0C, 0x33 }, "SiliconLabor", "Silicon Laboratories" },
{ { 0x98, 0x0C, 0x82 }, "SamsungElect", "Samsung Electro Mechanics Co., Ltd." },
@@ -26382,6 +26537,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x98, 0x12, 0x23 }, "TarmocNetwor", "Tarmoc Network LTD" },
{ { 0x98, 0x13, 0x33 }, "zte", "zte corporation" },
{ { 0x98, 0x14, 0xD2 }, "Avonic", "Avonic" },
+ { { 0x98, 0x16, 0xCD }, "leapio", "leapio" },
{ { 0x98, 0x16, 0xEC }, "ICIntracom", "IC Intracom" },
{ { 0x98, 0x17, 0xF1 }, "zte", "zte corporation" },
{ { 0x98, 0x18, 0x88 }, "CiscoMeraki", "Cisco Meraki" },
@@ -26432,7 +26588,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x98, 0x3B, 0x67 }, "DWnetTechnol", "DWnet Technologies(Suzhou) Corporation" },
{ { 0x98, 0x3B, 0x8F }, "Intel", "Intel Corporate" },
{ { 0x98, 0x3F, 0x60 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
- { { 0x98, 0x3F, 0x66 }, "FunshionOnli", "Wuhan Funshion Online Technologies Co.,Ltd" },
+ { { 0x98, 0x3F, 0x66 }, "FunshionOnli", "Funshion Online Technologies Co.,Ltd" },
{ { 0x98, 0x3F, 0x9F }, "ChinaSSJNetw", "China SSJ (Suzhou) Network Technology Inc." },
{ { 0x98, 0x40, 0xBB }, "Dell", "Dell Inc." },
{ { 0x98, 0x41, 0x5C }, "Nintendo", "Nintendo Co.,Ltd" },
@@ -26520,6 +26676,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x98, 0x86, 0x8B }, "JuniperNetwo", "Juniper Networks" },
{ { 0x98, 0x86, 0xB1 }, "Flyaudio", "Flyaudio corporation (China)" },
{ { 0x98, 0x87, 0x44 }, "WuxiHongdaSc", "Wuxi Hongda Science and Technology Co.,LTD" },
+ { { 0x98, 0x87, 0x4C }, "ServercomPri", "Servercom (India) Private Limited" },
{ { 0x98, 0x87, 0x6C }, "HuaweiDevice", "Huawei Device Co., Ltd." },
{ { 0x98, 0x89, 0x24 }, "TexasInstrum", "Texas Instruments" },
{ { 0x98, 0x89, 0xED }, "AnademInform", "Anadem Information Inc." },
@@ -26534,7 +26691,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x98, 0x8E, 0x79 }, "Qudelix", "Qudelix, Inc." },
{ { 0x98, 0x8E, 0xD4 }, "ItelMobile", "Itel Mobile Limited" },
{ { 0x98, 0x8E, 0xDD }, "TEConnectivi", "TE Connectivity Limerick" },
- { { 0x98, 0x8F, 0x00 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x98, 0x8F, 0x00 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x98, 0x90, 0x80 }, "LinkpowerNet", "Linkpower Network System Inc Ltd." },
{ { 0x98, 0x90, 0x96 }, "Dell", "Dell Inc." },
{ { 0x98, 0x93, 0xCC }, "LgElectronic", "Lg Electronics Inc" },
@@ -26571,6 +26728,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x98, 0xB3, 0x79 }, "Apple", "Apple, Inc." },
{ { 0x98, 0xB3, 0xEF }, "HuaweiDevice", "Huawei Device Co., Ltd." },
{ { 0x98, 0xB6, 0xE9 }, "Nintendo", "Nintendo Co.,Ltd" },
+ { { 0x98, 0xB7, 0x1E }, "Infinixmobil", "Infinix mobility limited" },
{ { 0x98, 0xB7, 0x85 }, "10GtekTransc", "Shenzhen 10Gtek Transceivers Co., Limited" },
{ { 0x98, 0xB8, 0xBA }, "LGElectronic", "LG Electronics (Mobile Communications)" },
{ { 0x98, 0xB8, 0xBC }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
@@ -26651,7 +26809,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x98, 0xF1, 0x81 }, "NewH3CTechno", "New H3C Technologies Co., Ltd" },
{ { 0x98, 0xF1, 0x99 }, "NECPlatforms", "NEC Platforms, Ltd." },
{ { 0x98, 0xF2, 0x17 }, "CastlenetTec", "Castlenet Technology Inc." },
- { { 0x98, 0xF2, 0xB3 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x98, 0xF2, 0xB3 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x98, 0xF4, 0x28 }, "zte", "zte corporation" },
{ { 0x98, 0xF4, 0x87 }, "TexasInstrum", "Texas Instruments" },
{ { 0x98, 0xF4, 0xAB }, "Espressif", "Espressif Inc." },
@@ -26700,13 +26858,15 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x9C, 0x0C, 0xDF }, "OppoMobileTe", "Guangdong Oppo Mobile Telecommunications Corp.,Ltd" },
{ { 0x9C, 0x0D, 0xAC }, "TymphanyHK", "Tymphany HK Limited" },
{ { 0x9C, 0x0E, 0x4A }, "VastkingElec", "Shenzhen Vastking Electronic Co.,Ltd." },
+ { { 0x9C, 0x0E, 0x51 }, "SchneiderEle", "Schneider Electric" },
+ { { 0x9C, 0x12, 0x21 }, "SichuanAILin", "Sichuan AI-Link Technology Co., Ltd." },
{ { 0x9C, 0x13, 0xAB }, "ChansonWater", "Chanson Water Co., Ltd." },
{ { 0x9C, 0x14, 0x63 }, "ZhejiangDahu", "Zhejiang Dahua Technology Co., Ltd." },
{ { 0x9C, 0x14, 0x65 }, "EdataElektro", "Edata Elektronik San. ve Tic. A.Ş." },
{ { 0x9C, 0x18, 0x74 }, "NokiaDanmark", "Nokia Danmark A/S" },
{ { 0x9C, 0x19, 0xC2 }, "DongguanLies", "Dongguan Liesheng Electronic Co., Ltd." },
{ { 0x9C, 0x1A, 0x25 }, "Apple", "Apple, Inc." },
- { { 0x9C, 0x1C, 0x12 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x9C, 0x1C, 0x12 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x9C, 0x1C, 0x37 }, "AltoBeam", "AltoBeam (China) Inc." },
{ { 0x9C, 0x1C, 0x6D }, "HefeiDatangS", "Hefei Datang Storage Technology Co.,Ltd" },
{ { 0x9C, 0x1D, 0x36 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
@@ -26753,7 +26913,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x9C, 0x35, 0x83 }, "NiproDiagnos", "Nipro Diagnostics, Inc" },
{ { 0x9C, 0x35, 0xEB }, "Apple", "Apple, Inc." },
{ { 0x9C, 0x36, 0xF8 }, "HyundaiKefic", "Hyundai Kefico" },
- { { 0x9C, 0x37, 0x08 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0x9C, 0x37, 0x08 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x9C, 0x37, 0xCB }, "SonyInteract", "Sony Interactive Entertainment Inc." },
{ { 0x9C, 0x37, 0xF4 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0x9C, 0x38, 0x18 }, "Cisco", "Cisco Systems, Inc" },
@@ -26875,7 +27035,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x9C, 0x8B, 0xA0 }, "Apple", "Apple, Inc." },
{ { 0x9C, 0x8B, 0xF1 }, "Warehouse", "The Warehouse Limited" },
{ { 0x9C, 0x8C, 0x6E }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
- { { 0x9C, 0x8C, 0xD8 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x9C, 0x8C, 0xD8 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x9C, 0x8D, 0x1A }, "INTEGprocess", "INTEG process group inc" },
{ { 0x9C, 0x8D, 0x7C }, "Alpsalpine", "Alpsalpine Co,.Ltd" },
{ { 0x9C, 0x8D, 0xD3 }, "LeontonTechn", "Leonton Technologies" },
@@ -26920,6 +27080,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x9C, 0xA5, 0xC0 }, "vivoMobileCo", "vivo Mobile Communication Co., Ltd." },
{ { 0x9C, 0xA6, 0x15 }, "TpLinkTechno", "Tp-Link Technologies Co.,Ltd." },
{ { 0x9C, 0xA6, 0x9D }, "WhaleyTechno", "Whaley Technology Co.Ltd" },
+ { { 0x9C, 0xA6, 0xD8 }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" },
{ { 0x9C, 0xA9, 0xE4 }, "zte", "zte corporation" },
{ { 0x9C, 0xAA, 0x1B }, "Microsoft", "Microsoft Corporation" },
{ { 0x9C, 0xAC, 0x6D }, "UniversalEle", "Universal Electronics, Inc." },
@@ -26963,6 +27124,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x9C, 0xCB, 0xF7 }, "CloudStarTec", "Cloud Star Technology Co., Ltd." },
{ { 0x9C, 0xCC, 0x83 }, "JuniperNetwo", "Juniper Networks" },
{ { 0x9C, 0xCD, 0x82 }, "ChengUeiPrec", "Cheng Uei Precision Industry Co.,Ltd" },
+ { { 0x9C, 0xCE, 0x88 }, "RuijieNetwor", "Ruijie Networks Co.,LTD" },
{ { 0x9C, 0xD1, 0xD0 }, "GuangzhouRon", "Guangzhou Ronsuo Electronic Technology Co.,Ltd" },
{ { 0x9C, 0xD2, 0x1E }, "HonHaiPrecis", "Hon Hai Precision Ind. Co.,Ltd." },
{ { 0x9C, 0xD2, 0x4B }, "zte", "zte corporation" },
@@ -26977,10 +27139,11 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0x9C, 0xD9, 0x17 }, "MotorolaMobi", "Motorola Mobility LLC, a Lenovo Company" },
{ { 0x9C, 0xD9, 0xCB }, "LesiraManufa", "Lesira Manufacturing Pty Ltd" },
{ { 0x9C, 0xDA, 0x3E }, "Intel", "Intel Corporate" },
+ { { 0x9C, 0xDA, 0xA8 }, "Apple", "Apple, Inc." },
{ { 0x9C, 0xDB, 0x07 }, "Yellowtec", "Yellowtec GmbH" },
{ { 0x9C, 0xDB, 0xAF }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
- { { 0x9C, 0xDB, 0xCB }, "FunshionOnli", "Wuhan Funshion Online Technologies Co.,Ltd" },
- { { 0x9C, 0xDC, 0x71 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0x9C, 0xDB, 0xCB }, "FunshionOnli", "Funshion Online Technologies Co.,Ltd" },
+ { { 0x9C, 0xDC, 0x71 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0x9C, 0xDD, 0x1F }, "IntelligentS", "Intelligent Steward Co.,Ltd" },
{ { 0x9C, 0xDE, 0x4D }, "MLvision", "ML vision Co.,LTD" },
{ { 0x9C, 0xDF, 0x03 }, "HarmanBecker", "Harman/Becker Automotive Systems GmbH" },
@@ -27078,7 +27241,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xA0, 0x23, 0x1B }, "TeleCompR&D", "TeleComp R&D Corp." },
{ { 0xA0, 0x23, 0x9F }, "Cisco", "Cisco Systems, Inc" },
{ { 0xA0, 0x24, 0xF9 }, "InnovaTestTe", "Chengdu InnovaTest Technology Co., Ltd" },
- { { 0xA0, 0x25, 0xD7 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xA0, 0x25, 0xD7 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xA0, 0x27, 0xB6 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0xA0, 0x28, 0xED }, "HMDGlobal", "HMD Global Oy" },
{ { 0xA0, 0x29, 0x19 }, "Dell", "Dell Inc." },
@@ -27129,6 +27292,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xA0, 0x44, 0xB7 }, "PAXComputerT", "PAX Computer Technology(Shenzhen) Ltd." },
{ { 0xA0, 0x44, 0xF3 }, "RafaelMicro", "RafaelMicro" },
{ { 0xA0, 0x46, 0x5A }, "MotorolaMobi", "Motorola Mobility LLC, a Lenovo Company" },
+ { { 0xA0, 0x47, 0x9B }, "PROCITEC", "PROCITEC GmbH" },
{ { 0xA0, 0x47, 0xD7 }, "BestITWorld", "Best IT World (India) Pvt Ltd" },
{ { 0xA0, 0x48, 0x1C }, "HewlettPacka", "Hewlett Packard" },
{ { 0xA0, 0x4A, 0x5E }, "Microsoft", "Microsoft Corporation" },
@@ -27139,6 +27303,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xA0, 0x4E, 0x04 }, "Nokia", "Nokia Corporation" },
{ { 0xA0, 0x4E, 0xA7 }, "Apple", "Apple, Inc." },
{ { 0xA0, 0x4E, 0xCF }, "Apple", "Apple, Inc." },
+ { { 0xA0, 0x4F, 0x52 }, "Intel", "Intel Corporate" },
{ { 0xA0, 0x4F, 0x85 }, "LGElectronic", "LG Electronics (Mobile Communications)" },
{ { 0xA0, 0x4F, 0xD4 }, "ADBBroadband", "ADB Broadband Italia" },
{ { 0xA0, 0x51, 0x0B }, "Intel", "Intel Corporate" },
@@ -27169,6 +27334,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xA0, 0x66, 0x36 }, "IntracomTele", "Intracom SA Telecom Solutions" },
{ { 0xA0, 0x67, 0x20 }, "ChinaDragonT", "China Dragon Technology Limited" },
{ { 0xA0, 0x67, 0xBE }, "Sicon", "Sicon srl" },
+ { { 0xA0, 0x67, 0xD6 }, "Nokia", "Nokia" },
{ { 0xA0, 0x68, 0x1C }, "GDMideaAirCo", "GD Midea Air-Conditioning Equipment Co.,Ltd." },
{ { 0xA0, 0x68, 0x7E }, "ARRISGroup", "ARRIS Group, Inc." },
{ { 0xA0, 0x69, 0x74 }, "HonorDevice", "Honor Device Co., Ltd." },
@@ -27248,7 +27414,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xA0, 0x9E, 0x1A }, "PolarElectro", "Polar Electro Oy" },
{ { 0xA0, 0x9F, 0x10 }, "BilianElectr", "Shenzhen Bilian Electronic Co.,Ltd" },
{ { 0xA0, 0x9F, 0x7A }, "DLinkMiddleE", "D-Link Middle East FZCO" },
- { { 0xA0, 0xA0, 0x01 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xA0, 0xA0, 0x01 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xA0, 0xA0, 0xDC }, "HuaweiDevice", "Huawei Device Co., Ltd." },
{ { 0xA0, 0xA1, 0x30 }, "DLITaiwanBra", "DLI Taiwan Branch office" },
{ { 0xA0, 0xA2, 0x3C }, "Gpms", "Gpms" },
@@ -27266,6 +27432,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xA0, 0xAB, 0x1B }, "DLinkInterna", "D-Link International" },
{ { 0xA0, 0xAB, 0x51 }, "WeifangGoert", "Weifang Goertek Electronics Co.,Ltd" },
{ { 0xA0, 0xAC, 0x69 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
+ { { 0xA0, 0xAD, 0x62 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0xA0, 0xAD, 0xA1 }, "JMRElectroni", "JMR Electronics, Inc" },
{ { 0xA0, 0xAF, 0x12 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0xA0, 0xAF, 0xBD }, "Intel", "Intel Corporate" },
@@ -27395,7 +27562,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xA4, 0x0C, 0xC3 }, "Cisco", "Cisco Systems, Inc" },
{ { 0xA4, 0x0D, 0xBC }, "XiamenIntret", "Xiamen Intretech Inc." },
{ { 0xA4, 0x0E, 0x2B }, "Facebook", "Facebook Inc" },
- { { 0xA4, 0x0E, 0x75 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xA4, 0x0E, 0x75 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xA4, 0x0F, 0x98 }, "OppoMobileTe", "Guangdong Oppo Mobile Telecommunications Corp.,Ltd" },
{ { 0xA4, 0x10, 0xB6 }, "Cisco", "Cisco Systems, Inc" },
{ { 0xA4, 0x11, 0x15 }, "RobertBoschE", "Robert Bosch Engineering and Business Solutions pvt. Ltd." },
@@ -27771,6 +27938,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xA8, 0x24, 0xEB }, "ZAONPOIntrot", "ZAO NPO Introtest" },
{ { 0xA8, 0x25, 0xEB }, "CambridgeInd", "Cambridge Industries(Group) Co.,Ltd." },
{ { 0xA8, 0x26, 0xD9 }, "HTC", "HTC Corporation" },
+ { { 0xA8, 0x27, 0xC8 }, "EdgecoreAmer", "Edgecore Americas Networking Corporation" },
{ { 0xA8, 0x29, 0x4C }, "PrecisionOpt", "Precision Optical Transceivers, Inc." },
{ { 0xA8, 0x2A, 0xD6 }, "Arthrex", "Arthrex Inc." },
{ { 0xA8, 0x2B, 0xB5 }, "EdgecoreNetw", "Edgecore Networks Corporation" },
@@ -27824,7 +27992,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xA8, 0x50, 0x81 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0xA8, 0x51, 0x5B }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0xA8, 0x51, 0xAB }, "Apple", "Apple, Inc." },
- { { 0xA8, 0x52, 0xD4 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xA8, 0x52, 0xD4 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xA8, 0x53, 0x7D }, "Mist", "Mist Systems, Inc." },
{ { 0xA8, 0x54, 0xA2 }, "HeimgardTech", "Heimgard Technologies AS" },
{ { 0xA8, 0x54, 0xB2 }, "WistronNeweb", "Wistron Neweb Corporation" },
@@ -27841,7 +28009,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xA8, 0x5B, 0xB0 }, "DehooTechnol", "Shenzhen Dehoo Technology Co.,Ltd" },
{ { 0xA8, 0x5B, 0xB7 }, "Apple", "Apple, Inc." },
{ { 0xA8, 0x5B, 0xF3 }, "Audivo", "Audivo GmbH" },
- { { 0xA8, 0x5B, 0xF7 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xA8, 0x5B, 0xF7 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xA8, 0x5C, 0x03 }, "JiangSuFulia", "Jiang Su Fulian Communication Technology Co., Ltd" },
{ { 0xA8, 0x5C, 0x2C }, "Apple", "Apple, Inc." },
{ { 0xA8, 0x5E, 0x45 }, "ASUSTekCOMPU", "ASUSTek COMPUTER INC." },
@@ -27871,6 +28039,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xA8, 0x6D, 0x5F }, "RaisecomTech", "Raisecom Technology CO., LTD" },
{ { 0xA8, 0x6D, 0xAA }, "Intel", "Intel Corporate" },
{ { 0xA8, 0x6E, 0x4E }, "HuaweiDevice", "Huawei Device Co., Ltd." },
+ { { 0xA8, 0x6E, 0x84 }, "TpLinkPte", "Tp-Link Corporation Pte. Ltd." },
{ { 0xA8, 0x6F, 0x36 }, "vivoMobileCo", "vivo Mobile Communication Co., Ltd." },
{ { 0xA8, 0x70, 0x5D }, "ARRISGroup", "ARRIS Group, Inc." },
{ { 0xA8, 0x70, 0xA5 }, "UniComm", "UniComm Inc." },
@@ -27953,6 +28122,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xA8, 0xA6, 0x48 }, "QingdaoHisen", "Qingdao Hisense Communications Co.,Ltd." },
{ { 0xA8, 0xA6, 0x68 }, "zte", "zte corporation" },
{ { 0xA8, 0xA7, 0x95 }, "HonHaiPrecis", "Hon Hai Precision Ind. Co.,Ltd." },
+ { { 0xA8, 0xA9, 0x13 }, "GNHearing", "GN Hearing A/S" },
{ { 0xA8, 0xAA, 0x7C }, "HuaweiDevice", "Huawei Device Co., Ltd." },
{ { 0xA8, 0xAB, 0xB5 }, "Apple", "Apple, Inc." },
{ { 0xA8, 0xAD, 0x3D }, "AlcatelLucen", "Alcatel-Lucent Shanghai Bell Co., Ltd" },
@@ -27970,13 +28140,14 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xA8, 0xB8, 0x6E }, "LGElectronic", "LG Electronics (Mobile Communications)" },
{ { 0xA8, 0xB8, 0xE0 }, "ChangwangTec", "Changwang Technology inc." },
{ { 0xA8, 0xB9, 0xB3 }, "Essys", "Essys" },
+ { { 0xA8, 0xBA, 0x25 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xA8, 0xBA, 0x69 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0xA8, 0xBB, 0x50 }, "WiZIoT", "WiZ IoT Company Limited" },
{ { 0xA8, 0xBB, 0x56 }, "Apple", "Apple, Inc." },
{ { 0xA8, 0xBB, 0xCF }, "Apple", "Apple, Inc." },
{ { 0xA8, 0xBC, 0x9C }, "CloudLightTe", "Cloud Light Technology Limited" },
{ { 0xA8, 0xBD, 0x1A }, "HoneyBee", "Honey Bee (Hong Kong) Limited" },
- { { 0xA8, 0xBD, 0x27 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0xA8, 0xBD, 0x27 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xA8, 0xBD, 0x3A }, "UnionManTech", "Union Man Technology Co.,Ltd" },
{ { 0xA8, 0xBE, 0x27 }, "Apple", "Apple, Inc." },
{ { 0xA8, 0xBF, 0x3C }, "HDVPhoelectr", "HDV Phoelectron Technology Limited" },
@@ -28198,6 +28369,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xAC, 0x5A, 0xEE }, "ChinaMobileG", "China Mobile Group Device Co.,Ltd." },
{ { 0xAC, 0x5A, 0xF0 }, "LGElectronic", "LG Electronics" },
{ { 0xAC, 0x5A, 0xFC }, "Intel", "Intel Corporate" },
+ { { 0xAC, 0x5C, 0x2C }, "Apple", "Apple, Inc." },
{ { 0xAC, 0x5D, 0x10 }, "PaceAmericas", "Pace Americas" },
{ { 0xAC, 0x5D, 0x5C }, "FnLinkTechno", "Fn-Link Technology Limited" },
{ { 0xAC, 0x5E, 0x14 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
@@ -28284,6 +28456,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xAC, 0x8C, 0x46 }, "XiaomiMobile", "Beijing Xiaomi Mobile Software Co., Ltd" },
{ { 0xAC, 0x8D, 0x14 }, "Smartrove", "Smartrove Inc" },
{ { 0xAC, 0x8D, 0x34 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
+ { { 0xAC, 0x8E, 0xBD }, "Microsoft", "Microsoft Corporation" },
{ { 0xAC, 0x8F, 0xA9 }, "NokiaSolutio", "Nokia Solutions and Networks GmbH & Co. KG" },
{ { 0xAC, 0x8F, 0xF8 }, "Nokia", "Nokia" },
{ { 0xAC, 0x90, 0x73 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
@@ -28310,7 +28483,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xAC, 0xA0, 0x9D }, "JuniperNetwo", "Juniper Networks" },
{ { 0xAC, 0xA2, 0x13 }, "Bilianelectr", "Shenzhen Bilian electronic CO.,LTD" },
{ { 0xAC, 0xA2, 0x2C }, "BaycityTechn", "Baycity Technologies Ltd" },
- { { 0xAC, 0xA3, 0x1E }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xAC, 0xA3, 0x1E }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xAC, 0xA3, 0x2F }, "SolidigmTech", "Solidigm Technology" },
{ { 0xAC, 0xA4, 0x30 }, "PeerlessAV", "Peerless AV" },
{ { 0xAC, 0xA4, 0x6E }, "GongjinElect", "Shenzhen Gongjin Electronics Co.,Lt" },
@@ -28436,6 +28609,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xAC, 0xF9, 0x70 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0xAC, 0xF9, 0x7E }, "Elesys", "Elesys Inc." },
{ { 0xAC, 0xFA, 0xA5 }, "digitron", "digitron" },
+ { { 0xAC, 0xFA, 0xE4 }, "Nintendo", "Nintendo Co.,Ltd" },
{ { 0xAC, 0xFC, 0x82 }, "SundrayTechn", "Shenzhen Sundray Technologies Company Limited" },
{ { 0xAC, 0xFC, 0xE3 }, "EMMicroelect", "EM Microelectronic" },
{ { 0xAC, 0xFD, 0x93 }, "WeifangGoert", "Weifang Goertek Electronics Co.,Ltd" },
@@ -28472,7 +28646,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xB0, 0x1C, 0x91 }, "Elim", "Elim Co" },
{ { 0xB0, 0x1F, 0x29 }, "Helvetia", "Helvetia INC." },
{ { 0xB0, 0x1F, 0x47 }, "HeightsTelec", "Heights Telecom T ltd" },
- { { 0xB0, 0x1F, 0x8C }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xB0, 0x1F, 0x8C }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xB0, 0x21, 0x6F }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0xB0, 0x22, 0x7A }, "HP", "HP Inc." },
{ { 0xB0, 0x23, 0x47 }, "GiantMicroel", "Shenzhen Giant Microelectronics Company Limited" },
@@ -28502,6 +28676,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xB0, 0x38, 0xE2 }, "WananHongshe", "Wanan Hongsheng Electronic Co.Ltd" },
{ { 0xB0, 0x39, 0x56 }, "Netgear", "Netgear" },
{ { 0xB0, 0x3A, 0xCE }, "HuaweiDevice", "Huawei Device Co., Ltd." },
+ { { 0xB0, 0x3B, 0x1B }, "KontrolnextT", "Kontrolnext Technology (Beijing) Ltd." },
{ { 0xB0, 0x3C, 0xDC }, "Intel", "Intel Corporate" },
{ { 0xB0, 0x3D, 0x96 }, "VisionValley", "Vision Valley FZ LLC" },
{ { 0xB0, 0x3D, 0xC2 }, "Waspartifici", "Wasp artificial intelligence(Shenzhen) Co.,ltd" },
@@ -28557,6 +28732,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xB0, 0x5D, 0xD4 }, "ARRISGroup", "ARRIS Group, Inc." },
{ { 0xB0, 0x60, 0x88 }, "Intel", "Intel Corporate" },
{ { 0xB0, 0x61, 0xC7 }, "EricssonLGEn", "Ericsson-LG Enterprise" },
+ { { 0xB0, 0x65, 0x3A }, "MurataManufa", "Murata Manufacturing Co., Ltd." },
{ { 0xB0, 0x65, 0x63 }, "RailwayCommu", "Shanghai Railway Communication Factory" },
{ { 0xB0, 0x65, 0xBD }, "Apple", "Apple, Inc." },
{ { 0xB0, 0x65, 0xF1 }, "WIOManufactu", "WIO Manufacturing HK Limited" },
@@ -28672,7 +28848,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xB0, 0xB4, 0x48 }, "TexasInstrum", "Texas Instruments" },
{ { 0xB0, 0xB5, 0xC3 }, "OppoMobileTe", "Guangdong Oppo Mobile Telecommunications Corp.,Ltd" },
{ { 0xB0, 0xB5, 0xE8 }, "Ruroc", "Ruroc LTD" },
- { { 0xB0, 0xB8, 0x67 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0xB0, 0xB8, 0x67 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xB0, 0xB8, 0xD5 }, "NanjingNengr", "Nanjing Nengrui Auto Equipment CO.,Ltd" },
{ { 0xB0, 0xB9, 0x8A }, "Netgear", "Netgear" },
{ { 0xB0, 0xBB, 0x8B }, "WavetelTechn", "Wavetel Technology Limited" },
@@ -28814,6 +28990,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xB4, 0x1C, 0xAB }, "ICR", "ICR, inc." },
{ { 0xB4, 0x1D, 0x2B }, "YOUHUATechno", "Shenzhen YOUHUA Technology Co., Ltd" },
{ { 0xB4, 0x1D, 0xEF }, "InternetLabo", "Internet Laboratories, Inc." },
+ { { 0xB4, 0x1E, 0x52 }, "FlockSafety", "Flock Safety" },
{ { 0xB4, 0x20, 0x46 }, "eero", "eero inc." },
{ { 0xB4, 0x20, 0x5B }, "OppoMobileTe", "Guangdong Oppo Mobile Telecommunications Corp.,Ltd" },
{ { 0xB4, 0x21, 0x1D }, "GuangXinTech", "Beijing GuangXin Technology Co., Ltd" },
@@ -28853,6 +29030,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xB4, 0x3A, 0x31 }, "SiliconLabor", "Silicon Laboratories" },
{ { 0xB4, 0x3A, 0xE2 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0xB4, 0x3D, 0x08 }, "GXInternatio", "GX International BV" },
+ { { 0xB4, 0x3D, 0x6B }, "NXPSemicondu", "NXP Semiconductor (Tianjin) LTD." },
{ { 0xB4, 0x3D, 0xB2 }, "DegreaneHori", "Degreane Horizon" },
{ { 0xB4, 0x3E, 0x3B }, "Viableware", "Viableware, Inc" },
{ { 0xB4, 0x40, 0xA4 }, "Apple", "Apple, Inc." },
@@ -28884,7 +29062,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xB4, 0x57, 0xE6 }, "OppoMobileTe", "Guangdong Oppo Mobile Telecommunications Corp.,Ltd" },
{ { 0xB4, 0x58, 0x61 }, "CRemote", "CRemote, LLC" },
{ { 0xB4, 0x5C, 0xA4 }, "ThingtalkWir", "Thing-talk Wireless Communication Technologies Corporation Limited" },
- { { 0xB4, 0x5D, 0x50 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xB4, 0x5D, 0x50 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xB4, 0x5F, 0x84 }, "zte", "zte corporation" },
{ { 0xB4, 0x60, 0x77 }, "SichuanChang", "Sichuan Changhong Electric Ltd." },
{ { 0xB4, 0x60, 0x8C }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" },
@@ -28919,7 +29097,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xB4, 0x79, 0x47 }, "Nutanix", "Nutanix" },
{ { 0xB4, 0x79, 0xA7 }, "SamsungElect", "Samsung Electro-Mechanics(Thailand)" },
{ { 0xB4, 0x79, 0xC8 }, "RuckusWirele", "Ruckus Wireless" },
- { { 0xB4, 0x7A, 0xF1 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0xB4, 0x7A, 0xF1 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xB4, 0x7C, 0x29 }, "GuzidiTechno", "Shenzhen Guzidi Technology Co.,Ltd" },
{ { 0xB4, 0x7C, 0x59 }, "JiangsuHengx", "Jiangsu Hengxin Technology Co.,Ltd." },
{ { 0xB4, 0x7C, 0x9C }, "AmazonTechno", "Amazon Technologies Inc." },
@@ -29018,6 +29196,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xB4, 0xC4, 0x4E }, "VXLeTech", "VXL eTech Pvt Ltd" },
{ { 0xB4, 0xC4, 0x76 }, "MaritimeComm", "Wuhan Maritime Communication Research Institute" },
{ { 0xB4, 0xC4, 0xFC }, "XiaomiCommun", "Xiaomi Communications Co Ltd" },
+ { { 0xB4, 0xC5, 0x56 }, "KenmyondIndu", "Shanghai Kenmyond Industrial Network Equipment Co., Ltd" },
{ { 0xB4, 0xC6, 0x2E }, "MolexCMS", "Molex CMS" },
{ { 0xB4, 0xC6, 0xF8 }, "AxilspotComm", "Axilspot Communication" },
{ { 0xB4, 0xC7, 0x99 }, "ExtremeNetwo", "Extreme Networks Headquarters" },
@@ -29159,13 +29338,14 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xB8, 0x32, 0x41 }, "TianyuInform", "Wuhan Tianyu Information Industry Co., Ltd." },
{ { 0xB8, 0x36, 0xD8 }, "Videoswitch", "Videoswitch" },
{ { 0xB8, 0x37, 0x4A }, "Apple", "Apple, Inc." },
+ { { 0xB8, 0x37, 0x4B }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xB8, 0x37, 0x65 }, "OppoMobileTe", "Guangdong Oppo Mobile Telecommunications Corp.,Ltd" },
- { { 0xB8, 0x37, 0xB2 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xB8, 0x37, 0xB2 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xB8, 0x38, 0x61 }, "Cisco", "Cisco Systems, Inc" },
{ { 0xB8, 0x38, 0xCA }, "KyokkoTsushi", "Kyokko Tsushin System CO.,LTD" },
{ { 0xB8, 0x38, 0xEF }, "ADVAOpticalN", "ADVA Optical Networking Ltd." },
{ { 0xB8, 0x3A, 0x08 }, "TendaTechnol", "Tenda Technology Co.,Ltd.Dongguan branch" },
- { { 0xB8, 0x3A, 0x5A }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xB8, 0x3A, 0x5A }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xB8, 0x3A, 0x7B }, "Worldplay", "Worldplay (Canada) Inc." },
{ { 0xB8, 0x3A, 0x9D }, "Alarmcom", "Alarm.com" },
{ { 0xB8, 0x3B, 0x8F }, "HylinIoTTech", "Hangzhou Hylin IoT Techonology Co.,Ltd." },
@@ -29230,7 +29410,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xB8, 0x6A, 0x97 }, "EdgecoreNetw", "Edgecore Networks Corporation" },
{ { 0xB8, 0x6A, 0xF1 }, "SagemcomBroa", "Sagemcom Broadband SAS" },
{ { 0xB8, 0x6B, 0x23 }, "Toshiba", "Toshiba" },
- { { 0xB8, 0x6C, 0xE0 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0xB8, 0x6C, 0xE0 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xB8, 0x6C, 0xE8 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0xB8, 0x70, 0xF4 }, "CompalInform", "Compal Information (Kunshan) Co., Ltd." },
{ { 0xB8, 0x74, 0x24 }, "ViessmannEle", "Viessmann Elektronik GmbH" },
@@ -29255,7 +29435,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xB8, 0x80, 0x4F }, "TexasInstrum", "Texas Instruments" },
{ { 0xB8, 0x81, 0x98 }, "Intel", "Intel Corporate" },
{ { 0xB8, 0x81, 0xFA }, "Apple", "Apple, Inc." },
- { { 0xB8, 0x83, 0x03 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0xB8, 0x83, 0x03 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xB8, 0x85, 0x7B }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0xB8, 0x85, 0x84 }, "Dell", "Dell Inc." },
{ { 0xB8, 0x86, 0x87 }, "LiteonTechno", "Liteon Technology Corporation" },
@@ -29350,6 +29530,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xB8, 0xBE, 0xBF }, "Cisco", "Cisco Systems, Inc" },
{ { 0xB8, 0xBE, 0xF4 }, "devolo", "devolo AG" },
{ { 0xB8, 0xBF, 0x83 }, "Intel", "Intel Corporate" },
+ { { 0xB8, 0xC0, 0x07 }, "tickIoT", "tickIoT Inc." },
{ { 0xB8, 0xC0, 0x65 }, "UniversalEle", "Universal Electronics, Inc." },
{ { 0xB8, 0xC1, 0x11 }, "Apple", "Apple, Inc." },
{ { 0xB8, 0xC1, 0xA2 }, "DragonPathTe", "Dragon Path Technologies Co., Limited" },
@@ -29379,7 +29560,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xB8, 0xD4, 0x3E }, "vivoMobileCo", "vivo Mobile Communication Co., Ltd." },
{ { 0xB8, 0xD4, 0x9D }, "MSevenSystem", "M Seven System Ltd." },
{ { 0xB8, 0xD4, 0xBC }, "zte", "zte corporation" },
- { { 0xB8, 0xD4, 0xE7 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xB8, 0xD4, 0xE7 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xB8, 0xD5, 0x0B }, "SunitecEnter", "Sunitec Enterprise Co.,Ltd" },
{ { 0xB8, 0xD5, 0x26 }, "ZyxelCommuni", "Zyxel Communications Corporation" },
{ { 0xB8, 0xD5, 0x6B }, "Mirka", "Mirka Ltd." },
@@ -29405,6 +29586,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xB8, 0xE6, 0x25 }, "2Wire", "2Wire Inc" },
{ { 0xB8, 0xE7, 0x79 }, "9Solutions", "9Solutions Oy" },
{ { 0xB8, 0xE8, 0x56 }, "Apple", "Apple, Inc." },
+ { { 0xB8, 0xE9, 0x24 }, "MellanoxTech", "Mellanox Technologies, Inc." },
{ { 0xB8, 0xE9, 0x37 }, "Sonos", "Sonos, Inc." },
{ { 0xB8, 0xEA, 0x98 }, "XiaomiCommun", "Xiaomi Communications Co Ltd" },
{ { 0xB8, 0xEA, 0xAA }, "ICGNETWORKS", "ICG NETWORKS CO.,ltd" },
@@ -29511,6 +29693,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xBC, 0x28, 0x2C }, "eSmart", "e-Smart Systems Pvt. Ltd" },
{ { 0xBC, 0x28, 0x46 }, "NextBITCompu", "NextBIT Computing Pvt. Ltd." },
{ { 0xBC, 0x28, 0xD6 }, "RowleyAssoci", "Rowley Associates Limited" },
+ { { 0xBC, 0x29, 0x78 }, "PramaHikvisi", "Prama Hikvision India Private Limited" },
{ { 0xBC, 0x2B, 0x6B }, "HaierICDesig", "Beijing Haier IC Design Co.,Ltd" },
{ { 0xBC, 0x2B, 0xD7 }, "RevogiInnova", "Revogi Innovation Co., Ltd." },
{ { 0xBC, 0x2C, 0x55 }, "BearFlagDesi", "Bear Flag Design, Inc." },
@@ -29532,6 +29715,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xBC, 0x35, 0xE5 }, "Hydro", "Hydro Systems Company" },
{ { 0xBC, 0x37, 0xD3 }, "Apple", "Apple, Inc." },
{ { 0xBC, 0x38, 0x65 }, "Jwcnetworks", "Jwcnetworks" },
+ { { 0xBC, 0x38, 0x98 }, "Intel", "Intel Corporate" },
{ { 0xBC, 0x38, 0xD2 }, "Pandachip", "Pandachip Limited" },
{ { 0xBC, 0x39, 0xA6 }, "CSUNSystemTe", "CSUN System Technology Co.,LTD" },
{ { 0xBC, 0x39, 0xD9 }, "ZTec", "Z-Tec" },
@@ -29545,6 +29729,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xBC, 0x3F, 0x8F }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0xBC, 0x41, 0x00 }, "CODACOELECTR", "CODACO ELECTRONIC s.r.o." },
{ { 0xBC, 0x41, 0x01 }, "TINNOMobileT", "Shenzhen TINNO Mobile Technology Corp." },
+ { { 0xBC, 0x41, 0xA0 }, "zte", "zte corporation" },
{ { 0xBC, 0x42, 0x8C }, "Alpsalpine", "Alpsalpine Co,.Ltd" },
{ { 0xBC, 0x43, 0x77 }, "HangZhouHuit", "Hang Zhou Huite Technology Co.,ltd." },
{ { 0xBC, 0x44, 0x34 }, "TINNOMobileT", "Shenzhen TINNO Mobile Technology Corp." },
@@ -29553,6 +29738,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xBC, 0x45, 0x2E }, "KnowledgeDev", "Knowledge Development for POF S.L." },
{ { 0xBC, 0x45, 0x5B }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0xBC, 0x45, 0x8C }, "TopwiseCommu", "Shenzhen Topwise Communication Co.,Ltd" },
+ { { 0xBC, 0x46, 0x32 }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" },
{ { 0xBC, 0x46, 0x99 }, "TpLinkTechno", "Tp-Link Technologies Co.,Ltd." },
{ { 0xBC, 0x47, 0x60 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0xBC, 0x49, 0xB2 }, "AlongCommuni", "Shenzhen Along Communication Tech Co., Ltd" },
@@ -29656,6 +29842,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xBC, 0x92, 0x6B }, "Apple", "Apple, Inc." },
{ { 0xBC, 0x93, 0x07 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0xBC, 0x93, 0x25 }, "NingboJoyson", "Ningbo Joyson Preh Car Connect Co.,Ltd." },
+ { { 0xBC, 0x94, 0x24 }, "TCTmobile", "TCT mobile ltd" },
{ { 0xBC, 0x96, 0x80 }, "GongjinElect", "Shenzhen Gongjin Electronics Co.,Lt" },
{ { 0xBC, 0x96, 0xE5 }, "SercommPhili", "Sercomm Philippines Inc" },
{ { 0xBC, 0x97, 0x89 }, "HuaweiDevice", "Huawei Device Co., Ltd." },
@@ -29676,7 +29863,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xBC, 0x9D, 0xA5 }, "DASCOMEurope", "DASCOM Europe GmbH" },
{ { 0xBC, 0x9E, 0x2C }, "ChinaMobileG", "China Mobile Group Device Co.,Ltd." },
{ { 0xBC, 0x9E, 0xBB }, "Nintendo", "Nintendo Co.,Ltd" },
- { { 0xBC, 0x9F, 0xE4 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xBC, 0x9F, 0xE4 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xBC, 0x9F, 0xEF }, "Apple", "Apple, Inc." },
{ { 0xBC, 0xA0, 0x42 }, "FlycoElectri", "Shanghai Flyco Electrical Appliance Co.,Ltd" },
{ { 0xBC, 0xA0, 0x80 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
@@ -29743,7 +29930,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xBC, 0xD5, 0xB6 }, "d2dtechnolog", "d2d technologies" },
{ { 0xBC, 0xD7, 0x13 }, "OwlLabs", "Owl Labs" },
{ { 0xBC, 0xD7, 0x67 }, "BAEAplliedIn", "BAE Systems Apllied Intelligence" },
- { { 0xBC, 0xD7, 0xA5 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xBC, 0xD7, 0xA5 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xBC, 0xD7, 0xCE }, "ChinaMobileI", "China Mobile (Hangzhou) Information Technology Co., Ltd." },
{ { 0xBC, 0xD7, 0xD4 }, "Roku", "Roku, Inc" },
{ { 0xBC, 0xD9, 0x40 }, "ASR", "ASR Co,.Ltd." },
@@ -29907,6 +30094,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xC0, 0x58, 0xA7 }, "Pico", "Pico Systems Co., Ltd." },
{ { 0xC0, 0x5B, 0x44 }, "XiaomiMobile", "Beijing Xiaomi Mobile Software Co., Ltd" },
{ { 0xC0, 0x5D, 0x39 }, "JiangsuHuito", "Jiangsu Huitong Group Co.,Ltd." },
+ { { 0xC0, 0x5D, 0x89 }, "Espressif", "Espressif Inc." },
{ { 0xC0, 0x5E, 0x6F }, "VStonkausfir", "V. Stonkaus firma \"Kodinis Raktas\"" },
{ { 0xC0, 0x5E, 0x79 }, "HuaxunArkTec", "Shenzhen Huaxun Ark Technologies Co.,Ltd" },
{ { 0xC0, 0x5F, 0x87 }, "LegrandINTEL", "Legrand INTELLIGENT ELECTRICAL(HUIZHOU)CO.,LTD." },
@@ -29923,6 +30111,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xC0, 0x68, 0xCC }, "SkyworthDigi", "Shenzhen Skyworth Digital Technology CO., Ltd" },
{ { 0xC0, 0x69, 0x11 }, "AristaNetwor", "Arista Networks" },
{ { 0xC0, 0x6B, 0x55 }, "MotorolaMobi", "Motorola Mobility LLC, a Lenovo Company" },
+ { { 0xC0, 0x6C, 0x0C }, "Apple", "Apple, Inc." },
{ { 0xC0, 0x6C, 0x0F }, "DobbsStanfor", "Dobbs Stanford" },
{ { 0xC0, 0x6C, 0x6D }, "MagneMotion", "MagneMotion, Inc." },
{ { 0xC0, 0x6D, 0x1A }, "TianjinHenxi", "Tianjin Henxinhuifeng Technology Co.,Ltd." },
@@ -29935,6 +30124,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xC0, 0x78, 0x31 }, "HuaweiDevice", "Huawei Device Co., Ltd." },
{ { 0xC0, 0x78, 0x78 }, "FlextronicsM", "Flextronics Manufacturing(Zhuhai)Co.,Ltd." },
{ { 0xC0, 0x79, 0x82 }, "TCLKingElect", "TCL King Electrical Appliances(Huizhou)Co.,Ltd" },
+ { { 0xC0, 0x7A, 0xD6 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0xC0, 0x7B, 0xBC }, "Cisco", "Cisco Systems, Inc" },
{ { 0xC0, 0x7C, 0x90 }, "YOUHUATechno", "Shenzhen YOUHUA Technology Co., Ltd" },
{ { 0xC0, 0x7C, 0xD1 }, "Pegatron", "Pegatron Corporation" },
@@ -29954,6 +30144,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xC0, 0x88, 0x6D }, "Securosys", "Securosys SA" },
{ { 0xC0, 0x89, 0x97 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0xC0, 0x89, 0xAB }, "ARRISGroup", "ARRIS Group, Inc." },
+ { { 0xC0, 0x8A, 0x60 }, "AltoBeam", "AltoBeam Inc." },
{ { 0xC0, 0x8A, 0xCD }, "GuangzhouShi", "Guangzhou Shiyuan Electronic Technology Company Limited" },
{ { 0xC0, 0x8A, 0xDE }, "RuckusWirele", "Ruckus Wireless" },
{ { 0xC0, 0x8B, 0x05 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
@@ -30030,6 +30221,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xC0, 0xBD, 0xD1 }, "SamsungElect", "Samsung Electro-Mechanics(Thailand)" },
{ { 0xC0, 0xBF, 0xA7 }, "JuniperNetwo", "Juniper Networks" },
{ { 0xC0, 0xBF, 0xAC }, "HuaweiDevice", "Huawei Device Co., Ltd." },
+ { { 0xC0, 0xBF, 0xBE }, "AzureWaveTec", "AzureWave Technology Inc." },
{ { 0xC0, 0xBF, 0xC0 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0xC0, 0xC1, 0x70 }, "SuperElectro", "Shenzhen SuperElectron Technology Co.,Ltd." },
{ { 0xC0, 0xC1, 0xC0 }, "CiscoLinksys", "Cisco-Linksys, LLC" },
@@ -30063,6 +30255,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xC0, 0xD6, 0x82 }, "AristaNetwor", "Arista Networks" },
{ { 0xC0, 0xD7, 0xAA }, "Arcadyan", "Arcadyan Corporation" },
{ { 0xC0, 0xD8, 0x34 }, "xvtec", "xvtec ltd" },
+ { { 0xC0, 0xD9, 0x41 }, "VMAXSoftware", "Shenzhen VMAX Software Co., Ltd." },
{ { 0xC0, 0xD9, 0x62 }, "AskeyCompute", "Askey Computer Corp" },
{ { 0xC0, 0xD9, 0xF7 }, "ShanDongDomo", "ShanDong Domor Intelligent S&T CO.,Ltd" },
{ { 0xC0, 0xDA, 0x74 }, "SunyardTechn", "Hangzhou Sunyard Technology Co., Ltd." },
@@ -30151,6 +30344,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xC4, 0x17, 0x0E }, "HuaweiDevice", "Huawei Device Co., Ltd." },
{ { 0xC4, 0x17, 0xFE }, "HonHaiPrecis", "Hon Hai Precision Ind. Co.,Ltd." },
{ { 0xC4, 0x18, 0xE9 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
+ { { 0xC4, 0x18, 0xFC }, "Cisco", "Cisco Systems, Inc" },
{ { 0xC4, 0x19, 0x8B }, "DominionVoti", "Dominion Voting Systems Corporation" },
{ { 0xC4, 0x19, 0xD1 }, "TelinkSemico", "Telink Semiconductor (Shanghai) Co., Ltd." },
{ { 0xC4, 0x19, 0xEC }, "Qualisys", "Qualisys AB" },
@@ -30216,6 +30410,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xC4, 0x46, 0x06 }, "Cisco", "Cisco Systems, Inc" },
{ { 0xC4, 0x46, 0x19 }, "HonHaiPrecis", "Hon Hai Precision Ind. Co.,Ltd." },
{ { 0xC4, 0x47, 0x3F }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
+ { { 0xC4, 0x47, 0x4E }, "Intel", "Intel Corporate" },
{ { 0xC4, 0x48, 0x38 }, "SatcomDirect", "Satcom Direct, Inc." },
{ { 0xC4, 0x48, 0xFA }, "TaicangT&WEl", "Taicang T&W Electronics" },
{ { 0xC4, 0x49, 0xBB }, "MitsumiElect", "Mitsumi Electric Co.,Ltd." },
@@ -30280,6 +30475,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xC4, 0x6E, 0x7B }, "RfLinkTechno", "Shenzhen Rf-Link Technology Co.,Ltd." },
{ { 0xC4, 0x70, 0x0B }, "GuangzhouChi", "Guangzhou Chip Technologies Co.,Ltd" },
{ { 0xC4, 0x70, 0xAB }, "RuijieNetwor", "Ruijie Networks Co.,LTD" },
+ { { 0xC4, 0x70, 0xBD }, "MellanoxTech", "Mellanox Technologies, Inc." },
{ { 0xC4, 0x71, 0x30 }, "FonTechnolog", "Fon Technology S.L." },
{ { 0xC4, 0x71, 0x54 }, "TpLinkTechno", "Tp-Link Technologies Co.,Ltd." },
{ { 0xC4, 0x71, 0xFE }, "Cisco", "Cisco Systems, Inc" },
@@ -30290,6 +30486,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xC4, 0x74, 0xF8 }, "HotPepper", "Hot Pepper, Inc." },
{ { 0xC4, 0x75, 0xAB }, "Intel", "Intel Corporate" },
{ { 0xC4, 0x75, 0xEA }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
+ { { 0xC4, 0x77, 0x64 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0xC4, 0x77, 0xAB }, "ASUTech", "Beijing ASU Tech Co.,Ltd" },
{ { 0xC4, 0x77, 0xAF }, "AdvancedDigi", "Advanced Digital Broadcast SA" },
{ { 0xC4, 0x78, 0xA2 }, "HuaweiDevice", "Huawei Device Co., Ltd." },
@@ -30598,6 +30795,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xC8, 0x5D, 0x38 }, "HUMAX", "HUMAX Co., Ltd." },
{ { 0xC8, 0x5E, 0xA9 }, "Intel", "Intel Corporate" },
{ { 0xC8, 0x60, 0x00 }, "ASUSTekCOMPU", "ASUSTek COMPUTER INC." },
+ { { 0xC8, 0x60, 0x8F }, "Cisco", "Cisco Systems, Inc" },
{ { 0xC8, 0x63, 0xF1 }, "SonyInteract", "Sony Interactive Entertainment Inc." },
{ { 0xC8, 0x63, 0xFC }, "ARRISGroup", "ARRIS Group, Inc." },
{ { 0xC8, 0x64, 0xC7 }, "zte", "zte corporation" },
@@ -30611,9 +30809,11 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xC8, 0x6C, 0x3D }, "AmazonTechno", "Amazon Technologies Inc." },
{ { 0xC8, 0x6C, 0x87 }, "ZyxelCommuni", "Zyxel Communications Corporation" },
{ { 0xC8, 0x6C, 0xB6 }, "Optcom", "Optcom Co., Ltd." },
+ { { 0xC8, 0x6E, 0x08 }, "Intel", "Intel Corporate" },
{ { 0xC8, 0x6F, 0x1D }, "Apple", "Apple, Inc." },
{ { 0xC8, 0x70, 0x23 }, "AlticeLabs", "Altice Labs S.A." },
{ { 0xC8, 0x70, 0xD4 }, "IBOTechnolog", "IBO Technology Co,Ltd" },
+ { { 0xC8, 0x71, 0x1F }, "SuzhouTesien", "Suzhou Tesien Technology Co., Ltd." },
{ { 0xC8, 0x71, 0x25 }, "JohnsonOutdo", "Johnson Outdoors Marine Electronics d/b/a Minnkota" },
{ { 0xC8, 0x72, 0x48 }, "Aplicom", "Aplicom Oy" },
{ { 0xC8, 0x72, 0x7E }, "Nokia", "Nokia" },
@@ -30634,6 +30834,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xC8, 0x83, 0x14 }, "TempoCommuni", "Tempo Communications" },
{ { 0xC8, 0x84, 0x39 }, "SunriseTechn", "Sunrise Technologies" },
{ { 0xC8, 0x84, 0x47 }, "BeautifulEnt", "Beautiful Enterprise Co., Ltd" },
+ { { 0xC8, 0x84, 0x4E }, "FlextronicsI", "Flextronics International Kft" },
{ { 0xC8, 0x84, 0x8C }, "RuckusWirele", "Ruckus Wireless" },
{ { 0xC8, 0x84, 0xA1 }, "Cisco", "Cisco Systems, Inc" },
{ { 0xC8, 0x84, 0xCF }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
@@ -30704,7 +30905,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xC8, 0xB2, 0x9B }, "Intel", "Intel Corporate" },
{ { 0xC8, 0xB3, 0x73 }, "CiscoLinksys", "Cisco-Linksys, LLC" },
{ { 0xC8, 0xB4, 0x22 }, "AskeyCompute", "Askey Computer Corp" },
- { { 0xC8, 0xB5, 0xAD }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0xC8, 0xB5, 0xAD }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xC8, 0xB5, 0xB7 }, "Apple", "Apple, Inc." },
{ { 0xC8, 0xB6, 0xD3 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0xC8, 0xB6, 0xFE }, "Fitbit", "Fitbit, Inc." },
@@ -30786,6 +30987,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xC8, 0xEE, 0x08 }, "TangtopTechn", "Tangtop Technology Co.,Ltd" },
{ { 0xC8, 0xEE, 0x75 }, "PishionInter", "Pishion International Co. Ltd" },
{ { 0xC8, 0xEE, 0xA6 }, "SHXTechnolog", "Shenzhen SHX Technology Co., Ltd" },
+ { { 0xC8, 0xEE, 0xD7 }, "LightspeedTe", "Lightspeed Technologies Inc." },
{ { 0xC8, 0xEF, 0x2E }, "GefeiTech", "Beijing Gefei Tech. Co., Ltd" },
{ { 0xC8, 0xEF, 0xBC }, "InspurCommun", "Inspur Communication Technology Co.,Ltd." },
{ { 0xC8, 0xF0, 0x9E }, "Espressif", "Espressif Inc." },
@@ -30832,6 +31034,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xCA, 0xC8, 0x7E }, "AllenOrgan", "Allen Organ Company" },
{ { 0xCA, 0xE5, 0x05 }, "Mobilitie", "Mobilitie" },
{ { 0xCA, 0xF2, 0x5B }, "LexarElectro", "Lexar Electronics(Shenzhen) Co.,Ltd." },
+ { { 0xCA, 0xFA, 0xE6 }, "TianjinRongh", "Tianjin Ronghui microelectronics Technology Co., Ltd." },
{ { 0xCC, 0x00, 0x80 }, "Bettini", "Bettini Srl" },
{ { 0xCC, 0x00, 0xF1 }, "SagemcomBroa", "Sagemcom Broadband SAS" },
{ { 0xCC, 0x03, 0x7B }, "TexasInstrum", "Texas Instruments" },
@@ -31006,6 +31209,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xCC, 0x7B, 0x61 }, "Nikkiso", "Nikkiso Co., Ltd." },
{ { 0xCC, 0x7D, 0x37 }, "ARRISGroup", "ARRIS Group, Inc." },
{ { 0xCC, 0x7D, 0x5B }, "TelinkSemico", "Telink Semiconductor (Shanghai) Co., Ltd." },
+ { { 0xCC, 0x7E, 0x0F }, "Theben", "Theben AG" },
{ { 0xCC, 0x7E, 0xE7 }, "PanasonicAVC", "Panasonic Corporation AVC Networks Company" },
{ { 0xCC, 0x7F, 0x75 }, "Cisco", "Cisco Systems, Inc" },
{ { 0xCC, 0x7F, 0x76 }, "Cisco", "Cisco Systems, Inc" },
@@ -31018,7 +31222,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xCC, 0x86, 0xEC }, "SiliconLabor", "Silicon Laboratories" },
{ { 0xCC, 0x87, 0x4A }, "Nokia", "Nokia" },
{ { 0xCC, 0x88, 0x26 }, "LGInnotek", "LG Innotek" },
- { { 0xCC, 0x88, 0xC7 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xCC, 0x88, 0xC7 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xCC, 0x89, 0x5E }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0xCC, 0x89, 0x6C }, "GNHearing", "GN Hearing A/S" },
{ { 0xCC, 0x89, 0xFD }, "Nokia", "Nokia Corporation" },
@@ -31113,7 +31317,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xCC, 0xCE, 0x1E }, "AVMAudiovisu", "AVM Audiovisuelles Marketing und Computersysteme GmbH" },
{ { 0xCC, 0xCE, 0x40 }, "Janteq", "Janteq Corp" },
{ { 0xCC, 0xCF, 0x83 }, "CigShanghai", "Cig Shanghai Co Ltd" },
- { { 0xCC, 0xD0, 0x83 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xCC, 0xD0, 0x83 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xCC, 0xD2, 0x81 }, "Apple", "Apple, Inc." },
{ { 0xCC, 0xD2, 0x9B }, "BopengfaElec", "Shenzhen Bopengfa Elec&Technology CO.,Ltd" },
{ { 0xCC, 0xD3, 0x42 }, "Cisco", "Cisco Systems, Inc" },
@@ -31209,7 +31413,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xD0, 0x13, 0x1E }, "SunrexTechno", "Sunrex Technology Corp" },
{ { 0xD0, 0x13, 0xFD }, "LGElectronic", "LG Electronics (Mobile Communications)" },
{ { 0xD0, 0x15, 0x4A }, "zte", "zte corporation" },
- { { 0xD0, 0x15, 0xA6 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xD0, 0x15, 0xA6 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xD0, 0x16, 0x7C }, "eero", "eero inc." },
{ { 0xD0, 0x16, 0xB4 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0xD0, 0x17, 0x69 }, "MurataManufa", "Murata Manufacturing Co., Ltd." },
@@ -31271,7 +31475,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xD0, 0x49, 0x8B }, "ZoomServer", "Zoom Server" },
{ { 0xD0, 0x4C, 0xC1 }, "SINTRONESTec", "SINTRONES Technology Corp." },
{ { 0xD0, 0x4D, 0x2C }, "Roku", "Roku, Inc." },
- { { 0xD0, 0x4D, 0xC6 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xD0, 0x4D, 0xC6 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xD0, 0x4E, 0x50 }, "MobiwireMobi", "Mobiwire Mobiles (NingBo) Co., LTD" },
{ { 0xD0, 0x4E, 0x99 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0xD0, 0x4F, 0x58 }, "RuckusWirele", "Ruckus Wireless" },
@@ -31287,6 +31491,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xD0, 0x55, 0x09 }, "Nintendo", "Nintendo Co.,Ltd" },
{ { 0xD0, 0x55, 0xB2 }, "IntegratedDe", "Integrated Device Technology (Malaysia) Sdn. Bhd." },
{ { 0xD0, 0x56, 0xBF }, "Amosense", "Amosense" },
+ { { 0xD0, 0x56, 0xFB }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0xD0, 0x57, 0x4C }, "Cisco", "Cisco Systems, Inc" },
{ { 0xD0, 0x57, 0x7B }, "Intel", "Intel Corporate" },
{ { 0xD0, 0x57, 0x85 }, "Pantech", "Pantech Co., Ltd." },
@@ -31322,13 +31527,14 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xD0, 0x65, 0xCA }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0xD0, 0x66, 0x6D }, "BusLanTechno", "Shenzhen Bus-Lan Technology Co., Ltd." },
{ { 0xD0, 0x66, 0x7B }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
- { { 0xD0, 0x67, 0x26 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0xD0, 0x67, 0x26 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xD0, 0x67, 0xE5 }, "Dell", "Dell Inc." },
{ { 0xD0, 0x69, 0x9E }, "LUMINEXLight", "LUMINEX Lighting Control Equipment" },
{ { 0xD0, 0x69, 0xC1 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0xD0, 0x69, 0xD0 }, "VertoMedical", "Verto Medical Solutions, LLC" },
{ { 0xD0, 0x6A, 0x1F }, "Bse", "Bse Co.,Ltd." },
{ { 0xD0, 0x6B, 0x78 }, "Apple", "Apple, Inc." },
+ { { 0xD0, 0x6D, 0xC8 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0xD0, 0x6D, 0xC9 }, "SagemcomBroa", "Sagemcom Broadband SAS" },
{ { 0xD0, 0x6E, 0xDE }, "SagemcomBroa", "Sagemcom Broadband SAS" },
{ { 0xD0, 0x6F, 0x4A }, "TopwellInter", "Topwell International Holdings Limited" },
@@ -31399,6 +31605,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xD0, 0xA9, 0xD3 }, "EMMicroelect", "EM Microelectronic" },
{ { 0xD0, 0xAB, 0xD5 }, "Intel", "Intel Corporate" },
{ { 0xD0, 0xAD, 0x08 }, "HP", "HP Inc." },
+ { { 0xD0, 0xAE, 0x05 }, "XiaomiCommun", "Xiaomi Communications Co Ltd" },
{ { 0xD0, 0xAE, 0xEC }, "AlphaNetwork", "Alpha Networks Inc." },
{ { 0xD0, 0xAF, 0xB6 }, "LinktopTechn", "Linktop Technology Co., LTD" },
{ { 0xD0, 0xB0, 0xCD }, "Moen", "Moen" },
@@ -31451,7 +31658,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xD0, 0xD2, 0x3C }, "Apple", "Apple, Inc." },
{ { 0xD0, 0xD2, 0x86 }, "BeckmanCoult", "Beckman Coulter K.K." },
{ { 0xD0, 0xD2, 0xB0 }, "Apple", "Apple, Inc." },
- { { 0xD0, 0xD3, 0xE0 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xD0, 0xD3, 0xE0 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xD0, 0xD3, 0xFC }, "Mios", "Mios, Ltd." },
{ { 0xD0, 0xD4, 0x12 }, "ADBBroadband", "ADB Broadband Italia" },
{ { 0xD0, 0xD4, 0x71 }, "MVTECH", "MVTECH co., Ltd" },
@@ -31579,6 +31786,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xD4, 0x3A, 0x65 }, "IGRSEngineer", "IGRS Engineering Lab Ltd." },
{ { 0xD4, 0x3A, 0xE9 }, "DONGGUANiptI", "DONGGUAN ipt INDUSTRIAL CO., LTD" },
{ { 0xD4, 0x3B, 0x04 }, "Intel", "Intel Corporate" },
+ { { 0xD4, 0x3B, 0x8A }, "Zhidetechnol", "Shenzhen Zhide technology Co., LTD" },
{ { 0xD4, 0x3D, 0x39 }, "DialogSemico", "Dialog Semiconductor" },
{ { 0xD4, 0x3D, 0x67 }, "CarmaIndustr", "Carma Industries Inc." },
{ { 0xD4, 0x3D, 0x7E }, "MicroStarInt", "Micro-Star Int'l Co, Ltd" },
@@ -31826,7 +32034,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xD4, 0xDC, 0x09 }, "Mist", "Mist Systems, Inc." },
{ { 0xD4, 0xDC, 0xCD }, "Apple", "Apple, Inc." },
{ { 0xD4, 0xDF, 0x57 }, "AlpinionMedi", "Alpinion Medical Systems" },
- { { 0xD4, 0xE0, 0x53 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xD4, 0xE0, 0x53 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xD4, 0xE0, 0x8E }, "ValueHD", "ValueHD Corporation" },
{ { 0xD4, 0xE2, 0x2F }, "Roku", "Roku, Inc" },
{ { 0xD4, 0xE2, 0xCB }, "VantivaUSA", "Vantiva USA LLC" },
@@ -31862,7 +32070,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xD4, 0xF5, 0x13 }, "TexasInstrum", "Texas Instruments" },
{ { 0xD4, 0xF5, 0x27 }, "Siemens", "Siemens Ag" },
{ { 0xD4, 0xF5, 0x47 }, "Google", "Google, Inc." },
- { { 0xD4, 0xF5, 0xEF }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0xD4, 0xF5, 0xEF }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xD4, 0xF6, 0x3F }, "Iea", "Iea S.R.L." },
{ { 0xD4, 0xF7, 0x56 }, "zte", "zte corporation" },
{ { 0xD4, 0xF7, 0x86 }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" },
@@ -31963,6 +32171,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xD8, 0x3A, 0xDD }, "RaspberryPiT", "Raspberry Pi Trading Ltd" },
{ { 0xD8, 0x3A, 0xF5 }, "WidebandLabs", "Wideband Labs LLC" },
{ { 0xD8, 0x3B, 0xBF }, "Intel", "Intel Corporate" },
+ { { 0xD8, 0x3B, 0xDA }, "Espressif", "Espressif Inc." },
{ { 0xD8, 0x3C, 0x69 }, "TINNOMobileT", "Shenzhen TINNO Mobile Technology Corp." },
{ { 0xD8, 0x3D, 0x3F }, "JOYNED", "JOYNED GmbH" },
{ { 0xD8, 0x3D, 0xCC }, "UDDTechnolog", "shenzhen UDD Technologies,co.,Ltd" },
@@ -32077,7 +32286,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xD8, 0x91, 0x2A }, "ZyxelCommuni", "Zyxel Communications Corporation" },
{ { 0xD8, 0x91, 0x36 }, "DoverFueling", "Dover Fueling Solutions" },
{ { 0xD8, 0x93, 0x41 }, "GeneralElect", "General Electric Global Research" },
- { { 0xD8, 0x94, 0x03 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0xD8, 0x94, 0x03 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xD8, 0x95, 0x2F }, "TexasInstrum", "Texas Instruments" },
{ { 0xD8, 0x95, 0x63 }, "TaiwanDigita", "Taiwan Digital Streaming Co." },
{ { 0xD8, 0x96, 0x85 }, "GoPro", "GoPro" },
@@ -32159,7 +32368,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xD8, 0xC6, 0x91 }, "HichanTechno", "Hichan Technology Corp." },
{ { 0xD8, 0xC6, 0xF9 }, "Tracklab", "Tracklab Inc" },
{ { 0xD8, 0xC7, 0x71 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
- { { 0xD8, 0xC7, 0xC8 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xD8, 0xC7, 0xC8 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xD8, 0xC8, 0xE9 }, "Phicomm", "Phicomm (Shanghai) Co., Ltd." },
{ { 0xD8, 0xC9, 0x9D }, "EaDisplay", "Ea Display Limited" },
{ { 0xD8, 0xCA, 0x06 }, "TitanDataCen", "Titan DataCenters France" },
@@ -32172,6 +32381,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xD8, 0xCF, 0xBF }, "MotorolaMobi", "Motorola Mobility LLC, a Lenovo Company" },
{ { 0xD8, 0xD0, 0x90 }, "Dell", "Dell Inc." },
{ { 0xD8, 0xD1, 0xCB }, "Apple", "Apple, Inc." },
+ { { 0xD8, 0xD2, 0x61 }, "GDMideaAirCo", "GD Midea Air-Conditioning Equipment Co.,Ltd." },
{ { 0xD8, 0xD2, 0x7C }, "JemaEnergy", "Jema Energy, Sa" },
{ { 0xD8, 0xD3, 0x85 }, "HewlettPacka", "Hewlett Packard" },
{ { 0xD8, 0xD4, 0x3C }, "Sony", "Sony Corporation" },
@@ -32184,6 +32394,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xD8, 0xD7, 0x23 }, "IDS", "IDS, Inc" },
{ { 0xD8, 0xD7, 0x75 }, "SagemcomBroa", "Sagemcom Broadband SAS" },
{ { 0xD8, 0xD8, 0x66 }, "TozedTechnol", "Shenzhen Tozed Technologies Co.,Ltd." },
+ { { 0xD8, 0xD8, 0xE5 }, "VantivaConne", "Vantiva Connected Home - Technologies Telco" },
{ { 0xD8, 0xDA, 0x52 }, "Apator", "Apator S.A." },
{ { 0xD8, 0xDA, 0xF1 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0xD8, 0xDC, 0x40 }, "Apple", "Apple, Inc." },
@@ -32381,9 +32592,10 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xDC, 0x66, 0x3A }, "ApacerTechno", "Apacer Technology Inc." },
{ { 0xDC, 0x66, 0x72 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0xDC, 0x67, 0x23 }, "baroxKommuni", "barox Kommunikation GmbH" },
- { { 0xDC, 0x68, 0x0C }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0xDC, 0x68, 0x0C }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xDC, 0x68, 0x80 }, "zte", "zte corporation" },
{ { 0xDC, 0x68, 0xEB }, "Nintendo", "Nintendo Co.,Ltd" },
+ { { 0xDC, 0x69, 0xB5 }, "eero", "eero inc." },
{ { 0xDC, 0x69, 0xE2 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0xDC, 0x6A, 0xE7 }, "XiaomiCommun", "Xiaomi Communications Co Ltd" },
{ { 0xDC, 0x6A, 0xEA }, "Infinixmobil", "Infinix mobility limited" },
@@ -32460,6 +32672,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xDC, 0xA6, 0x32 }, "RaspberryPiT", "Raspberry Pi Trading Ltd" },
{ { 0xDC, 0xA6, 0x33 }, "ARRISGroup", "ARRIS Group, Inc." },
{ { 0xDC, 0xA6, 0xBD }, "LanboTechnol", "Beijing Lanbo Technology Co., Ltd." },
+ { { 0xDC, 0xA7, 0x06 }, "KtElectronic", "Chengdu Kt Electronic Hi-Tech Co.,Ltd" },
{ { 0xDC, 0xA7, 0x82 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0xDC, 0xA7, 0xD9 }, "CompressorCo", "Compressor Controls Corp" },
{ { 0xDC, 0xA8, 0xCF }, "NewSpinGolf", "New Spin Golf, LLC." },
@@ -32483,7 +32696,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xDC, 0xB4, 0xCA }, "OppoMobileTe", "Guangdong Oppo Mobile Telecommunications Corp.,Ltd" },
{ { 0xDC, 0xB5, 0x4F }, "Apple", "Apple, Inc." },
{ { 0xDC, 0xB7, 0x2E }, "XiaomiCommun", "Xiaomi Communications Co Ltd" },
- { { 0xDC, 0xB7, 0xAC }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xDC, 0xB7, 0xAC }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xDC, 0xB7, 0xFC }, "AlpsElectric", "Alps Electric (Ireland) Ltd" },
{ { 0xDC, 0xB8, 0x08 }, "ExtremeNetwo", "Extreme Networks Headquarters" },
{ { 0xDC, 0xBB, 0x96 }, "FullSolution", "Full Solution Telecom" },
@@ -32557,6 +32770,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xDC, 0xE8, 0x38 }, "CKTelecom", "CK Telecom (Shenzhen) Limited" },
{ { 0xDC, 0xE9, 0x94 }, "CloudNetwork", "Cloud Network Technology Singapore Pte. Ltd." },
{ { 0xDC, 0xEA, 0xE7 }, "DLink", "D-Link Corporation" },
+ { { 0xDC, 0xEB, 0x4D }, "MotorolaMobi", "Motorola (Wuhan) Mobility Technologies Communication Co., Ltd." },
{ { 0xDC, 0xEB, 0x53 }, "QianXiaoElec", "Wuhan QianXiao Elecronic Technology CO.,LTD" },
{ { 0xDC, 0xEB, 0x69 }, "VantivaUSA", "Vantiva USA LLC" },
{ { 0xDC, 0xEB, 0x94 }, "Cisco", "Cisco Systems, Inc" },
@@ -32599,7 +32813,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xE0, 0x05, 0xC5 }, "TpLinkTechno", "Tp-Link Technologies Co.,Ltd." },
{ { 0xE0, 0x06, 0x30 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0xE0, 0x06, 0xE6 }, "HonHaiPrecis", "Hon Hai Precision Ind. Co.,Ltd." },
- { { 0xE0, 0x07, 0x1B }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0xE0, 0x07, 0x1B }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xE0, 0x07, 0xC2 }, "FujianStarNe", "Fujian Star-Net Communication Co.,Ltd" },
{ { 0xE0, 0x08, 0x55 }, "AVMAudiovisu", "AVM Audiovisuelles Marketing und Computersysteme GmbH" },
{ { 0xE0, 0x08, 0x71 }, "DongguanLies", "Dongguan Liesheng Electronic Co., Ltd." },
@@ -32625,6 +32839,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xE0, 0x19, 0xD8 }, "BhTechnologi", "Bh Technologies" },
{ { 0xE0, 0x1A, 0xEA }, "AlliedTelesi", "Allied Telesis, Inc." },
{ { 0xE0, 0x1C, 0x41 }, "ExtremeNetwo", "Extreme Networks Headquarters" },
+ { { 0xE0, 0x1C, 0xA7 }, "AristaNetwor", "Arista Networks, Inc." },
{ { 0xE0, 0x1C, 0xEE }, "BravoTech", "Bravo Tech, Inc." },
{ { 0xE0, 0x1C, 0xFC }, "DLinkInterna", "D-Link International" },
{ { 0xE0, 0x1D, 0x38 }, "HuaqinWorldT", "Beijing HuaqinWorld Technology Co.,Ltd" },
@@ -32719,6 +32934,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xE0, 0x5D, 0xA6 }, "DetlefFinkEl", "Detlef Fink Elektronik & Softwareentwicklung" },
{ { 0xE0, 0x5F, 0x45 }, "Apple", "Apple, Inc." },
{ { 0xE0, 0x5F, 0xB9 }, "Cisco", "Cisco Systems, Inc" },
+ { { 0xE0, 0x60, 0x4A }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" },
{ { 0xE0, 0x60, 0x66 }, "Sercomm", "Sercomm Corporation." },
{ { 0xE0, 0x60, 0x89 }, "Cloudleaf", "Cloudleaf, Inc." },
{ { 0xE0, 0x61, 0xB2 }, "ZenointelTec", "Hangzhou Zenointel Technology Co., Ltd" },
@@ -33053,6 +33269,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xE4, 0x5D, 0x75 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0xE4, 0x5E, 0x1B }, "Google", "Google, Inc." },
{ { 0xE4, 0x5E, 0x37 }, "Intel", "Intel Corporate" },
+ { { 0xE4, 0x5E, 0xCC }, "JuniperNetwo", "Juniper Networks" },
{ { 0xE4, 0x5F, 0x01 }, "RaspberryPiT", "Raspberry Pi Trading Ltd" },
{ { 0xE4, 0x60, 0x17 }, "Intel", "Intel Corporate" },
{ { 0xE4, 0x60, 0x4D }, "zte", "zte corporation" },
@@ -33121,6 +33338,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xE4, 0x90, 0x7E }, "MotorolaMobi", "Motorola Mobility LLC, a Lenovo Company" },
{ { 0xE4, 0x90, 0xFD }, "Apple", "Apple, Inc." },
{ { 0xE4, 0x92, 0x2A }, "DbgHoldings", "Dbg Holdings Limited" },
+ { { 0xE4, 0x92, 0x82 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0xE4, 0x92, 0xE7 }, "GridlinkTech", "Gridlink Tech. Co.,Ltd." },
{ { 0xE4, 0x92, 0xFB }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0xE4, 0x93, 0x6A }, "OppoMobileTe", "Guangdong Oppo Mobile Telecommunications Corp.,Ltd" },
@@ -33211,7 +33429,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xE4, 0xDC, 0x5F }, "Cofractal", "Cofractal, Inc." },
{ { 0xE4, 0xDC, 0xCC }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0xE4, 0xDD, 0x79 }, "EnVisionAmer", "En-Vision America, Inc." },
- { { 0xE4, 0xDE, 0x40 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xE4, 0xDE, 0x40 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xE4, 0xE0, 0xA6 }, "Apple", "Apple, Inc." },
{ { 0xE4, 0xE0, 0xC5 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0xE4, 0xE1, 0x12 }, "TexasInstrum", "Texas Instruments" },
@@ -33264,6 +33482,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xE8, 0x05, 0x6D }, "NortelNetwor", "Nortel Networks" },
{ { 0xE8, 0x05, 0xDC }, "Verifone", "Verifone Inc." },
{ { 0xE8, 0x06, 0x88 }, "Apple", "Apple, Inc." },
+ { { 0xE8, 0x06, 0x90 }, "Espressif", "Espressif Inc." },
{ { 0xE8, 0x07, 0x34 }, "ChampionOpti", "Champion Optical Network Engineering, LLC" },
{ { 0xE8, 0x07, 0xBF }, "BoomtechIndu", "Shenzhen Boomtech Industry Co.,Ltd" },
{ { 0xE8, 0x08, 0x8B }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
@@ -33276,7 +33495,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xE8, 0x0C, 0x75 }, "Syncbak", "Syncbak, Inc." },
{ { 0xE8, 0x0F, 0xC8 }, "UniversalEle", "Universal Electronics, Inc." },
{ { 0xE8, 0x10, 0x2E }, "ReallySimple", "Really Simple Software, Inc" },
- { { 0xE8, 0x10, 0x98 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xE8, 0x10, 0x98 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xE8, 0x11, 0x32 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0xE8, 0x11, 0xCA }, "ShandongKaer", "Shandong Kaer Electric.Co.,Ltd" },
{ { 0xE8, 0x13, 0x24 }, "GuangZhouBon", "GuangZhou Bonsoninfo System CO.,LTD" },
@@ -33288,7 +33507,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xE8, 0x16, 0x2B }, "IDEOSecurity", "IDEO Security Co., Ltd." },
{ { 0xE8, 0x16, 0x56 }, "BroadLinkTec", "Hangzhou BroadLink Technology Co.,Ltd" },
{ { 0xE8, 0x17, 0x11 }, "Vipstech", "Shenzhen Vipstech Co., Ltd" },
- { { 0xE8, 0x17, 0xFC }, "FujitsuCloud", "Fujitsu Cloud Technologies Limited" },
+ { { 0xE8, 0x17, 0xFC }, "Fujitsu", "Fujitsu Limited" },
{ { 0xE8, 0x1A, 0x58 }, "Technologic", "Technologic Systems" },
{ { 0xE8, 0x1A, 0xAC }, "ORFEOSOUNDWO", "ORFEO SOUNDWORKS Inc." },
{ { 0xE8, 0x1B, 0x4B }, "amnimo", "amnimo Inc." },
@@ -33298,11 +33517,12 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xE8, 0x1D, 0xA8 }, "RuckusWirele", "Ruckus Wireless" },
{ { 0xE8, 0x1E, 0x92 }, "HuaweiDevice", "Huawei Device Co., Ltd." },
{ { 0xE8, 0x20, 0xE2 }, "HUMAX", "HUMAX Co., Ltd." },
+ { { 0xE8, 0x22, 0x81 }, "GDMideaAirCo", "GD Midea Air-Conditioning Equipment Co.,Ltd." },
{ { 0xE8, 0x22, 0xB8 }, "SkyworthDigi", "Shenzhen Skyworth Digital Technology CO., Ltd" },
{ { 0xE8, 0x24, 0x04 }, "QuectelWirel", "Quectel Wireless Solutions Co.,Ltd." },
{ { 0xE8, 0x24, 0xA6 }, "JuniperNetwo", "Juniper Networks" },
{ { 0xE8, 0x25, 0x87 }, "ChilinkIoTTe", "Shenzhen Chilink IoT Technology Co., Ltd." },
- { { 0xE8, 0x26, 0x89 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xE8, 0x26, 0x89 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xE8, 0x26, 0x8D }, "SuperElectro", "Shenzhen SuperElectron Technology Co.,Ltd." },
{ { 0xE8, 0x26, 0xB6 }, "CompaniesHou", "Companies House to GlucoRx Technologies Ltd." },
{ { 0xE8, 0x27, 0x25 }, "AxisCommunic", "Axis Communications AB" },
@@ -33345,6 +33565,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xE8, 0x48, 0xB8 }, "TPLink", "TP-Link Corporation Limited" },
{ { 0xE8, 0x49, 0x43 }, "YUGEInformat", "YUGE Information technology Co. Ltd" },
{ { 0xE8, 0x4A, 0x54 }, "XiaomiMobile", "Beijing Xiaomi Mobile Software Co., Ltd" },
+ { { 0xE8, 0x4A, 0x78 }, "Apple", "Apple, Inc." },
{ { 0xE8, 0x4C, 0x4A }, "AmazonTechno", "Amazon Technologies Inc." },
{ { 0xE8, 0x4C, 0x56 }, "InterceptSer", "Intercept Services Limited" },
{ { 0xE8, 0x4D, 0x74 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
@@ -33445,6 +33666,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xE8, 0x93, 0xF3 }, "Graphiant", "Graphiant Inc" },
{ { 0xE8, 0x94, 0x4C }, "CogentHealth", "Cogent Healthcare Systems Ltd" },
{ { 0xE8, 0x94, 0xF6 }, "TpLinkTechno", "Tp-Link Technologies Co.,Ltd." },
+ { { 0xE8, 0x95, 0x05 }, "MiaoMingInte", "Shenzhen MiaoMing Intelligent Technology Co.,Ltd" },
{ { 0xE8, 0x95, 0x26 }, "LuxsharePrec", "Luxshare Precision Industry CO., LTD." },
{ { 0xE8, 0x96, 0x06 }, "testoInstrum", "testo Instruments (Shenzhen) Co., Ltd." },
{ { 0xE8, 0x97, 0x9A }, "QuectelWirel", "Quectel Wireless Solutions Co.,Ltd." },
@@ -33499,6 +33721,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xE8, 0xB5, 0xD0 }, "Dell", "Dell Inc." },
{ { 0xE8, 0xB6, 0xC2 }, "JuniperNetwo", "Juniper Networks" },
{ { 0xE8, 0xB7, 0x22 }, "GreenTrolAut", "GreenTrol Automation" },
+ { { 0xE8, 0xB7, 0x23 }, "VatilonElect", "Shenzhen Vatilon Electronics Co.,Ltd" },
{ { 0xE8, 0xB7, 0x48 }, "Cisco", "Cisco Systems, Inc" },
{ { 0xE8, 0xBA, 0x70 }, "Cisco", "Cisco Systems, Inc" },
{ { 0xE8, 0xBA, 0xE2 }, "XploraTechno", "Xplora Technologies AS" },
@@ -33557,6 +33780,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xE8, 0xDE, 0x8E }, "IntegratedDe", "Integrated Device Technology (Malaysia) Sdn. Bhd." },
{ { 0xE8, 0xDE, 0xD6 }, "IntrisingNet", "Intrising Networks, Inc." },
{ { 0xE8, 0xDE, 0xFB }, "MesoticSas", "Mesotic Sas" },
+ { { 0xE8, 0xDF, 0x24 }, "Ohsung", "Ohsung" },
{ { 0xE8, 0xDF, 0x70 }, "AVMAudiovisu", "AVM Audiovisuelles Marketing und Computersysteme GmbH" },
{ { 0xE8, 0xDF, 0xF2 }, "PRF", "PRF Co., Ltd." },
{ { 0xE8, 0xE0, 0x7E }, "SiliconLabor", "Silicon Laboratories" },
@@ -33595,7 +33819,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xE8, 0xF3, 0x75 }, "Nokia", "Nokia" },
{ { 0xE8, 0xF4, 0x08 }, "Intel", "Intel Corporate" },
{ { 0xE8, 0xF6, 0x54 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
- { { 0xE8, 0xF7, 0x24 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0xE8, 0xF7, 0x24 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xE8, 0xF7, 0x2F }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0xE8, 0xF7, 0x91 }, "XiaomiCommun", "Xiaomi Communications Co Ltd" },
{ { 0xE8, 0xF8, 0xD0 }, "NokiaShangha", "Nokia Shanghai Bell Co., Ltd." },
@@ -33629,11 +33853,12 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xEC, 0x01, 0xD5 }, "Cisco", "Cisco Systems, Inc" },
{ { 0xEC, 0x01, 0xE2 }, "FoxconnInter", "Foxconn Interconnect Technology" },
{ { 0xEC, 0x01, 0xEE }, "OppoMobileTe", "Guangdong Oppo Mobile Telecommunications Corp.,Ltd" },
- { { 0xEC, 0x02, 0x73 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xEC, 0x02, 0x73 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xEC, 0x04, 0x41 }, "TIGOSemicond", "ShenZhen TIGO Semiconductor Co., Ltd." },
{ { 0xEC, 0x04, 0x82 }, "STL", "STL Systems AG" },
{ { 0xEC, 0x08, 0x6B }, "TpLinkTechno", "Tp-Link Technologies Co.,Ltd." },
{ { 0xEC, 0x08, 0xE5 }, "MotorolaMobi", "Motorola Mobility LLC, a Lenovo Company" },
+ { { 0xEC, 0x09, 0xC9 }, "TexasInstrum", "Texas Instruments" },
{ { 0xEC, 0x0B, 0xAE }, "BroadLinkTec", "Hangzhou BroadLink Technology Co.,Ltd" },
{ { 0xEC, 0x0C, 0x96 }, "Nokia", "Nokia" },
{ { 0xEC, 0x0D, 0x51 }, "Apple", "Apple, Inc." },
@@ -33692,6 +33917,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xEC, 0x38, 0x73 }, "JuniperNetwo", "Juniper Networks" },
{ { 0xEC, 0x38, 0x8F }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0xEC, 0x3A, 0x52 }, "HuaweiDevice", "Huawei Device Co., Ltd." },
+ { { 0xEC, 0x3B, 0xAF }, "EMMicroelect", "EM Microelectronic" },
{ { 0xEC, 0x3B, 0xF0 }, "NovelSat", "NovelSat" },
{ { 0xEC, 0x3C, 0x5A }, "ShenZhenHeng", "Shen Zhen Heng Sheng Hui Digital Technology Co.,Ltd" },
{ { 0xEC, 0x3C, 0x88 }, "MCNEX", "MCNEX Co.,Ltd." },
@@ -33721,7 +33947,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xEC, 0x4D, 0x3E }, "XiaomiMobile", "Beijing Xiaomi Mobile Software Co., Ltd" },
{ { 0xEC, 0x4D, 0x47 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0xEC, 0x4F, 0x82 }, "Calix", "Calix Inc." },
- { { 0xEC, 0x50, 0xAA }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xEC, 0x50, 0xAA }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xEC, 0x51, 0xBC }, "OppoMobileTe", "Guangdong Oppo Mobile Telecommunications Corp.,Ltd" },
{ { 0xEC, 0x52, 0xDC }, "WORLDMEDIAAN", "WORLD MEDIA AND TECHNOLOGY Corp." },
{ { 0xEC, 0x53, 0x82 }, "HonorDevice", "Honor Device Co., Ltd." },
@@ -33752,7 +33978,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xEC, 0x65, 0x6E }, "ThingsIndust", "The Things Industries B.V." },
{ { 0xEC, 0x65, 0xCC }, "PanasonicAut", "Panasonic Automotive Systems Company of America" },
{ { 0xEC, 0x66, 0xD1 }, "B&WGroup", "B&W Group LTD" },
- { { 0xEC, 0x67, 0x94 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xEC, 0x67, 0x94 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xEC, 0x68, 0x81 }, "PaloAltoNetw", "Palo Alto Networks" },
{ { 0xEC, 0x6C, 0x9A }, "Arcadyan", "Arcadyan Corporation" },
{ { 0xEC, 0x6C, 0x9F }, "VolansTechno", "Chengdu Volans Technology CO.,LTD" },
@@ -33761,6 +33987,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xEC, 0x6F, 0x0B }, "FADU", "FADU, Inc." },
{ { 0xEC, 0x70, 0x97 }, "ARRISGroup", "ARRIS Group, Inc." },
{ { 0xEC, 0x71, 0xDB }, "ReolinkInnov", "Reolink Innovation Limited" },
+ { { 0xEC, 0x72, 0x5B }, "zte", "zte corporation" },
{ { 0xEC, 0x73, 0x79 }, "Apple", "Apple, Inc." },
{ { 0xEC, 0x74, 0x27 }, "eero", "eero inc." },
{ { 0xEC, 0x74, 0x8C }, "SonyInteract", "Sony Interactive Entertainment Inc." },
@@ -33822,7 +34049,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xEC, 0x9A, 0x74 }, "HewlettPacka", "Hewlett Packard" },
{ { 0xEC, 0x9B, 0x2D }, "ChinaMobileG", "China Mobile Group Device Co.,Ltd." },
{ { 0xEC, 0x9B, 0x5B }, "Nokia", "Nokia Corporation" },
- { { 0xEC, 0x9B, 0x8B }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0xEC, 0x9B, 0x8B }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xEC, 0x9B, 0xF3 }, "SamsungElect", "Samsung Electro-Mechanics(Thailand)" },
{ { 0xEC, 0x9C, 0x32 }, "SichuanAILin", "Sichuan AI-Link Technology Co., Ltd." },
{ { 0xEC, 0x9E, 0xCD }, "ArtesynEmbed", "Artesyn Embedded Technologies" },
@@ -33918,7 +34145,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xEC, 0xE9, 0x15 }, "STI", "STI Ltd" },
{ { 0xEC, 0xE9, 0xF8 }, "GuangZhouTRI", "Guang Zhou TRI-SUN Electronics Technology Co., Ltd" },
{ { 0xEC, 0xEA, 0x03 }, "DarfonLighti", "Darfon Lighting Corp" },
- { { 0xEC, 0xEB, 0xB8 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0xEC, 0xEB, 0xB8 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xEC, 0xED, 0x73 }, "MotorolaMobi", "Motorola Mobility LLC, a Lenovo Company" },
{ { 0xEC, 0xEE, 0xD8 }, "ZTLXNetworkT", "ZTLX Network Technology Co.,Ltd" },
{ { 0xEC, 0xEF, 0x17 }, "SunplusTechn", "Sunplus Technology Co., Ltd." },
@@ -33942,7 +34169,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xEC, 0xFA, 0xBC }, "Espressif", "Espressif Inc." },
{ { 0xEC, 0xFA, 0xF4 }, "SenRaTech", "SenRa Tech Pvt. Ltd" },
{ { 0xEC, 0xFC, 0x55 }, "AEberle", "A. Eberle GmbH & Co. KG" },
- { { 0xEC, 0xFC, 0xC6 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xEC, 0xFC, 0xC6 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xEC, 0xFE, 0x7E }, "BlueRadios", "BlueRadios, Inc." },
{ { 0xF0, 0x00, 0x7F }, "JanzContador", "Janz - Contadores de Energia, SA" },
{ { 0xF0, 0x01, 0x6E }, "TianyiTeleco", "Tianyi Telecom Terminals Company Limited" },
@@ -33955,6 +34182,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xF0, 0x07, 0x86 }, "ShandongBitt", "Shandong Bittel Electronics Co., Ltd" },
{ { 0xF0, 0x08, 0xD1 }, "Espressif", "Espressif Inc." },
{ { 0xF0, 0x08, 0xF1 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
+ { { 0xF0, 0x09, 0x0D }, "TpLinkPte", "Tp-Link Corporation Pte. Ltd." },
{ { 0xF0, 0x0D, 0x5C }, "JinQianMaoTe", "JinQianMao Technology Co.,Ltd." },
{ { 0xF0, 0x0D, 0xF5 }, "ACOMAMedical", "ACOMA Medical Industry Co,. Ltd." },
{ { 0xF0, 0x0E, 0x1D }, "Megafone", "Megafone Limited" },
@@ -33970,7 +34198,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xF0, 0x16, 0x28 }, "TechnicolorT", "Technicolor (China) Technology Co., Ltd." },
{ { 0xF0, 0x18, 0x2B }, "LGChem", "LG Chem" },
{ { 0xF0, 0x18, 0x98 }, "Apple", "Apple, Inc." },
- { { 0xF0, 0x1A, 0xA0 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xF0, 0x1A, 0xA0 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xF0, 0x1B, 0x24 }, "zte", "zte corporation" },
{ { 0xF0, 0x1B, 0x6C }, "vivoMobileCo", "vivo Mobile Communication Co., Ltd." },
{ { 0xF0, 0x1C, 0x13 }, "LGElectronic", "LG Electronics (Mobile Communications)" },
@@ -34051,7 +34279,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xF0, 0x58, 0x49 }, "CareViewComm", "CareView Communications" },
{ { 0xF0, 0x5A, 0x09 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0xF0, 0x5B, 0x7B }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
- { { 0xF0, 0x5C, 0x19 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xF0, 0x5C, 0x19 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xF0, 0x5C, 0x77 }, "Google", "Google, Inc." },
{ { 0xF0, 0x5C, 0xD5 }, "Apple", "Apple, Inc." },
{ { 0xF0, 0x5D, 0x89 }, "Dycon", "Dycon Limited" },
@@ -34059,7 +34287,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xF0, 0x5E, 0xCD }, "TexasInstrum", "Texas Instruments" },
{ { 0xF0, 0x5F, 0x5A }, "GetriebebauN", "Getriebebau NORD GmbH and Co. KG" },
{ { 0xF0, 0x61, 0x30 }, "AdvantagePha", "Advantage Pharmacy Services, LLC" },
- { { 0xF0, 0x61, 0xC0 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xF0, 0x61, 0xC0 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xF0, 0x61, 0xF3 }, "ComcastCable", "Comcast Cable Corporation" },
{ { 0xF0, 0x62, 0x0D }, "EgreatTech", "Shenzhen Egreat Tech Corp.,Ltd" },
{ { 0xF0, 0x62, 0x5A }, "RealmeChongq", "Realme Chongqing Mobile Telecommunications Corp.,Ltd." },
@@ -34138,6 +34366,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xF0, 0x9C, 0xE9 }, "ExtremeNetwo", "Extreme Networks Headquarters" },
{ { 0xF0, 0x9E, 0x4A }, "Intel", "Intel Corporate" },
{ { 0xF0, 0x9E, 0x63 }, "Cisco", "Cisco Systems, Inc" },
+ { { 0xF0, 0x9E, 0x9E }, "Espressif", "Espressif Inc." },
{ { 0xF0, 0x9F, 0xC2 }, "Ubiquiti", "Ubiquiti Inc" },
{ { 0xF0, 0x9F, 0xFC }, "SHARP", "SHARP Corporation" },
{ { 0xF0, 0xA0, 0xB1 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
@@ -34154,6 +34383,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xF0, 0xAA, 0x0B }, "ArraNetworks", "Arra Networks/ Spectramesh" },
{ { 0xF0, 0xAB, 0x1F }, "zte", "zte corporation" },
{ { 0xF0, 0xAB, 0x54 }, "MitsumiElect", "Mitsumi Electric Co.,Ltd." },
+ { { 0xF0, 0xAB, 0xF3 }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" },
{ { 0xF0, 0xAC, 0xA4 }, "HBCradiomati", "HBC-radiomatic" },
{ { 0xF0, 0xAD, 0x4E }, "GlobalscaleT", "Globalscale Technologies, Inc." },
{ { 0xF0, 0xAE, 0x51 }, "Xi3", "Xi3 Corp" },
@@ -34219,6 +34449,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xF0, 0xD4, 0xF6 }, "LarsThrane", "Lars Thrane A/S" },
{ { 0xF0, 0xD4, 0xF7 }, "varramsystem", "varram system" },
{ { 0xF0, 0xD5, 0xBF }, "Intel", "Intel Corporate" },
+ { { 0xF0, 0xD6, 0x35 }, "Apple", "Apple, Inc." },
{ { 0xF0, 0xD6, 0x57 }, "Echosens", "Echosens" },
{ { 0xF0, 0xD7, 0x67 }, "AxemaPassage", "Axema Passagekontroll AB" },
{ { 0xF0, 0xD7, 0x93 }, "Apple", "Apple, Inc." },
@@ -34287,7 +34518,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xF4, 0x03, 0x21 }, "BeNeXt", "BeNeXt B.V." },
{ { 0xF4, 0x03, 0x2A }, "AmazonTechno", "Amazon Technologies Inc." },
{ { 0xF4, 0x03, 0x2F }, "Reduxio", "Reduxio Systems" },
- { { 0xF4, 0x03, 0x43 }, "HewlettPacka", "Hewlett Packard Enterprise – WW Corporate Headquarters" },
+ { { 0xF4, 0x03, 0x43 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xF4, 0x04, 0x4C }, "ValenceTech", "ValenceTech Limited" },
{ { 0xF4, 0x05, 0x95 }, "SagemcomBroa", "Sagemcom Broadband SAS" },
{ { 0xF4, 0x06, 0x16 }, "Apple", "Apple, Inc." },
@@ -34344,7 +34575,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xF4, 0x2C, 0x56 }, "SenorTech", "Senor Tech Co Ltd" },
{ { 0xF4, 0x2D, 0x06 }, "zte", "zte corporation" },
{ { 0xF4, 0x2E, 0x48 }, "zte", "zte corporation" },
- { { 0xF4, 0x2E, 0x7F }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xF4, 0x2E, 0x7F }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xF4, 0x30, 0x8B }, "XiaomiCommun", "Xiaomi Communications Co Ltd" },
{ { 0xF4, 0x30, 0xB9 }, "HewlettPacka", "Hewlett Packard" },
{ { 0xF4, 0x31, 0x49 }, "PixelFX", "Pixel FX" },
@@ -34488,11 +34719,13 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xF4, 0x99, 0xAC }, "WEBERSchraub", "WEBER Schraubautomaten GmbH" },
{ { 0xF4, 0x9C, 0x12 }, "Structab", "Structab AB" },
{ { 0xF4, 0x9D, 0x8A }, "FantasiaTrad", "Fantasia Trading LLC" },
+ { { 0xF4, 0x9E, 0xCE }, "SenaTechnolo", "Sena Technologies Co., Ltd." },
{ { 0xF4, 0x9E, 0xEF }, "TaicangT&WEl", "Taicang T&W Electronics" },
{ { 0xF4, 0x9F, 0x54 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0xF4, 0x9F, 0xF3 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0xF4, 0xA1, 0x7F }, "MarquardtEle", "Marquardt Electronics Technology (Shanghai) Co.Ltd" },
{ { 0xF4, 0xA2, 0x94 }, "EagleWorldDe", "Eagle World Development Co., Limited" },
+ { { 0xF4, 0xA3, 0x10 }, "Apple", "Apple, Inc." },
{ { 0xF4, 0xA4, 0x75 }, "Intel", "Intel Corporate" },
{ { 0xF4, 0xA4, 0xD6 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0xF4, 0xA5, 0x2A }, "HawaTechnolo", "Hawa Technologies Inc" },
@@ -34730,6 +34963,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xF8, 0x3F, 0x51 }, "SamsungElect", "Samsung Electronics Co.,Ltd" },
{ { 0xF8, 0x42, 0x88 }, "Apple", "Apple, Inc." },
{ { 0xF8, 0x42, 0xFB }, "YasudaJoho", "Yasuda Joho Co.,ltd." },
+ { { 0xF8, 0x44, 0x77 }, "SiliconLabor", "Silicon Laboratories" },
{ { 0xF8, 0x44, 0xE3 }, "TaicangT&WEl", "Taicang T&W Electronics" },
{ { 0xF8, 0x45, 0xAD }, "KonkaGroup", "Konka Group Co., Ltd." },
{ { 0xF8, 0x45, 0xC4 }, "NetforwardMi", "Shenzhen Netforward Micro-Electronic Co., Ltd." },
@@ -34780,7 +35014,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xF8, 0x5E, 0x42 }, "VantivaUSA", "Vantiva USA LLC" },
{ { 0xF8, 0x5E, 0xA0 }, "Intel", "Intel Corporate" },
{ { 0xF8, 0x5F, 0x2A }, "Nokia", "Nokia Corporation" },
- { { 0xF8, 0x60, 0xF0 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xF8, 0x60, 0xF0 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xF8, 0x62, 0x14 }, "Apple", "Apple, Inc." },
{ { 0xF8, 0x62, 0xAA }, "xn", "xn systems" },
{ { 0xF8, 0x63, 0x3F }, "Intel", "Intel Corporate" },
@@ -35007,6 +35241,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xF8, 0xF4, 0x64 }, "RaweElectoni", "Rawe Electonic GmbH" },
{ { 0xF8, 0xF5, 0x19 }, "Rulogic", "Rulogic Inc." },
{ { 0xF8, 0xF5, 0x32 }, "ARRISGroup", "ARRIS Group, Inc." },
+ { { 0xF8, 0xF5, 0x8C }, "Apple", "Apple, Inc." },
{ { 0xF8, 0xF7, 0xB9 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" },
{ { 0xF8, 0xF7, 0xD3 }, "Internationa", "International Communications Corporation" },
{ { 0xF8, 0xF7, 0xFF }, "SynTech", "Syn-Tech Systems Inc" },
@@ -35213,7 +35448,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xFC, 0x7C, 0xE7 }, "FciUsa", "Fci Usa Llc" },
{ { 0xFC, 0x7D, 0x6C }, "HYESUNGTECHW", "HYESUNG TECHWIN Co., Ltd" },
{ { 0xFC, 0x7F, 0x56 }, "CoSystContro", "CoSyst Control Systems GmbH" },
- { { 0xFC, 0x7F, 0xF1 }, "ArubaHewlett", "Aruba, a Hewlett Packard Enterprise Company" },
+ { { 0xFC, 0x7F, 0xF1 }, "HewlettPacka", "Hewlett Packard Enterprise" },
{ { 0xFC, 0x83, 0x29 }, "Treitechnics", "Trei technics" },
{ { 0xFC, 0x83, 0x99 }, "Avaya", "Avaya Inc" },
{ { 0xFC, 0x83, 0xC6 }, "NRadioTechno", "N-Radio Technologies Co., Ltd." },
@@ -35291,6 +35526,7 @@ static const manuf_oui24_t global_manuf_oui24_table[] = {
{ { 0xFC, 0xB0, 0xDE }, "CloudNetwork", "Cloud Network Technology Singapore Pte. Ltd." },
{ { 0xFC, 0xB1, 0x0D }, "TianKunTechn", "Shenzhen Tian Kun Technology Co.,LTD." },
{ { 0xFC, 0xB2, 0xD6 }, "CigShanghai", "Cig Shanghai Co Ltd" },
+ { { 0xFC, 0xB3, 0x87 }, "LeapmotorNew", "Leapmotor (Jinhua) New Energy Vehicle Parts Technology Co., Ltd." },
{ { 0xFC, 0xB3, 0xBC }, "Intel", "Intel Corporate" },
{ { 0xFC, 0xB4, 0x67 }, "Espressif", "Espressif Inc." },
{ { 0xFC, 0xB4, 0xE6 }, "AskeyCompute", "Askey Computer Corp" },
@@ -35708,6 +35944,21 @@ static const manuf_oui28_t global_manuf_oui28_table[] = {
{ { 0x10, 0x54, 0xD2, 0xC0 }, "LUXSHAREICT", "LUXSHARE-ICT Co., Ltd." },
{ { 0x10, 0x54, 0xD2, 0xD0 }, "Sunwealthtec", "Sun wealth technology corporation limited" },
{ { 0x10, 0x54, 0xD2, 0xE0 }, "CosmoAiotTec", "Cosmo Aiot Technology Co Ltd" },
+ { { 0x10, 0x63, 0xA3, 0x00 }, "ChangshaSunv", "Changsha Sunvote Limited" },
+ { { 0x10, 0x63, 0xA3, 0x10 }, "JacobsTechno", "Jacobs Technology, Inc." },
+ { { 0x10, 0x63, 0xA3, 0x20 }, "SichuanPuhui", "Sichuan Puhui Zhida Communication Equipment Co. Ltd." },
+ { { 0x10, 0x63, 0xA3, 0x30 }, "NextvisionSt", "Nextvision Stabilized Systems LTD" },
+ { { 0x10, 0x63, 0xA3, 0x40 }, "GantechETech", "Gantech E Technologies Private Limited" },
+ { { 0x10, 0x63, 0xA3, 0x50 }, "LianxinTechn", "Lianxin (Dalian) Technology Co.,Ltd" },
+ { { 0x10, 0x63, 0xA3, 0x60 }, "MorganSchaff", "Morgan Schaffer" },
+ { { 0x10, 0x63, 0xA3, 0x70 }, "NRS", "NRS Co., Ltd." },
+ { { 0x10, 0x63, 0xA3, 0x80 }, "CDElectronic", "Shenzhen C & D Electronics Co., Ltd." },
+ { { 0x10, 0x63, 0xA3, 0x90 }, "Nexite", "Nexite" },
+ { { 0x10, 0x63, 0xA3, 0xA0 }, "ITABShopprod", "ITAB Shop products" },
+ { { 0x10, 0x63, 0xA3, 0xB0 }, "Shenzhenshis", "Shen zhen shi shang mei dian zi shang wu you xian gong si" },
+ { { 0x10, 0x63, 0xA3, 0xC0 }, "FlatPro", "Flat-Pro Llc" },
+ { { 0x10, 0x63, 0xA3, 0xD0 }, "TritonSensor", "Triton Sensors" },
+ { { 0x10, 0x63, 0xA3, 0xE0 }, "Annapurnalab", "Annapurna labs" },
{ { 0x10, 0xDC, 0xB6, 0x00 }, "ApexSupplyCh", "Apex Supply Chain Technologies" },
{ { 0x10, 0xDC, 0xB6, 0x10 }, "HitachiEnerg", "Hitachi Energy Switzerland Ltd" },
{ { 0x10, 0xDC, 0xB6, 0x20 }, "CalCompIndus", "Cal-Comp Industria E Comercio De Eletronicos E Informatica Ltda" },
@@ -36456,7 +36707,7 @@ static const manuf_oui28_t global_manuf_oui28_table[] = {
{ { 0x30, 0x49, 0x50, 0x00 }, "GuangzhouLia", "Guangzhou Lian-med Technology Co.,Ltd." },
{ { 0x30, 0x49, 0x50, 0x10 }, "AtliWorld", "Atli World Limited" },
{ { 0x30, 0x49, 0x50, 0x20 }, "Sercomm", "Sercomm Corporation." },
- { { 0x30, 0x49, 0x50, 0x30 }, "MorganSchaff", "Morgan Schaffer Inc." },
+ { { 0x30, 0x49, 0x50, 0x30 }, "MorganSchaff", "Morgan Schaffer" },
{ { 0x30, 0x49, 0x50, 0x40 }, "AdvancedMicr", "Advanced Microwave Engineering Srl" },
{ { 0x30, 0x49, 0x50, 0x50 }, "IKElektronik", "IK Elektronik GmbH" },
{ { 0x30, 0x49, 0x50, 0x60 }, "Curb", "Curb, Inc." },
@@ -37351,6 +37602,21 @@ static const manuf_oui28_t global_manuf_oui28_table[] = {
{ { 0x58, 0xFC, 0xDB, 0xC0 }, "ExcenonMobil", "Excenon Mobile Technology Co., Ltd." },
{ { 0x58, 0xFC, 0xDB, 0xD0 }, "XiamenLeelen", "Xiamen Leelen Technology Co.,Ltd" },
{ { 0x58, 0xFC, 0xDB, 0xE0 }, "AppliedDevic", "Applied Device Technologies" },
+ { { 0x5C, 0x5A, 0x4C, 0x00 }, "JinchuanGrou", "Jinchuan Group Co.,Ltd" },
+ { { 0x5C, 0x5A, 0x4C, 0x10 }, "OrchidProduc", "Orchid Products Limited" },
+ { { 0x5C, 0x5A, 0x4C, 0x20 }, "ITSPartnerSL", "ITS Partner (O.B.S) S.L." },
+ { { 0x5C, 0x5A, 0x4C, 0x30 }, "Ferroamp", "Ferroamp AB (publ)" },
+ { { 0x5C, 0x5A, 0x4C, 0x40 }, "YihuaCommuni", "Yihua Communications(Huizhou)Co.,Ltd" },
+ { { 0x5C, 0x5A, 0x4C, 0x50 }, "Annapurnalab", "Annapurna labs" },
+ { { 0x5C, 0x5A, 0x4C, 0x60 }, "SunsoontTech", "Shenzhen Sunsoont Technology Co.,Ltd" },
+ { { 0x5C, 0x5A, 0x4C, 0x70 }, "AceComputers", "Ace Computers" },
+ { { 0x5C, 0x5A, 0x4C, 0x80 }, "SpotAI", "Spot AI, Inc." },
+ { { 0x5C, 0x5A, 0x4C, 0x90 }, "LinktechSyst", "Linktech Systerm Technology Co.,Ltd" },
+ { { 0x5C, 0x5A, 0x4C, 0xA0 }, "SkysoftInfo&", "Chengdu Skysoft Info&Tech Co.,Ltd." },
+ { { 0x5C, 0x5A, 0x4C, 0xB0 }, "EsmeSolution", "Esme Solutions" },
+ { { 0x5C, 0x5A, 0x4C, 0xC0 }, "tarm", "tarm AG" },
+ { { 0x5C, 0x5A, 0x4C, 0xD0 }, "Aeva", "Aeva, Inc." },
+ { { 0x5C, 0x5A, 0x4C, 0xE0 }, "AiRider", "Ai-Rider Corporation" },
{ { 0x5C, 0x6A, 0xEC, 0x00 }, "AcuityBrands", "Acuity Brands Lighting" },
{ { 0x5C, 0x6A, 0xEC, 0x10 }, "SmilembbTech", "Shanghai Smilembb Technology Co.,LTD" },
{ { 0x5C, 0x6A, 0xEC, 0x20 }, "MingyueTechn", "Shenzhen Mingyue Technology lnnovation Co.,Ltd" },
@@ -37381,6 +37647,21 @@ static const manuf_oui28_t global_manuf_oui28_table[] = {
{ { 0x5C, 0x85, 0x7E, 0xC0 }, "Annapurnalab", "Annapurna labs" },
{ { 0x5C, 0x85, 0x7E, 0xD0 }, "NautechElect", "Nautech Electronics Ltd" },
{ { 0x5C, 0x85, 0x7E, 0xE0 }, "GuoyiLiangzi", "Guoyi Liangzi (Hefei) Technology Co., Ltd(CIQTEK)" },
+ { { 0x5C, 0x87, 0xD8, 0x00 }, "NanjingShufa", "Nanjing Shufan Information Technology Co., Ltd." },
+ { { 0x5C, 0x87, 0xD8, 0x10 }, "COMETSYSTEMs", "COMET SYSTEM, s.r.o." },
+ { { 0x5C, 0x87, 0xD8, 0x20 }, "Freeus", "Freeus LLC" },
+ { { 0x5C, 0x87, 0xD8, 0x30 }, "BeiensImport", "Shenzhen Beiens Import and Export Co.,Ltd" },
+ { { 0x5C, 0x87, 0xD8, 0x40 }, "TelfiTechnol", "Telfi Technologies Private Limited" },
+ { { 0x5C, 0x87, 0xD8, 0x50 }, "AdvancedInte", "Hangzhou Advanced Intelligent Manufacturing Systems Co.,Ltd." },
+ { { 0x5C, 0x87, 0xD8, 0x60 }, "JianyiTechno", "Shanghai Jianyi Technology Co., Ltd" },
+ { { 0x5C, 0x87, 0xD8, 0x70 }, "TradewindsNe", "Tradewinds Networks Incorporated" },
+ { { 0x5C, 0x87, 0xD8, 0x80 }, "fmadengineer", "fmad engineering" },
+ { { 0x5C, 0x87, 0xD8, 0x90 }, "Annapurnalab", "Annapurna labs" },
+ { { 0x5C, 0x87, 0xD8, 0xA0 }, "PiscisNetwor", "Piscis Networks Private Limited" },
+ { { 0x5C, 0x87, 0xD8, 0xB0 }, "CredoDiagnos", "Credo Diagnostics Biomedical Pte. Ltd. Taiwan branch(SINGAPORE)" },
+ { { 0x5C, 0x87, 0xD8, 0xC0 }, "DragonglassT", "Dragonglass Technology(Shenzhen)Co.,Ltd." },
+ { { 0x5C, 0x87, 0xD8, 0xD0 }, "ZiliaTechnol", "Zilia Technologies" },
+ { { 0x5C, 0x87, 0xD8, 0xE0 }, "TownskyTechn", "Beijing Townsky Technology Co.,Ltd" },
{ { 0x5C, 0xF2, 0x86, 0x00 }, "SignweiElect", "Hangzhou Signwei Electronics Technology Co., Ltd" },
{ { 0x5C, 0xF2, 0x86, 0x10 }, "iSonTech", "iSon Tech" },
{ { 0x5C, 0xF2, 0x86, 0x20 }, "NotionInform", "Shanghai Notion Information Technology CO.,LTD." },
@@ -39621,9 +39902,21 @@ static const manuf_oui28_t global_manuf_oui28_table[] = {
{ { 0xC8, 0xF5, 0xD6, 0xC0 }, "Eltako", "Eltako GmbH" },
{ { 0xC8, 0xF5, 0xD6, 0xD0 }, "Volansystech", "Volansys technologies pvt ltd" },
{ { 0xC8, 0xF5, 0xD6, 0xE0 }, "Heitec", "Heitec Ag" },
+ { { 0xC8, 0xFF, 0xBF, 0x00 }, "HCElectronic", "Shenzhen HC Electronic Technology Co.,LTD" },
+ { { 0xC8, 0xFF, 0xBF, 0x10 }, "robertjuliat", "robert juliat" },
{ { 0xC8, 0xFF, 0xBF, 0x20 }, "CognizantMob", "Cognizant Mobility GmbH" },
+ { { 0xC8, 0xFF, 0xBF, 0x30 }, "Tectoy", "Tectoy S.A" },
{ { 0xC8, 0xFF, 0xBF, 0x40 }, "Jingyibeifan", "Beijing Jingyibeifang Instrument Co.,Ltd." },
+ { { 0xC8, 0xFF, 0xBF, 0x50 }, "ChongqingZhi", "Chongqing Zhizhu Huaxin Technology Co.,Ltd" },
+ { { 0xC8, 0xFF, 0xBF, 0x60 }, "AccuphyTechn", "Accuphy Technologies Beijing Ltd" },
+ { { 0xC8, 0xFF, 0xBF, 0x70 }, "IndraRenewab", "Indra Renewable Technologies" },
+ { { 0xC8, 0xFF, 0xBF, 0x80 }, "FengrundaTec", "Shenzhen Fengrunda Technology Co.,Ltd" },
+ { { 0xC8, 0xFF, 0xBF, 0x90 }, "ShandongWans", "Shandong Wanshuo Optoelectronic Equipment Co.,Ltd" },
{ { 0xC8, 0xFF, 0xBF, 0xA0 }, "MaestroFood", "Maestro Food Co." },
+ { { 0xC8, 0xFF, 0xBF, 0xB0 }, "PubliBike", "PubliBike SA" },
+ { { 0xC8, 0xFF, 0xBF, 0xC0 }, "DensityIO", "Density.IO" },
+ { { 0xC8, 0xFF, 0xBF, 0xD0 }, "ALDESDomNexX", "ALDES DomNexX" },
+ { { 0xC8, 0xFF, 0xBF, 0xE0 }, "HtItalia", "Ht Italia Srl" },
{ { 0xCC, 0x1B, 0xE0, 0x00 }, "MicrotechSys", "Microtech System,Inc" },
{ { 0xCC, 0x1B, 0xE0, 0x10 }, "Daotongtianx", "Beijing Daotongtianxia Co.Ltd." },
{ { 0xCC, 0x1B, 0xE0, 0x20 }, "iTrinetech", "i-Trinetech Co.,Ltd." },
@@ -40219,6 +40512,15 @@ static const manuf_oui28_t global_manuf_oui28_table[] = {
{ { 0xE8, 0xFF, 0x1E, 0xC0 }, "FracarroRadi", "Fracarro Radioindustrie Srl" },
{ { 0xE8, 0xFF, 0x1E, 0xD0 }, "AZWTechnolog", "Shenzhen AZW Technology Co., Ltd." },
{ { 0xE8, 0xFF, 0x1E, 0xE0 }, "kstarScience", "Shenzhen kstar Science & Technology Co., Ltd" },
+ { { 0xEC, 0x5B, 0xCD, 0x20 }, "SferaLabs", "Sfera Labs S.r.l." },
+ { { 0xEC, 0x5B, 0xCD, 0x30 }, "HefeiBOEVisi", "Hefei BOE Vision-electronic Technology Co.,Ltd." },
+ { { 0xEC, 0x5B, 0xCD, 0x50 }, "QunfangTechn", "Shenzhen Qunfang Technology Co., LTD." },
+ { { 0xEC, 0x5B, 0xCD, 0x70 }, "Annapurnalab", "Annapurna labs" },
+ { { 0xEC, 0x5B, 0xCD, 0x90 }, "C&DTechnolog", "C&D Technologies" },
+ { { 0xEC, 0x5B, 0xCD, 0xA0 }, "CareSix", "CareSix Inc." },
+ { { 0xEC, 0x5B, 0xCD, 0xB0 }, "StepOver", "StepOver GmbH" },
+ { { 0xEC, 0x5B, 0xCD, 0xC0 }, "Quicklert", "Quicklert Inc" },
+ { { 0xEC, 0x5B, 0xCD, 0xD0 }, "ASHIDAElectr", "ASHIDA Electronics Pvt. Ltd" },
{ { 0xEC, 0x9A, 0x0C, 0x00 }, "HexindaSuppl", "Shenzhen Hexinda Supply Chain Management Co.Ltd" },
{ { 0xEC, 0x9A, 0x0C, 0x10 }, "NaxiangTechn", "Shenzhen Naxiang Technology Co., Ltd" },
{ { 0xEC, 0x9A, 0x0C, 0x20 }, "YitoaDigital", "Shenzhen Yitoa Digital Technology Co., Ltd." },
@@ -40459,6 +40761,21 @@ static const manuf_oui28_t global_manuf_oui28_table[] = {
{ { 0xF8, 0x1D, 0x78, 0xC0 }, "ShenzhuoyueT", "Shenzhuoyue Technology.,Ltd" },
{ { 0xF8, 0x1D, 0x78, 0xD0 }, "Tofino", "Tofino" },
{ { 0xF8, 0x1D, 0x78, 0xE0 }, "EnokCommunic", "Guangdong Enok Communication Co., Ltd." },
+ { { 0xF8, 0x7A, 0x39, 0x00 }, "YongxieTechn", "Hangzhou Yongxie Technology Co., Ltd" },
+ { { 0xF8, 0x7A, 0x39, 0x10 }, "JiemuElectro", "Hangzhou Jiemu Electronic Technology Co.,Ltd" },
+ { { 0xF8, 0x7A, 0x39, 0x20 }, "TotaloneTECH", "Total-one TECHNOLOGY CO., LTD." },
+ { { 0xF8, 0x7A, 0x39, 0x30 }, "Overview", "Overview Limited" },
+ { { 0xF8, 0x7A, 0x39, 0x40 }, "Zsystemtechn", "Zsystem technology co.," },
+ { { 0xF8, 0x7A, 0x39, 0x50 }, "tatwah", "tatwah SA" },
+ { { 0xF8, 0x7A, 0x39, 0x60 }, "Annapurnalab", "Annapurna labs" },
+ { { 0xF8, 0x7A, 0x39, 0x70 }, "ElectronTech", "Shenzhen Electron Technology Co., LTD." },
+ { { 0xF8, 0x7A, 0x39, 0x80 }, "ZhongyuanYis", "Beijing Zhongyuan Yishang Technology Co.,LTD" },
+ { { 0xF8, 0x7A, 0x39, 0x90 }, "Shenzhenshil", "Shenzhenshilemaikejiyouxiangongsi" },
+ { { 0xF8, 0x7A, 0x39, 0xA0 }, "FeltrinIndus", "Feltrin Industria E Comercio" },
+ { { 0xF8, 0x7A, 0x39, 0xB0 }, "FuyanshengEl", "FuyanshengElectronicFujian Co.ltd" },
+ { { 0xF8, 0x7A, 0x39, 0xC0 }, "FlextronicsI", "Flextronics International Kft" },
+ { { 0xF8, 0x7A, 0x39, 0xD0 }, "XiamenTonmin", "Xiamen Tonmind Technology Co.,Ltd" },
+ { { 0xF8, 0x7A, 0x39, 0xE0 }, "Cognosos", "Cognosos, Inc." },
{ { 0xF8, 0x8A, 0x3C, 0x00 }, "Art", "Art Spa" },
{ { 0xF8, 0x8A, 0x3C, 0x10 }, "CarefreeColo", "Carefree of Colorado" },
{ { 0xF8, 0x8A, 0x3C, 0x20 }, "KLATUNetwork", "KLATU Networks Inc" },
@@ -41518,7 +41835,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x00, 0x50, 0xC2, 0x30, 0xB0 }, "VXTechnologi", "VX Technologies Inc." },
{ { 0x00, 0x50, 0xC2, 0x30, 0xC0 }, "Teamlog", "Teamlog" },
{ { 0x00, 0x50, 0xC2, 0x30, 0xD0 }, "Setaram", "Setaram" },
- { { 0x00, 0x50, 0xC2, 0x30, 0xE0 }, "Obvius", "Obvius" },
+ { { 0x00, 0x50, 0xC2, 0x30, 0xE0 }, "LevitonManuf", "Leviton Manufacturing Co., Inc" },
{ { 0x00, 0x50, 0xC2, 0x30, 0xF0 }, "Digicontrole", "Digicontrole Lda" },
{ { 0x00, 0x50, 0xC2, 0x31, 0x00 }, "Cybertron", "Cybertron Co., Ltd." },
{ { 0x00, 0x50, 0xC2, 0x31, 0x10 }, "Comodo", "Comodo" },
@@ -42994,7 +43311,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x00, 0x50, 0xC2, 0x8D, 0x10 }, "BachmannMoni", "Bachmann Monitoring GmbH" },
{ { 0x00, 0x50, 0xC2, 0x8D, 0x20 }, "TTi", "TTi Ltd" },
{ { 0x00, 0x50, 0xC2, 0x8D, 0x30 }, "IFAM", "IFAM GmbH" },
- { { 0x00, 0x50, 0xC2, 0x8D, 0x40 }, "InternetProt", "Internet Protocolo Lógica SL" },
+ { { 0x00, 0x50, 0xC2, 0x8D, 0x40 }, "InternetProt", "Internet Protocolo Logica Sl" },
{ { 0x00, 0x50, 0xC2, 0x8D, 0x50 }, "PeekTraffic", "Peek Traffic Corp" },
{ { 0x00, 0x50, 0xC2, 0x8D, 0x60 }, "UltraVisionS", "UltraVision Security Systems, Inc." },
{ { 0x00, 0x50, 0xC2, 0x8D, 0x70 }, "PolygonInfor", "Polygon Informatics Ltd." },
@@ -43648,7 +43965,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x00, 0x50, 0xC2, 0xB5, 0xF0 }, "NorthBridgeT", "North Bridge Technologies" },
{ { 0x00, 0x50, 0xC2, 0xB6, 0x00 }, "OooNpfAtis", "Ooo Npf Atis" },
{ { 0x00, 0x50, 0xC2, 0xB6, 0x10 }, "Nayos", "Nayos LTD" },
- { { 0x00, 0x50, 0xC2, 0xB6, 0x20 }, "MeasurementT", "Measurement Technology NW" },
+ { { 0x00, 0x50, 0xC2, 0xB6, 0x20 }, "RuggedContro", "Rugged Controls" },
{ { 0x00, 0x50, 0xC2, 0xB6, 0x30 }, "ROVERLaborat", "RO.VE.R. Laboratories S.p.A" },
{ { 0x00, 0x50, 0xC2, 0xB6, 0x40 }, "FEWBauer", "FEW Bauer GmbH" },
{ { 0x00, 0x50, 0xC2, 0xB6, 0x50 }, "PeekTraffic", "Peek Traffic Corporation" },
@@ -45799,7 +46116,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x70, 0xB3, 0xD5, 0x1F, 0x40 }, "WoosiyuanCom", "Hangzhou Woosiyuan Communication Co.,Ltd." },
{ { 0x70, 0xB3, 0xD5, 0x1F, 0x50 }, "Martec", "Martec S.p.A." },
{ { 0x70, 0xB3, 0xD5, 0x1F, 0x60 }, "LinkAVTechno", "LinkAV Technology Co., Ltd" },
- { { 0x70, 0xB3, 0xD5, 0x1F, 0x70 }, "MorganSchaff", "Morgan Schaffer Inc." },
+ { { 0x70, 0xB3, 0xD5, 0x1F, 0x70 }, "MorganSchaff", "Morgan Schaffer" },
{ { 0x70, 0xB3, 0xD5, 0x1F, 0x80 }, "ConvergentDe", "Convergent Design" },
{ { 0x70, 0xB3, 0xD5, 0x1F, 0x90 }, "Automata", "Automata GmbH & Co. KG" },
{ { 0x70, 0xB3, 0xD5, 0x1F, 0xA0 }, "EBZSysTec", "EBZ SysTec GmbH" },
@@ -47274,7 +47591,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x70, 0xB3, 0xD5, 0x7B, 0xF0 }, "StoneThree", "Stone Three" },
{ { 0x70, 0xB3, 0xD5, 0x7C, 0x00 }, "TorgovyyDomT", "Torgovyy Dom Tehnologiy Llc" },
{ { 0x70, 0xB3, 0xD5, 0x7C, 0x10 }, "DataSciences", "Data Sciences International" },
- { { 0x70, 0xB3, 0xD5, 0x7C, 0x20 }, "MorganSchaff", "Morgan Schaffer Inc." },
+ { { 0x70, 0xB3, 0xD5, 0x7C, 0x20 }, "MorganSchaff", "Morgan Schaffer" },
{ { 0x70, 0xB3, 0xD5, 0x7C, 0x30 }, "FleximSecuri", "Flexim Security Oy" },
{ { 0x70, 0xB3, 0xD5, 0x7C, 0x40 }, "Mect", "Mect Srl" },
{ { 0x70, 0xB3, 0xD5, 0x7C, 0x50 }, "ProjectsUnli", "Projects Unlimited Inc." },
@@ -47638,7 +47955,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x70, 0xB3, 0xD5, 0x92, 0xC0 }, "DismuntelSal", "Dismuntel Sal" },
{ { 0x70, 0xB3, 0xD5, 0x92, 0xD0 }, "SuzhouWanson", "Suzhou Wansong Electric Co.,Ltd" },
{ { 0x70, 0xB3, 0xD5, 0x92, 0xE0 }, "MedicalMonit", "Medical Monitoring Center OOD" },
- { { 0x70, 0xB3, 0xD5, 0x92, 0xF0 }, "SiFive", "SiFive" },
+ { { 0x70, 0xB3, 0xD5, 0x92, 0xF0 }, "SiFive", "SiFive Inc" },
{ { 0x70, 0xB3, 0xD5, 0x93, 0x00 }, "InstituteMin", "The Institute of Mine Seismology" },
{ { 0x70, 0xB3, 0xD5, 0x93, 0x10 }, "MarineInstru", "Marine Instruments, S.A." },
{ { 0x70, 0xB3, 0xD5, 0x93, 0x20 }, "Rohde&Schwar", "Rohde&Schwarz Topex SA" },
@@ -49381,12 +49698,15 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0x00, 0x90 }, "Converging", "Converging Systems Inc." },
{ { 0x8C, 0x1F, 0x64, 0x00, 0xA0 }, "TaskUnite", "TaskUnite Inc. (dba AMPAworks)" },
{ { 0x8C, 0x1F, 0x64, 0x00, 0xC0 }, "GuanShowTech", "Guan Show Technologe Co., Ltd." },
+ { { 0x8C, 0x1F, 0x64, 0x00, 0xD0 }, "T4ISp", "T4I Sp. z o.o." },
{ { 0x8C, 0x1F, 0x64, 0x01, 0x10 }, "DEUTAWERKE", "DEUTA-WERKE GmbH" },
{ { 0x8C, 0x1F, 0x64, 0x01, 0x40 }, "CristalContr", "Cristal Controles Ltee" },
+ { { 0x8C, 0x1F, 0x64, 0x01, 0x60 }, "SigntelCommu", "Signtel Communications Pvt Ltd" },
{ { 0x8C, 0x1F, 0x64, 0x01, 0x70 }, "Farmote", "Farmote Limited" },
{ { 0x8C, 0x1F, 0x64, 0x01, 0xA0 }, "Paragraf", "Paragraf" },
{ { 0x8C, 0x1F, 0x64, 0x01, 0xE0 }, "SCIREQScient", "SCIREQ Scientific Respiratory Equipment Inc" },
{ { 0x8C, 0x1F, 0x64, 0x02, 0x00 }, "UtthungaTech", "Utthunga Techologies Pvt Ltd" },
+ { { 0x8C, 0x1F, 0x64, 0x02, 0x20 }, "TelicaTeleco", "Telica Telecom Private Limited" },
{ { 0x8C, 0x1F, 0x64, 0x02, 0x40 }, "ShinNihonDen", "Shin Nihon Denshi Co., Ltd." },
{ { 0x8C, 0x1F, 0x64, 0x02, 0x50 }, "SMITEC", "SMITEC S.p.A." },
{ { 0x8C, 0x1F, 0x64, 0x02, 0x80 }, "eyrise", "eyrise B.V." },
@@ -49476,6 +49796,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0x0E, 0xE0 }, "RichSourcePr", "Rich Source Precision IND., Co., LTD." },
{ { 0x8C, 0x1F, 0x64, 0x0E, 0xF0 }, "Dave", "Dave Srl" },
{ { 0x8C, 0x1F, 0x64, 0x0F, 0x00 }, "Xylon", "Xylon" },
+ { { 0x8C, 0x1F, 0x64, 0x0F, 0x10 }, "ideaForgeTec", "ideaForge Technology Limited" },
{ { 0x8C, 0x1F, 0x64, 0x0F, 0x20 }, "GraphimeccGr", "Graphimecc Group SRL" },
{ { 0x8C, 0x1F, 0x64, 0x0F, 0x30 }, "Lsi", "Lsi" },
{ { 0x8C, 0x1F, 0x64, 0x0F, 0x40 }, "AWSOMTechnol", "AW-SOM Technologies LLC" },
@@ -49493,11 +49814,13 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0x11, 0x30 }, "TimberlineMa", "Timberline Manufacturing" },
{ { 0x8C, 0x1F, 0x64, 0x11, 0x40 }, "SanminaSCIMe", "Sanmina SCI Medical" },
{ { 0x8C, 0x1F, 0x64, 0x11, 0x50 }, "NeuralogLP", "Neuralog LP" },
+ { { 0x8C, 0x1F, 0x64, 0x11, 0x60 }, "Sicon", "Sicon srl" },
{ { 0x8C, 0x1F, 0x64, 0x11, 0x70 }, "Grossenbache", "Grossenbacher Systeme AG" },
{ { 0x8C, 0x1F, 0x64, 0x11, 0x80 }, "Automata", "Automata GmbH & Co. KG" },
{ { 0x8C, 0x1F, 0x64, 0x11, 0x90 }, "FoxconnTechn", "Foxconn Technology Co., Ltd." },
{ { 0x8C, 0x1F, 0x64, 0x11, 0xE0 }, "InfosoftDigi", "Infosoft Digital Design and Services P L" },
{ { 0x8C, 0x1F, 0x64, 0x11, 0xF0 }, "NodeUDesign", "NodeUDesign" },
+ { { 0x8C, 0x1F, 0x64, 0x12, 0x50 }, "ScienerSmart", "Hangzhou Sciener Smart Technology Co., Ltd." },
{ { 0x8C, 0x1F, 0x64, 0x12, 0x60 }, "HarvestTechn", "Harvest Technology Pty Ltd" },
{ { 0x8C, 0x1F, 0x64, 0x12, 0x80 }, "YulistaInteg", "Yulista Integrated Solution" },
{ { 0x8C, 0x1F, 0x64, 0x12, 0x90 }, "NavtechRadar", "Navtech Radar Ltd." },
@@ -49507,6 +49830,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0x13, 0x50 }, "YuvalFichman", "Yuval Fichman" },
{ { 0x8C, 0x1F, 0x64, 0x13, 0x80 }, "Vissavisp", "Vissavi sp. z o.o." },
{ { 0x8C, 0x1F, 0x64, 0x13, 0xC0 }, "SiFive", "SiFive Inc" },
+ { { 0x8C, 0x1F, 0x64, 0x13, 0xE0 }, "BtecIndustri", "Btec Industrial Instrument Sdn. Bhd." },
{ { 0x8C, 0x1F, 0x64, 0x13, 0xF0 }, "Elsist", "Elsist Srl" },
{ { 0x8C, 0x1F, 0x64, 0x14, 0x10 }, "CodeBlue", "Code Blue Corporation" },
{ { 0x8C, 0x1F, 0x64, 0x14, 0x40 }, "LangfangENNl", "Langfang ENN lntelligent Technology Co.,Ltd." },
@@ -49530,12 +49854,15 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0x17, 0x00 }, "FracarroRadi", "Fracarro Radioindustrie Srl" },
{ { 0x8C, 0x1F, 0x64, 0x17, 0x70 }, "Emcom", "Emcom Systems" },
{ { 0x8C, 0x1F, 0x64, 0x17, 0x90 }, "Agrowtek", "Agrowtek Inc." },
+ { { 0x8C, 0x1F, 0x64, 0x17, 0xB0 }, "BavariaDigit", "Bavaria Digital Technik GmbH" },
{ { 0x8C, 0x1F, 0x64, 0x17, 0xC0 }, "Zelp", "Zelp Ltd" },
{ { 0x8C, 0x1F, 0x64, 0x17, 0xE0 }, "MI", "MI Inc." },
{ { 0x8C, 0x1F, 0x64, 0x18, 0x70 }, "Sicon", "Sicon srl" },
{ { 0x8C, 0x1F, 0x64, 0x18, 0xB0 }, "MPulse", "M-Pulse GmbH & Co.KG" },
{ { 0x8C, 0x1F, 0x64, 0x19, 0x30 }, "Sicon", "Sicon srl" },
{ { 0x8C, 0x1F, 0x64, 0x19, 0x40 }, "Tiflex", "Tiflex" },
+ { { 0x8C, 0x1F, 0x64, 0x19, 0x50 }, "VERIDASDigit", "VERIDAS Digital Authentication Solutions S.L" },
+ { { 0x8C, 0x1F, 0x64, 0x19, 0x60 }, "Secuinfo", "Secuinfo Co.Ltd" },
{ { 0x8C, 0x1F, 0x64, 0x19, 0x70 }, "TEKVOX", "TEKVOX, Inc" },
{ { 0x8C, 0x1F, 0x64, 0x19, 0xB0 }, "FeedFlo", "FeedFlo" },
{ { 0x8C, 0x1F, 0x64, 0x19, 0xC0 }, "Aton", "Aton srl" },
@@ -49583,9 +49910,11 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0x20, 0xD0 }, "Grossenbache", "Grossenbacher Systeme AG" },
{ { 0x8C, 0x1F, 0x64, 0x20, 0xE0 }, "AlphaBridgeT", "Alpha Bridge Technologies Private Limited" },
{ { 0x8C, 0x1F, 0x64, 0x21, 0x10 }, "BipomElectro", "Bipom Electronics, Inc." },
+ { { 0x8C, 0x1F, 0x64, 0x21, 0x50 }, "XLOGIC", "XLOGIC srl" },
{ { 0x8C, 0x1F, 0x64, 0x21, 0x90 }, "GuangzhouDes", "Guangzhou Desam Audio Co.,Ltd" },
{ { 0x8C, 0x1F, 0x64, 0x21, 0xC0 }, "LLCEMSExpert", "LLC \"EMS-Expert\"" },
{ { 0x8C, 0x1F, 0x64, 0x21, 0xE0 }, "Bionetics", "The Bionetics Corporation" },
+ { { 0x8C, 0x1F, 0x64, 0x22, 0x10 }, "YuansiangOpt", "Yuansiang Optoelectronics Co.,Ltd." },
{ { 0x8C, 0x1F, 0x64, 0x22, 0x40 }, "PHBEletronic", "PHB Eletronica Ltda." },
{ { 0x8C, 0x1F, 0x64, 0x22, 0x70 }, "Digilens", "Digilens" },
{ { 0x8C, 0x1F, 0x64, 0x22, 0xD0 }, "KaysonsElect", "Kaysons Electricals Private Limited" },
@@ -49607,6 +49936,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0x25, 0xC0 }, "TimeMachines", "TimeMachines Inc." },
{ { 0x8C, 0x1F, 0x64, 0x25, 0xE0 }, "R2Sonic", "R2Sonic, LLC" },
{ { 0x8C, 0x1F, 0x64, 0x25, 0xF0 }, "Acuris", "Acuris Inc" },
+ { { 0x8C, 0x1F, 0x64, 0x26, 0x00 }, "Ealarms", "E-alarms" },
{ { 0x8C, 0x1F, 0x64, 0x26, 0x30 }, "EPCPower", "EPC Power Corporation" },
{ { 0x8C, 0x1F, 0x64, 0x26, 0x40 }, "BRVossIngenj", "BR. Voss Ingenjörsfirma AB" },
{ { 0x8C, 0x1F, 0x64, 0x26, 0x70 }, "KarlDUNGS", "Karl DUNGS GmbH & Co. KG" },
@@ -49726,6 +50056,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0x37, 0x50 }, "Duevi", "Duevi Srl" },
{ { 0x8C, 0x1F, 0x64, 0x37, 0x60 }, "DIASInfrared", "DIAS Infrared GmbH" },
{ { 0x8C, 0x1F, 0x64, 0x37, 0x80 }, "sparPowerTec", "spar Power Technologies Inc." },
+ { { 0x8C, 0x1F, 0x64, 0x37, 0xE0 }, "SIDUSSolutio", "SIDUS Solutions, LLC" },
{ { 0x8C, 0x1F, 0x64, 0x37, 0xF0 }, "ScarletTech", "Scarlet Tech Co., Ltd." },
{ { 0x8C, 0x1F, 0x64, 0x38, 0x00 }, "Yslab", "Yslab" },
{ { 0x8C, 0x1F, 0x64, 0x38, 0x20 }, "ROLSTONETech", "Shenzhen ROLSTONE Technology Co., Ltd" },
@@ -49761,6 +50092,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0x3B, 0x70 }, "AiBlox", "Ai-Blox" },
{ { 0x8C, 0x1F, 0x64, 0x3B, 0x80 }, "HubrisTechno", "Hubris Technologies Private Limited" },
{ { 0x8C, 0x1F, 0x64, 0x3B, 0xB0 }, "ClausalCompu", "Clausal Computing Oy" },
+ { { 0x8C, 0x1F, 0x64, 0x3B, 0xD0 }, "Oriux", "Oriux" },
{ { 0x8C, 0x1F, 0x64, 0x3C, 0x10 }, "SuzhouLiansh", "Suzhou Lianshichuangzhi Technology Co., Ltd" },
{ { 0x8C, 0x1F, 0x64, 0x3C, 0x40 }, "NavSysTechno", "NavSys Technology Inc." },
{ { 0x8C, 0x1F, 0x64, 0x3C, 0x50 }, "StratisIOT", "Stratis IOT" },
@@ -49770,10 +50102,12 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0x3C, 0xE0 }, "MahindrMahin", "Mahindr & Mahindra" },
{ { 0x8C, 0x1F, 0x64, 0x3D, 0x00 }, "Tripltek", "Tripltek" },
{ { 0x8C, 0x1F, 0x64, 0x3D, 0x10 }, "EMIT", "EMIT GmbH" },
+ { { 0x8C, 0x1F, 0x64, 0x3D, 0x20 }, "UVIRCOTechno", "UVIRCO Technologies" },
{ { 0x8C, 0x1F, 0x64, 0x3D, 0x40 }, "epgElettroni", "e.p.g. Elettronica s.r.l." },
{ { 0x8C, 0x1F, 0x64, 0x3D, 0x50 }, "FRAKOKondens", "FRAKO Kondensatoren- und Anlagenbau GmbH" },
{ { 0x8C, 0x1F, 0x64, 0x3D, 0x90 }, "UnlimitedBan", "Unlimited Bandwidth LLC" },
{ { 0x8C, 0x1F, 0x64, 0x3E, 0x00 }, "YPP", "YPP Corporation" },
+ { { 0x8C, 0x1F, 0x64, 0x3E, 0x20 }, "Agrico", "Agrico" },
{ { 0x8C, 0x1F, 0x64, 0x3E, 0x30 }, "FMTecFutureM", "FMTec GmbH - Future Management Technologies" },
{ { 0x8C, 0x1F, 0x64, 0x3E, 0x50 }, "SystemsMecha", "Systems Mechanics" },
{ { 0x8C, 0x1F, 0x64, 0x3E, 0x60 }, "elbeinformat", "elbe informatik GmbH" },
@@ -49845,6 +50179,8 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0x4A, 0x10 }, "BreasMedical", "Breas Medical AB" },
{ { 0x8C, 0x1F, 0x64, 0x4A, 0x20 }, "Bludigit", "Bludigit SpA" },
{ { 0x8C, 0x1F, 0x64, 0x4A, 0x60 }, "AlaireTechno", "Alaire Technologies Inc" },
+ { { 0x8C, 0x1F, 0x64, 0x4A, 0x70 }, "PotterElectr", "Potter Electric Signal Co. LLC" },
+ { { 0x8C, 0x1F, 0x64, 0x4A, 0x80 }, "ExactScience", "Exact Sciences" },
{ { 0x8C, 0x1F, 0x64, 0x4A, 0x90 }, "MartecMarine", "Martec Marine S.p.a." },
{ { 0x8C, 0x1F, 0x64, 0x4A, 0xC0 }, "Vekto", "Vekto" },
{ { 0x8C, 0x1F, 0x64, 0x4A, 0xE0 }, "KCS", "KCS Co., Ltd." },
@@ -49868,6 +50204,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0x4E, 0x90 }, "EersGlobalTe", "Eers Global Technologies Inc." },
{ { 0x8C, 0x1F, 0x64, 0x4E, 0xC0 }, "XORUK", "XOR UK Corporation Limited" },
{ { 0x8C, 0x1F, 0x64, 0x4F, 0x00 }, "TielineResea", "Tieline Research Pty Ltd" },
+ { { 0x8C, 0x1F, 0x64, 0x4F, 0x10 }, "AbbottDiagno", "Abbott Diagnostics Technologies AS" },
{ { 0x8C, 0x1F, 0x64, 0x4F, 0x70 }, "SmartDTechno", "SmartD Technologies Inc" },
{ { 0x8C, 0x1F, 0x64, 0x4F, 0x90 }, "PhotonicScie", "Photonic Science and Engineering Ltd" },
{ { 0x8C, 0x1F, 0x64, 0x4F, 0xA0 }, "Sanskruti", "Sanskruti" },
@@ -49887,6 +50224,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0x51, 0x70 }, "SmartRadarSy", "Smart Radar System, Inc" },
{ { 0x8C, 0x1F, 0x64, 0x51, 0x80 }, "WagnerGroup", "Wagner Group GmbH" },
{ { 0x8C, 0x1F, 0x64, 0x52, 0x10 }, "MPSENSOR", "MP-SENSOR GmbH" },
+ { { 0x8C, 0x1F, 0x64, 0x52, 0x40 }, "AskiIndustri", "Aski Industrie Elektronik GmbH" },
{ { 0x8C, 0x1F, 0x64, 0x52, 0x50 }, "UnitedStates", "United States Technologies Inc." },
{ { 0x8C, 0x1F, 0x64, 0x52, 0xA0 }, "HiwinMikrosy", "Hiwin Mikrosystem Corp." },
{ { 0x8C, 0x1F, 0x64, 0x52, 0xD0 }, "CubicITSdbaG", "Cubic ITS, Inc. dba GRIDSMART Technologies" },
@@ -49918,6 +50256,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0x55, 0xC0 }, "Schildknecht", "Schildknecht AG" },
{ { 0x8C, 0x1F, 0x64, 0x55, 0xE0 }, "Hanateksyste", "Hanateksystem" },
{ { 0x8C, 0x1F, 0x64, 0x56, 0x00 }, "DexterLaundr", "Dexter Laundry Inc." },
+ { { 0x8C, 0x1F, 0x64, 0x56, 0x10 }, "DeepDetectio", "Deep Detection / ESB01736990" },
{ { 0x8C, 0x1F, 0x64, 0x56, 0xB0 }, "Avida", "Avida, Inc." },
{ { 0x8C, 0x1F, 0x64, 0x56, 0xC0 }, "ELTEK", "ELTEK SpA" },
{ { 0x8C, 0x1F, 0x64, 0x56, 0xD0 }, "Acod", "Acod" },
@@ -49929,8 +50268,11 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0x57, 0xA0 }, "NPOECOINTECH", "NPO ECO-INTECH Ltd." },
{ { 0x8C, 0x1F, 0x64, 0x57, 0xB0 }, "PotterElectr", "Potter Electric Signal Company" },
{ { 0x8C, 0x1F, 0x64, 0x57, 0xD0 }, "ISDI", "ISDI Ltd" },
+ { { 0x8C, 0x1F, 0x64, 0x58, 0x00 }, "SAKURASEIKI", "SAKURA SEIKI Co., Ltd." },
{ { 0x8C, 0x1F, 0x64, 0x58, 0x10 }, "SpectraDynam", "SpectraDynamics, Inc." },
+ { { 0x8C, 0x1F, 0x64, 0x58, 0x50 }, "DIDONIndustr", "Shanghai DIDON Industry Co,. Ltd." },
{ { 0x8C, 0x1F, 0x64, 0x58, 0x90 }, "Hvrnd", "Hvrnd" },
+ { { 0x8C, 0x1F, 0x64, 0x58, 0xB0 }, "QuectelWirel", "Quectel Wireless Solutions Co.,Ltd." },
{ { 0x8C, 0x1F, 0x64, 0x58, 0xC0 }, "EarMicro", "Ear Micro LLC" },
{ { 0x8C, 0x1F, 0x64, 0x58, 0xE0 }, "NovantaIMS", "Novanta IMS" },
{ { 0x8C, 0x1F, 0x64, 0x59, 0x10 }, "MBconnectlin", "MB connect line GmbH Fernwartungssysteme" },
@@ -49942,6 +50284,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0x5A, 0x60 }, "KinneyIndust", "Kinney Industries, Inc" },
{ { 0x8C, 0x1F, 0x64, 0x5A, 0x70 }, "Rch", "Rch Spa" },
{ { 0x8C, 0x1F, 0x64, 0x5A, 0x90 }, "AktiebolagSo", "Aktiebolag Solask Energi" },
+ { { 0x8C, 0x1F, 0x64, 0x5A, 0xA0 }, "LandisGyrEqu", "Landis+Gyr Equipamentos de Medição Ltda" },
{ { 0x8C, 0x1F, 0x64, 0x5A, 0xC0 }, "YUYAMAMFG", "YUYAMA MFG Co.,Ltd" },
{ { 0x8C, 0x1F, 0x64, 0x5A, 0xE0 }, "SuzhouMotorc", "Suzhou Motorcomm Electronic Technology Co., Ltd" },
{ { 0x8C, 0x1F, 0x64, 0x5A, 0xF0 }, "TeqDiligentP", "Teq Diligent Product Solutions Pvt. Ltd." },
@@ -49971,6 +50314,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0x5E, 0x50 }, "Telemetrics", "Telemetrics Inc." },
{ { 0x8C, 0x1F, 0x64, 0x5E, 0x60 }, "OdysseeSyste", "Odyssee-Systemes" },
{ { 0x8C, 0x1F, 0x64, 0x5E, 0x70 }, "HOSCHGebäude", "HOSCH Gebäude Automation Neue Produkte GmbH" },
+ { { 0x8C, 0x1F, 0x64, 0x5E, 0x80 }, "SternaSecuri", "Sterna Security Devices Pvt Ltd" },
{ { 0x8C, 0x1F, 0x64, 0x5E, 0xA0 }, "BTGInstrumen", "BTG Instruments AB" },
{ { 0x8C, 0x1F, 0x64, 0x5E, 0xB0 }, "Tiama", "Tiama" },
{ { 0x8C, 0x1F, 0x64, 0x5E, 0xC0 }, "NvBekaert", "Nv Bekaert Sa" },
@@ -49978,6 +50322,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0x5F, 0x50 }, "HongSeok", "HongSeok Ltd." },
{ { 0x8C, 0x1F, 0x64, 0x5F, 0x70 }, "EagleHarborT", "Eagle Harbor Technologies, Inc." },
{ { 0x8C, 0x1F, 0x64, 0x5F, 0xA0 }, "PolCamSp", "PolCam Systems Sp. z o.o." },
+ { { 0x8C, 0x1F, 0x64, 0x5F, 0xB0 }, "Recom", "Recom Llc." },
{ { 0x8C, 0x1F, 0x64, 0x5F, 0xC0 }, "LanceDesign", "Lance Design LLC" },
{ { 0x8C, 0x1F, 0x64, 0x60, 0x00 }, "AnhuiChaokun", "Anhui Chaokun Testing Equipment Co., Ltd" },
{ { 0x8C, 0x1F, 0x64, 0x60, 0x10 }, "Camius", "Camius" },
@@ -50006,6 +50351,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0x63, 0x60 }, "EuropeTrade", "Europe Trade" },
{ { 0x8C, 0x1F, 0x64, 0x63, 0x80 }, "ThunderDataT", "Thunder Data Taiwan Co., Ltd." },
{ { 0x8C, 0x1F, 0x64, 0x63, 0xB0 }, "Tiama", "Tiama" },
+ { { 0x8C, 0x1F, 0x64, 0x63, 0xC0 }, "Galios", "Galios" },
{ { 0x8C, 0x1F, 0x64, 0x63, 0xD0 }, "RaxTechInter", "Rax-Tech International" },
{ { 0x8C, 0x1F, 0x64, 0x63, 0xF0 }, "PreoIndustri", "Preo Industries Far East Ltd" },
{ { 0x8C, 0x1F, 0x64, 0x64, 0x10 }, "biosilver", "biosilver.co.,ltd" },
@@ -50028,6 +50374,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0x66, 0x40 }, "Thermoeye", "Thermoeye Inc" },
{ { 0x8C, 0x1F, 0x64, 0x66, 0xC0 }, "LineagePower", "Lineage Power Pvt Ltd.," },
{ { 0x8C, 0x1F, 0x64, 0x66, 0xD0 }, "Vt100", "Vt100 Srl" },
+ { { 0x8C, 0x1F, 0x64, 0x66, 0xE0 }, "Monnit", "Monnit Corporation" },
{ { 0x8C, 0x1F, 0x64, 0x66, 0xF0 }, "Elix", "Elix Systems SA" },
{ { 0x8C, 0x1F, 0x64, 0x67, 0x20 }, "Farmobile", "Farmobile LLC" },
{ { 0x8C, 0x1F, 0x64, 0x67, 0x30 }, "MEDIASCOPE", "MEDIASCOPE Inc." },
@@ -50040,10 +50387,12 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0x67, 0xE0 }, "LDAAudiotech", "LDA Audiotech" },
{ { 0x8C, 0x1F, 0x64, 0x67, 0xF0 }, "HamamatsuPho", "Hamamatsu Photonics K.K." },
{ { 0x8C, 0x1F, 0x64, 0x68, 0x30 }, "Slat", "Slat" },
- { { 0x8C, 0x1F, 0x64, 0x68, 0x50 }, "SancharCommu", "Sanchar Communication Systems" },
+ { { 0x8C, 0x1F, 0x64, 0x68, 0x50 }, "SancharWirel", "Sanchar Wireless Communications Ltd" },
+ { { 0x8C, 0x1F, 0x64, 0x68, 0xC0 }, "GuangZhouHOK", "GuangZhou HOKO Electric CO.,LTD" },
{ { 0x8C, 0x1F, 0x64, 0x69, 0x10 }, "WendeTan", "Wende Tan" },
{ { 0x8C, 0x1F, 0x64, 0x69, 0x20 }, "NexilisElect", "Nexilis Electronics India Pvt Ltd (PICSYS)" },
{ { 0x8C, 0x1F, 0x64, 0x69, 0x40 }, "HubbellPower", "Hubbell Power Systems" },
+ { { 0x8C, 0x1F, 0x64, 0x69, 0x50 }, "aeroLiFi", "aeroLiFi GmbH" },
{ { 0x8C, 0x1F, 0x64, 0x69, 0x60 }, "EmersonRosem", "Emerson Rosemount Analytical" },
{ { 0x8C, 0x1F, 0x64, 0x69, 0x70 }, "Sontay", "Sontay Ltd." },
{ { 0x8C, 0x1F, 0x64, 0x69, 0x80 }, "ArcusEDS", "Arcus-EDS GmbH" },
@@ -50092,6 +50441,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0x70, 0xB0 }, "Onicon", "Onicon" },
{ { 0x8C, 0x1F, 0x64, 0x70, 0xE0 }, "OvercomTech", "OvercomTech" },
{ { 0x8C, 0x1F, 0x64, 0x71, 0x20 }, "NexionDataPL", "Nexion Data Systems P/L" },
+ { { 0x8C, 0x1F, 0x64, 0x71, 0x50 }, "InternetProt", "Internet Protocolo Logica Sl" },
{ { 0x8C, 0x1F, 0x64, 0x71, 0x80 }, "Abb", "Abb" },
{ { 0x8C, 0x1F, 0x64, 0x71, 0xB0 }, "Adasky", "Adasky Ltd." },
{ { 0x8C, 0x1F, 0x64, 0x71, 0xD0 }, "Epigonspolsr", "Epigon spol. s r.o." },
@@ -50101,6 +50451,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0x72, 0x60 }, "Dave", "Dave Srl" },
{ { 0x8C, 0x1F, 0x64, 0x72, 0xA0 }, "DorletSau", "Dorlet Sau" },
{ { 0x8C, 0x1F, 0x64, 0x72, 0xC0 }, "Antaitechnol", "Antai technology Co.,Ltd" },
+ { { 0x8C, 0x1F, 0x64, 0x72, 0xD0 }, "HillsHealthS", "Hills Health Solutions" },
{ { 0x8C, 0x1F, 0x64, 0x73, 0x10 }, "ehoosys", "ehoosys Co.,LTD." },
{ { 0x8C, 0x1F, 0x64, 0x73, 0x30 }, "VideoNetwork", "Video Network Security" },
{ { 0x8C, 0x1F, 0x64, 0x73, 0x70 }, "VytahyVymysl", "Vytahy-Vymyslicky s.r.o." },
@@ -50121,6 +50472,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0x75, 0x50 }, "FlextronicsI", "Flextronics International Kft" },
{ { 0x8C, 0x1F, 0x64, 0x75, 0x60 }, "StarInternat", "Star Systems International Limited" },
{ { 0x8C, 0x1F, 0x64, 0x75, 0x90 }, "Systel", "Systel Inc" },
+ { { 0x8C, 0x1F, 0x64, 0x75, 0xC0 }, "AmericanEner", "American Energy Storage Innovations" },
{ { 0x8C, 0x1F, 0x64, 0x75, 0xF0 }, "ASTRACOM", "ASTRACOM Co. Ltd" },
{ { 0x8C, 0x1F, 0x64, 0x76, 0x00 }, "QLightAS", "Q-Light AS" },
{ { 0x8C, 0x1F, 0x64, 0x76, 0x20 }, "SupportProfe", "Support Professionals B.V." },
@@ -50187,6 +50539,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0x7E, 0x70 }, "robertjuliat", "robert juliat" },
{ { 0x8C, 0x1F, 0x64, 0x7E, 0xC0 }, "Methods2Busi", "Methods2Business B.V." },
{ { 0x8C, 0x1F, 0x64, 0x7E, 0xE0 }, "OrangePrecis", "Orange Precision Measurement LLC" },
+ { { 0x8C, 0x1F, 0x64, 0x7E, 0xF0 }, "SAXOGYPOWERE", "SAXOGY POWER ELECTRONICS GmbH" },
{ { 0x8C, 0x1F, 0x64, 0x7F, 0x10 }, "AEMSingapore", "AEM Singapore Pte Ltd" },
{ { 0x8C, 0x1F, 0x64, 0x7F, 0x40 }, "GMInternatio", "G.M. International srl" },
{ { 0x8C, 0x1F, 0x64, 0x7F, 0x80 }, "FleetSafeInd", "FleetSafe India Private Limited" },
@@ -50256,11 +50609,13 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0x8A, 0x80 }, "Massachusett", "Massachusetts Institute of Technology" },
{ { 0x8C, 0x1F, 0x64, 0x8A, 0x90 }, "GuanShowTech", "Guan Show Technologe Co., Ltd." },
{ { 0x8C, 0x1F, 0x64, 0x8A, 0xA0 }, "ForeverEngin", "Forever Engineering Systems Pvt. Ltd." },
+ { { 0x8C, 0x1F, 0x64, 0x8A, 0xB0 }, "AsmlUsLp", "Asml Us, Lp" },
{ { 0x8C, 0x1F, 0x64, 0x8A, 0xC0 }, "BOZHONPrecis", "BOZHON Precision Industry Technology Co.,Ltd" },
{ { 0x8C, 0x1F, 0x64, 0x8A, 0xE0 }, "QunfangTechn", "Shenzhen Qunfang Technology Co., LTD." },
{ { 0x8C, 0x1F, 0x64, 0x8A, 0xF0 }, "Ibeos", "Ibeos" },
{ { 0x8C, 0x1F, 0x64, 0x8B, 0x20 }, "AbbottDiagno", "Abbott Diagnostics Technologies AS" },
{ { 0x8C, 0x1F, 0x64, 0x8B, 0x50 }, "AshtonBentle", "Ashton Bentley Collaboration Spaces" },
+ { { 0x8C, 0x1F, 0x64, 0x8B, 0x60 }, "AXISSp", "AXIS Sp z o.o." },
{ { 0x8C, 0x1F, 0x64, 0x8B, 0x80 }, "WienEnergie", "Wien Energie GmbH" },
{ { 0x8C, 0x1F, 0x64, 0x8B, 0x90 }, "ZynexMonitor", "Zynex Monitoring Solutions" },
{ { 0x8C, 0x1F, 0x64, 0x8C, 0x20 }, "Cirrus", "Cirrus Systems, Inc." },
@@ -50273,6 +50628,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0x8D, 0x40 }, "RecabSweden", "Recab Sweden AB" },
{ { 0x8C, 0x1F, 0x64, 0x8D, 0x50 }, "Agramkow", "Agramkow A/S" },
{ { 0x8C, 0x1F, 0x64, 0x8D, 0x60 }, "ADCGlobalTec", "ADC Global Technology Sdn Bhd" },
+ { { 0x8C, 0x1F, 0x64, 0x8D, 0x80 }, "Mbv", "Mbv Ag" },
{ { 0x8C, 0x1F, 0x64, 0x8D, 0x90 }, "PietroFioren", "Pietro Fiorentini Spa" },
{ { 0x8C, 0x1F, 0x64, 0x8D, 0xA0 }, "Dart", "Dart Systems Ltd" },
{ { 0x8C, 0x1F, 0x64, 0x8D, 0xE0 }, "IconetServic", "Iconet Services" },
@@ -50402,10 +50758,12 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0x9F, 0xF0 }, "Satelles", "Satelles Inc" },
{ { 0x8C, 0x1F, 0x64, 0xA0, 0x00 }, "BITECHNIK", "BITECHNIK GmbH" },
{ { 0x8C, 0x1F, 0x64, 0xA0, 0x10 }, "GuanShowTech", "Guan Show Technologe Co., Ltd." },
+ { { 0x8C, 0x1F, 0x64, 0xA0, 0x60 }, "secutech", "secutech Co.,Ltd." },
{ { 0x8C, 0x1F, 0x64, 0xA0, 0x70 }, "GJDManufactu", "GJD Manufacturing" },
{ { 0x8C, 0x1F, 0x64, 0xA0, 0xA0 }, "WiseTechInte", "Shanghai Wise-Tech Intelligent Technology Co.,Ltd." },
{ { 0x8C, 0x1F, 0x64, 0xA0, 0xD0 }, "LumiplanDuha", "Lumiplan Duhamel" },
{ { 0x8C, 0x1F, 0x64, 0xA0, 0xE0 }, "ElacAmericas", "Elac Americas Inc." },
+ { { 0x8C, 0x1F, 0x64, 0xA1, 0x20 }, "FUJIHENSOKUK", "FUJIHENSOKUKI Co., Ltd." },
{ { 0x8C, 0x1F, 0x64, 0xA1, 0x30 }, "INVENTIASp", "INVENTIA Sp. z o.o." },
{ { 0x8C, 0x1F, 0x64, 0xA1, 0xB0 }, "Zilica", "Zilica Limited" },
{ { 0x8C, 0x1F, 0x64, 0xA1, 0xF0 }, "HitachiEnerg", "Hitachi Energy India Limited" },
@@ -50444,9 +50802,11 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0xA8, 0x10 }, "3Dperception", "3D perception AS" },
{ { 0x8C, 0x1F, 0x64, 0xA8, 0x30 }, "EkspertStroy", "EkspertStroyProekt" },
{ { 0x8C, 0x1F, 0x64, 0xA8, 0x40 }, "WenriseTechn", "Beijing Wenrise Technology Co., Ltd." },
+ { { 0x8C, 0x1F, 0x64, 0xA8, 0x60 }, "GlobalDesign", "Global Design Tech(ZS) Co.,Ltd" },
{ { 0x8C, 0x1F, 0x64, 0xA8, 0x70 }, "MorgenTechno", "Morgen Technology" },
{ { 0x8C, 0x1F, 0x64, 0xA8, 0x90 }, "MitsubishiEl", "Mitsubishi Electric India Pvt. Ltd." },
{ { 0x8C, 0x1F, 0x64, 0xA9, 0x10 }, "InfinitiveGr", "Infinitive Group Limited" },
+ { { 0x8C, 0x1F, 0x64, 0xA9, 0x20 }, "AgrologyPBC", "Agrology, PBC" },
{ { 0x8C, 0x1F, 0x64, 0xA9, 0x40 }, "Futurewaveul", "Future wave ultra tech Company" },
{ { 0x8C, 0x1F, 0x64, 0xA9, 0x70 }, "Integerpl", "Integer.pl S.A." },
{ { 0x8C, 0x1F, 0x64, 0xA9, 0x80 }, "JacobsTechno", "Jacobs Technology, Inc." },
@@ -50454,6 +50814,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0xA9, 0xB0 }, "OvideMaudetS", "Ovide Maudet SL" },
{ { 0x8C, 0x1F, 0x64, 0xA9, 0xC0 }, "UpstartPower", "Upstart Power" },
{ { 0x8C, 0x1F, 0x64, 0xA9, 0xE0 }, "OptimumInstr", "Optimum Instruments Inc." },
+ { { 0x8C, 0x1F, 0x64, 0xAA, 0x00 }, "FlextronicsI", "Flextronics International Kft" },
{ { 0x8C, 0x1F, 0x64, 0xAA, 0x30 }, "PeterHuberKa", "Peter Huber Kaeltemaschinenbau SE" },
{ { 0x8C, 0x1F, 0x64, 0xAA, 0x40 }, "HEINENELEKTR", "HEINEN ELEKTRONIK GmbH" },
{ { 0x8C, 0x1F, 0x64, 0xAA, 0x80 }, "axelife", "axelife" },
@@ -50525,6 +50886,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0xB4, 0x60 }, "PhygitallSol", "Phygitall Soluções Em Internet Das Coisas" },
{ { 0x8C, 0x1F, 0x64, 0xB4, 0x70 }, "LineagePower", "Lineage Power Pvt Ltd.," },
{ { 0x8C, 0x1F, 0x64, 0xB4, 0xC0 }, "PicocomTechn", "Picocom Technology Ltd" },
+ { { 0x8C, 0x1F, 0x64, 0xB4, 0xF0 }, "VaunixTechno", "Vaunix Technology Corporation" },
{ { 0x8C, 0x1F, 0x64, 0xB5, 0x50 }, "SancharTeles", "Sanchar Telesystems limited" },
{ { 0x8C, 0x1F, 0x64, 0xB5, 0x60 }, "Arcvideo", "Arcvideo" },
{ { 0x8C, 0x1F, 0x64, 0xB5, 0xA0 }, "YUYAMAMFG", "YUYAMA MFG Co.,Ltd" },
@@ -50562,6 +50924,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0xBB, 0x20 }, "GrupoEpelsaS", "Grupo Epelsa S.L." },
{ { 0x8C, 0x1F, 0x64, 0xBB, 0x30 }, "ZarucTecnolo", "Zaruc Tecnologia LTDA" },
{ { 0x8C, 0x1F, 0x64, 0xBB, 0x70 }, "JiangxiLvCCh", "Jiangxi Lv C-Chong Charging Technology Co.Ltd" },
+ { { 0x8C, 0x1F, 0x64, 0xBB, 0x90 }, "SmartDTechno", "SmartD Technologies Inc" },
{ { 0x8C, 0x1F, 0x64, 0xBB, 0xC0 }, "Liberator", "Liberator Pty Ltd" },
{ { 0x8C, 0x1F, 0x64, 0xBB, 0xE0 }, "AirScandbaHe", "AirScan, Inc. dba HemaTechnologies" },
{ { 0x8C, 0x1F, 0x64, 0xBB, 0xF0 }, "Retency", "Retency" },
@@ -50574,6 +50937,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0xBC, 0xB0 }, "A&T", "A&T Corporation" },
{ { 0x8C, 0x1F, 0x64, 0xBC, 0xC0 }, "SoundHealth", "Sound Health Systems" },
{ { 0x8C, 0x1F, 0x64, 0xBC, 0xE0 }, "BESOsp", "BESO sp. z o.o." },
+ { { 0x8C, 0x1F, 0x64, 0xBD, 0x20 }, "attocube", "attocube systems AG" },
{ { 0x8C, 0x1F, 0x64, 0xBD, 0x30 }, "IOMasterTech", "IO Master Technology" },
{ { 0x8C, 0x1F, 0x64, 0xBD, 0x50 }, "ProCustomGro", "Pro-Custom Group" },
{ { 0x8C, 0x1F, 0x64, 0xBD, 0x60 }, "NOVAProducts", "NOVA Products GmbH" },
@@ -50582,6 +50946,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0xBE, 0x30 }, "Reo", "Reo Ag" },
{ { 0x8C, 0x1F, 0x64, 0xBE, 0x80 }, "Technologies", "Technologies Bacmove Inc." },
{ { 0x8C, 0x1F, 0x64, 0xBE, 0xE0 }, "Sirius", "Sirius LLC" },
+ { { 0x8C, 0x1F, 0x64, 0xBE, 0xF0 }, "TriumphSEC", "Triumph SEC" },
{ { 0x8C, 0x1F, 0x64, 0xBF, 0x00 }, "Newtec", "Newtec A/S" },
{ { 0x8C, 0x1F, 0x64, 0xBF, 0x10 }, "SohaJin", "Soha Jin" },
{ { 0x8C, 0x1F, 0x64, 0xBF, 0x20 }, "YujunElectri", "Yujun Electricity Industry Co., Ltd" },
@@ -50630,6 +50995,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0xC4, 0x20 }, "SdOptics", "Sd Optics" },
{ { 0x8C, 0x1F, 0x64, 0xC4, 0x30 }, "SmartlogTech", "Shenzhen Smartlog Technologies Co.,Ltd" },
{ { 0x8C, 0x1F, 0x64, 0xC4, 0x40 }, "SyprisElectr", "Sypris Electronics" },
+ { { 0x8C, 0x1F, 0x64, 0xC4, 0x50 }, "FlextroincsI", "Flextroincs International (Taiwain Ltd" },
{ { 0x8C, 0x1F, 0x64, 0xC4, 0xA0 }, "SGiTechnolog", "SGi Technology Group Ltd." },
{ { 0x8C, 0x1F, 0x64, 0xC4, 0xC0 }, "LumiplanDuha", "Lumiplan Duhamel" },
{ { 0x8C, 0x1F, 0x64, 0xC5, 0x00 }, "Spacee", "Spacee" },
@@ -50639,6 +51005,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0xC5, 0x70 }, "StrategicRob", "Strategic Robotic Systems" },
{ { 0x8C, 0x1F, 0x64, 0xC5, 0x90 }, "Tunstall", "Tunstall A/S" },
{ { 0x8C, 0x1F, 0x64, 0xC5, 0xD0 }, "AlfaProximad", "Alfa Proxima d.o.o." },
+ { { 0x8C, 0x1F, 0x64, 0xC5, 0xE0 }, "YUYAMAMFG", "YUYAMA MFG Co.,Ltd" },
{ { 0x8C, 0x1F, 0x64, 0xC6, 0x10 }, "CeresdateTec", "Beijing Ceresdate Technology Co.,LTD" },
{ { 0x8C, 0x1F, 0x64, 0xC6, 0x20 }, "GMI", "GMI Ltd" },
{ { 0x8C, 0x1F, 0x64, 0xC6, 0x40 }, "Ajeco", "Ajeco Oy" },
@@ -50649,6 +51016,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0xC7, 0x10 }, "Yaviar", "Yaviar LLC" },
{ { 0x8C, 0x1F, 0x64, 0xC7, 0xB0 }, "FreedomAtlan", "Freedom Atlantic" },
{ { 0x8C, 0x1F, 0x64, 0xC7, 0xC0 }, "MERKLESchwei", "MERKLE Schweissanlagen-Technik GmbH" },
+ { { 0x8C, 0x1F, 0x64, 0xC7, 0xD0 }, "GlassonElect", "Glasson Electronics Ltd" },
{ { 0x8C, 0x1F, 0x64, 0xC8, 0x00 }, "VECOSEurope", "VECOS Europe B.V." },
{ { 0x8C, 0x1F, 0x64, 0xC8, 0x10 }, "TaolinkTechn", "Taolink Technologies Corporation" },
{ { 0x8C, 0x1F, 0x64, 0xC8, 0x30 }, "PowerElectro", "Power Electronics Espana, S.L." },
@@ -50657,6 +51025,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0xC8, 0xF0 }, "JWFroehlichM", "JW Froehlich Maschinenfabrik GmbH" },
{ { 0x8C, 0x1F, 0x64, 0xC9, 0x10 }, "SoehnleIndus", "Soehnle Industrial Solutions GmbH" },
{ { 0x8C, 0x1F, 0x64, 0xC9, 0x20 }, "EQEarthquake", "EQ Earthquake Ltd." },
+ { { 0x8C, 0x1F, 0x64, 0xC9, 0x60 }, "SmartDataInt", "Smart Data (Shenzhen) Intelligent System Co., Ltd." },
{ { 0x8C, 0x1F, 0x64, 0xC9, 0x70 }, "MagnetPhysik", "Magnet-Physik Dr. Steingroever GmbH" },
{ { 0x8C, 0x1F, 0x64, 0xC9, 0xA0 }, "InfosoftDigi", "Infosoft Digital Design and Services P L" },
{ { 0x8C, 0x1F, 0x64, 0xC9, 0xB0 }, "JMVoithSE", "J.M. Voith SE & Co. KG" },
@@ -50673,6 +51042,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0xCA, 0xF0 }, "BRSSistemasE", "BRS Sistemas Eletrônicos" },
{ { 0x8C, 0x1F, 0x64, 0xCB, 0x20 }, "DyncirSoluçõ", "Dyncir Soluções Tecnológicas Ltda" },
{ { 0x8C, 0x1F, 0x64, 0xCB, 0x50 }, "GamberJohnso", "Gamber-Johnson LLC" },
+ { { 0x8C, 0x1F, 0x64, 0xCB, 0x60 }, "RowanElettro", "Rowan Elettronica Srl" },
{ { 0x8C, 0x1F, 0x64, 0xCB, 0x70 }, "ARKRAYKyotoL", "ARKRAY,Inc.Kyoto Laboratory" },
{ { 0x8C, 0x1F, 0x64, 0xCB, 0x90 }, "iCHaus", "iC-Haus GmbH" },
{ { 0x8C, 0x1F, 0x64, 0xCB, 0xB0 }, "MarisTech", "Maris Tech Ltd." },
@@ -50711,14 +51081,17 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0xD0, 0x90 }, "MinartimeSci", "Minartime(Beijing)Science &Technology Development Co.,Ltd" },
{ { 0x8C, 0x1F, 0x64, 0xD0, 0xE0 }, "Labforge", "Labforge Inc." },
{ { 0x8C, 0x1F, 0x64, 0xD0, 0xF0 }, "Mecco", "Mecco LLC" },
+ { { 0x8C, 0x1F, 0x64, 0xD1, 0x10 }, "Benetel", "Benetel" },
{ { 0x8C, 0x1F, 0x64, 0xD1, 0x30 }, "EYatskoIndiv", "EYatsko Individual" },
{ { 0x8C, 0x1F, 0x64, 0xD1, 0x70 }, "IAltanovagro", "I.S.A. - Altanova group srl" },
+ { { 0x8C, 0x1F, 0x64, 0xD1, 0xB0 }, "AudiodoInter", "Audiodo International AB" },
{ { 0x8C, 0x1F, 0x64, 0xD1, 0xF0 }, "FreeTalkEngi", "Free Talk Engineering Co., Ltd" },
{ { 0x8C, 0x1F, 0x64, 0xD2, 0x00 }, "NASEngineeri", "NAS Engineering PRO" },
{ { 0x8C, 0x1F, 0x64, 0xD2, 0x10 }, "AmetekCts", "Ametek Cts Gmbh" },
{ { 0x8C, 0x1F, 0x64, 0xD2, 0x40 }, "R3IoT", "R3 IoT Ltd." },
{ { 0x8C, 0x1F, 0x64, 0xD2, 0x90 }, "SecureBits", "Secure Bits" },
{ { 0x8C, 0x1F, 0x64, 0xD2, 0xA0 }, "AnteusKft", "Anteus Kft." },
+ { { 0x8C, 0x1F, 0x64, 0xD2, 0xD0 }, "Eskomar", "Eskomar Ltd." },
{ { 0x8C, 0x1F, 0x64, 0xD3, 0x40 }, "Kronotech", "Kronotech Srl" },
{ { 0x8C, 0x1F, 0x64, 0xD3, 0x80 }, "CuuLongTechn", "Cuu Long Technology And Trading Company Limited" },
{ { 0x8C, 0x1F, 0x64, 0xD3, 0xA0 }, "AppliedMater", "Applied Materials" },
@@ -50743,6 +51116,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0xD6, 0x30 }, "Mobileye", "Mobileye" },
{ { 0x8C, 0x1F, 0x64, 0xD6, 0x90 }, "ADiCo", "ADiCo Corporation" },
{ { 0x8C, 0x1F, 0x64, 0xD6, 0xC0 }, "Packetalk", "Packetalk LLC" },
+ { { 0x8C, 0x1F, 0x64, 0xD7, 0x00 }, "BeyondLaser", "Beyond Laser Systems LLC" },
{ { 0x8C, 0x1F, 0x64, 0xD7, 0x30 }, "BRSSistemasE", "BRS Sistemas Eletrônicos" },
{ { 0x8C, 0x1F, 0x64, 0xD7, 0x40 }, "TexComputer", "Tex Computer Srl" },
{ { 0x8C, 0x1F, 0x64, 0xD7, 0x80 }, "HunanOushiEl", "Hunan Oushi Electronic Technology Co.,Ltd" },
@@ -50777,8 +51151,11 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0xDB, 0x90 }, "ErmesElettro", "Ermes Elettronica s.r.l." },
{ { 0x8C, 0x1F, 0x64, 0xDB, 0xA0 }, "ElectronicEq", "Electronic Equipment Company Pvt. Ltd." },
{ { 0x8C, 0x1F, 0x64, 0xDB, 0xD0 }, "GiordanoCont", "Giordano Controls Spa" },
+ { { 0x8C, 0x1F, 0x64, 0xDB, 0xF0 }, "RuggedContro", "Rugged Controls" },
{ { 0x8C, 0x1F, 0x64, 0xDC, 0x00 }, "PigsCanFlyLa", "Pigs Can Fly Labs LLC" },
{ { 0x8C, 0x1F, 0x64, 0xDC, 0x20 }, "ProconElectr", "Procon Electronics Pty Ltd" },
+ { { 0x8C, 0x1F, 0x64, 0xDC, 0x60 }, "R&K", "R&K" },
+ { { 0x8C, 0x1F, 0x64, 0xDC, 0x80 }, "DwdmRu", "Dwdm.Ru Llc" },
{ { 0x8C, 0x1F, 0x64, 0xDC, 0x90 }, "PeterHuberKa", "Peter Huber Kaeltemaschinenbau SE" },
{ { 0x8C, 0x1F, 0x64, 0xDC, 0xA0 }, "Porscheengin", "Porsche engineering" },
{ { 0x8C, 0x1F, 0x64, 0xDD, 0x40 }, "MidlandsTech", "Midlands Technical Co., Ltd." },
@@ -50806,6 +51183,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0xE1, 0x00 }, "ScenarioAuto", "Scenario Automation" },
{ { 0x8C, 0x1F, 0x64, 0xE1, 0x20 }, "PixusTechnol", "Pixus Technologies Inc." },
{ { 0x8C, 0x1F, 0x64, 0xE1, 0x40 }, "Proserv", "Proserv" },
+ { { 0x8C, 0x1F, 0x64, 0xE1, 0x50 }, "Panascaisehf", "Panascais ehf." },
{ { 0x8C, 0x1F, 0x64, 0xE1, 0xA0 }, "DAccessSecur", "DAccess Security Systems P Ltd" },
{ { 0x8C, 0x1F, 0x64, 0xE1, 0xE0 }, "FlextronicsI", "Flextronics International Kft" },
{ { 0x8C, 0x1F, 0x64, 0xE2, 0x10 }, "LGLHTAircraf", "LG-LHT Aircraft Solutions GmbH" },
@@ -50848,6 +51226,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0xE7, 0xC0 }, "AshinneTechn", "Ashinne Technology Co., Ltd" },
{ { 0x8C, 0x1F, 0x64, 0xE8, 0x00 }, "PowerElectro", "Power Electronics Espana, S.L." },
{ { 0x8C, 0x1F, 0x64, 0xE8, 0x60 }, "ComVetia", "ComVetia AG" },
+ { { 0x8C, 0x1F, 0x64, 0xE8, 0xA0 }, "ChangzhouMIT", "Changzhou MITO electronics Technology Co;LTD" },
{ { 0x8C, 0x1F, 0x64, 0xE8, 0xB0 }, "TelevicRail", "Televic Rail GmbH" },
{ { 0x8C, 0x1F, 0x64, 0xE8, 0xD0 }, "Plura", "Plura" },
{ { 0x8C, 0x1F, 0x64, 0xE8, 0xF0 }, "JieChuangHeY", "JieChuang HeYi(Beijing) Technology Co., Ltd." },
@@ -50864,6 +51243,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0xEB, 0x70 }, "DeltaSolutio", "Delta Solutions LLC" },
{ { 0x8C, 0x1F, 0x64, 0xEB, 0x90 }, "KxSTechnolog", "KxS Technologies Oy" },
{ { 0x8C, 0x1F, 0x64, 0xEB, 0xA0 }, "HyveSolution", "Hyve Solutions" },
+ { { 0x8C, 0x1F, 0x64, 0xEB, 0xD0 }, "EspritDigita", "Esprit Digital Ltd" },
{ { 0x8C, 0x1F, 0x64, 0xEB, 0xF0 }, "STEAMIQ", "STEAMIQ, Inc." },
{ { 0x8C, 0x1F, 0x64, 0xEC, 0x10 }, "ActronikaSAS", "Actronika SAS" },
{ { 0x8C, 0x1F, 0x64, 0xEC, 0xC0 }, "BaldwinJimek", "Baldwin Jimek AB" },
@@ -50883,6 +51263,7 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0xEF, 0x50 }, "SigmaDefense", "Sigma Defense Systems LLC" },
{ { 0x8C, 0x1F, 0x64, 0xEF, 0x80 }, "NorthwestCen", "Northwest Central Indiana Community Partnerships Inc dba Wabash Heartland Innovation Network (WHIN)" },
{ { 0x8C, 0x1F, 0x64, 0xEF, 0xB0 }, "Warecube", "Warecube,Inc" },
+ { { 0x8C, 0x1F, 0x64, 0xEF, 0xD0 }, "NovateraTech", "Novatera(Shenzhen)Technologies Co.,Ltd." },
{ { 0x8C, 0x1F, 0x64, 0xF0, 0x40 }, "IoTSecure", "IoTSecure, LLC" },
{ { 0x8C, 0x1F, 0x64, 0xF0, 0x50 }, "PrestonIndus", "Preston Industries dba PolyScience" },
{ { 0x8C, 0x1F, 0x64, 0xF0, 0x80 }, "Advantor", "Advantor Corporation" },
@@ -50936,7 +51317,9 @@ static const manuf_oui36_t global_manuf_oui36_table[] = {
{ { 0x8C, 0x1F, 0x64, 0xF7, 0x80 }, "TernaryResea", "Ternary Research Corporation" },
{ { 0x8C, 0x1F, 0x64, 0xF7, 0x90 }, "YUYAMAMFG", "YUYAMA MFG Co.,Ltd" },
{ { 0x8C, 0x1F, 0x64, 0xF7, 0xA0 }, "SiEngineTech", "SiEngine Technology Co., Ltd." },
+ { { 0x8C, 0x1F, 0x64, 0xF7, 0xC0 }, "GeneralDynam", "General Dynamics IT" },
{ { 0x8C, 0x1F, 0x64, 0xF7, 0xD0 }, "RpgInformati", "Rpg Informatica, S.A." },
+ { { 0x8C, 0x1F, 0x64, 0xF7, 0xF0 }, "VisionSafety", "Vision Systems Safety Tech" },
{ { 0x8C, 0x1F, 0x64, 0xF8, 0x40 }, "KSTtechnolog", "KST technology" },
{ { 0x8C, 0x1F, 0x64, 0xF8, 0x60 }, "INFOSTECH", "INFOSTECH Co., Ltd." },
{ { 0x8C, 0x1F, 0x64, 0xF8, 0x70 }, "FlyElectroni", "Fly Electronic (Shang Hai) Technology Co.,Ltd" },
diff --git a/epan/packet.c b/epan/packet.c
index 5a4c70a1..19b54bc3 100644
--- a/epan/packet.c
+++ b/epan/packet.c
@@ -3165,6 +3165,17 @@ register_heur_dissector_list(const char *name, const int proto)
return sub_dissectors;
}
+void
+deregister_heur_dissector_list(const char *name)
+{
+ heur_dissector_list_t sub_dissectors = find_heur_dissector_list(name);
+ if (sub_dissectors == NULL) {
+ return;
+ }
+
+ g_hash_table_remove(heur_dissector_lists, name);
+}
+
/*
* Register dissectors by name; used if one dissector always calls a
* particular dissector, or if it bases the decision of which dissector
@@ -3429,7 +3440,6 @@ deregister_dissector(const char *name)
g_hash_table_remove(registered_dissectors, name);
g_hash_table_remove(depend_dissector_lists, name);
g_hash_table_foreach(depend_dissector_lists, remove_depend_dissector_ghfunc, (gpointer)name);
- g_hash_table_remove(heur_dissector_lists, name);
destroy_dissector_handle(handle);
}
diff --git a/epan/packet.h b/epan/packet.h
index ecfa85a0..80003c6f 100644
--- a/epan/packet.h
+++ b/epan/packet.h
@@ -471,11 +471,14 @@ typedef struct heur_dtbl_entry {
/** A protocol uses this function to register a heuristic sub-dissector list.
* Call this in the parent dissectors proto_register function.
*
- * @param name the name of this protocol
+ * @param name a unique short name for the list
* @param proto the value obtained when registering the protocol
*/
WS_DLL_PUBLIC heur_dissector_list_t register_heur_dissector_list(const char *name, const int proto);
+/** Deregister a heuristic dissector list by unique short name. */
+void deregister_heur_dissector_list(const char *name);
+
typedef void (*DATFunc_heur) (const gchar *table_name,
struct heur_dtbl_entry *entry, gpointer user_data);
typedef void (*DATFunc_heur_table) (const char *table_name,
diff --git a/epan/pci-ids.c b/epan/pci-ids.c
index f506c147..6758407c 100644
--- a/epan/pci-ids.c
+++ b/epan/pci-ids.c
@@ -6,8 +6,8 @@
*
* List of PCI ID's
*
- * Version: 2024.02.02
- * Date: 2024-02-02 14:41:33
+ * Version: 2024.04.20
+ * Date: 2024-04-20 03:15:02
*
* Maintained by Albert Pool, Martin Mares, and other volunteers from
* the PCI ID Project at https://pci-ids.ucw.cz/.
@@ -609,6 +609,7 @@ static pci_id_t const pci_vid_1000[] = {
{0x1000, 0x0054, 0x1028, 0x1F07, "SAS 5/iR Integrated RAID Controller(0x1028-0x1F07)"},
{0x1000, 0x0054, 0x1028, 0x1F08, "SAS 5/iR Integrated RAID Controller(0x1028-0x1F08)"},
{0x1000, 0x0054, 0x1028, 0x1F09, "SAS 5/iR Adapter RAID Controller(0x1028-0x1F09)"},
+{0x1000, 0x0054, 0x103C, 0x3228, "SAS3080X-HP 8-port PCI-X 133MHz Host Bus Adapter with 2xSFF-8484(0x103C-0x3228)"},
{0x1000, 0x0054, 0x15AD, 0x1976, "SAS Controller(0x15AD-0x1976)"},
{0x1000, 0x0055, 0xFFFF, 0xFFFF, "SAS1068 PCI-X Fusion-MPT SAS(0x0055)"},
{0x1000, 0x0055, 0x1033, 0x8336, "SAS1068(0x1033-0x8336)"},
@@ -917,7 +918,7 @@ static pci_id_t const pci_vid_1000[] = {
{0x1000, 0x0097, 0x1BD4, 0x0026, "12G SAS3008IT RACK(0x1BD4-0x0026)"},
{0x1000, 0x0097, 0x1BD4, 0x0027, "12G SAS3008IMR RACK(0x1BD4-0x0027)"},
{0x1000, 0x0097, 0x1BD4, 0x0028, "12G SAS3008IR RACK(0x1BD4-0x0028)"},
-{0x1000, 0x00A5, 0xFFFF, 0xFFFF, "Fusion-MPT 24GSAS/PCIe SAS40xx(0x00A5)"},
+{0x1000, 0x00A5, 0xFFFF, 0xFFFF, "Fusion-MPT 24GSAS/PCIe SAS40xx/41xx(0x00A5)"},
{0x1000, 0x00A5, 0x1000, 0x4600, "MegaRAID 9670W-16i Tri-Mode Storage Adapter(0x1000-0x4600)"},
{0x1000, 0x00A5, 0x1000, 0x4610, "MegaRAID 9670-24i Tri-Mode Storage Adapter(0x1000-0x4610)"},
{0x1000, 0x00A5, 0x1000, 0x4620, "MegaRAID 9660-16i Tri-Mode Storage Adapter(0x1000-0x4620)"},
@@ -3858,6 +3859,7 @@ static pci_id_t const pci_vid_1002[] = {
{0x1002, 0x699F, 0xFFFF, 0xFFFF, "Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X](0x699F)"},
{0x1002, 0x699F, 0x1028, 0x1720, "Radeon RX 550X(0x1028-0x1720)"},
{0x1002, 0x699F, 0x148C, 0x2380, "Lexa XL [Radeon RX 550](0x148C-0x2380)"},
+{0x1002, 0x699F, 0x17AA, 0x5069, "Thinkpad E480/E580(0x17AA-0x5069)"},
{0x1002, 0x699F, 0x1DA2, 0xE367, "Lexa PRO [Radeon RX 550](0x1DA2-0xE367)"},
{0x1002, 0x69A0, 0xFFFF, 0xFFFF, "Vega 12(0x69A0)"},
{0x1002, 0x69A1, 0xFFFF, 0xFFFF, "Vega 12(0x69A1)"},
@@ -4039,6 +4041,7 @@ static pci_id_t const pci_vid_1002[] = {
{0x1002, 0x73A3, 0xFFFF, 0xFFFF, "Navi 21 GL-XL [Radeon PRO W6800](0x73A3)"},
{0x1002, 0x73A4, 0xFFFF, 0xFFFF, "Navi 21 USB(0x73A4)"},
{0x1002, 0x73A5, 0xFFFF, 0xFFFF, "Navi 21 [Radeon RX 6950 XT](0x73A5)"},
+{0x1002, 0x73A5, 0x1002, 0x0E3A, "Radeon RX 6950 XT(0x1002-0x0E3A)"},
{0x1002, 0x73A5, 0x1849, 0x5230, "Navi 21 [ASRock OC Forumla Radeon RX 6950XT](0x1849-0x5230)"},
{0x1002, 0x73A5, 0x1DA2, 0x441D, "Navi 21 [Sapphire Nitro+ Radeon RX 6950 XT](0x1DA2-0x441D)"},
{0x1002, 0x73A5, 0x1EAE, 0x6950, "Navi 21 [XFX Speedster MERC319 Radeon RX 6950 XT](0x1EAE-0x6950)"},
@@ -4068,6 +4071,7 @@ static pci_id_t const pci_vid_1002[] = {
{0x1002, 0x73DF, 0x1DA2, 0x465E, "Radeon RX 6750 XT PULSE OC(0x1DA2-0x465E)"},
{0x1002, 0x73DF, 0x1DA2, 0xE445, "Sapphire Radeon RX 6700(0x1DA2-0xE445)"},
{0x1002, 0x73DF, 0x1EAE, 0x6601, "Speedster QICK 319 RX 6700 XT(0x1EAE-0x6601)"},
+{0x1002, 0x73DF, 0x1EAE, 0x661A, "Radeon RX 6700 [SPEEDSTER SWFT 309](0x1EAE-0x661A)"},
{0x1002, 0x73E0, 0xFFFF, 0xFFFF, "Navi 23(0x73E0)"},
{0x1002, 0x73E1, 0xFFFF, 0xFFFF, "Navi 23 WKS-XM [Radeon PRO W6600M](0x73E1)"},
{0x1002, 0x73E3, 0xFFFF, 0xFFFF, "Navi 23 WKS-XL [Radeon PRO W6600](0x73E3)"},
@@ -5793,6 +5797,7 @@ static pci_id_t const pci_vid_1022[] = {
{0x1022, 0x9609, 0xFFFF, 0xFFFF, "RS780/RS880 PCI to PCI bridge (PCIE port 5)(0x9609)"},
{0x1022, 0x960A, 0xFFFF, 0xFFFF, "RS780 PCI to PCI bridge (NB-SB link)(0x960A)"},
{0x1022, 0x960B, 0xFFFF, 0xFFFF, "RS780 PCI to PCI bridge (ext gfx port 1)(0x960B)"},
+{0x1022, 0xB000, 0xFFFF, 0xFFFF, "RAID Bottom Device(0xB000)"},
}; /* pci_vid_1022[] */
static pci_id_t const pci_vid_1023[] = {
@@ -9735,6 +9740,7 @@ static pci_id_t const pci_vid_10B5[] = {
{0x10B5, 0x87D0, 0xFFFF, 0xFFFF, "PEX PCI Express Switch DMA interface(0x87D0)"},
{0x10B5, 0x9016, 0xFFFF, 0xFFFF, "PLX 9016 8-port serial controller(0x9016)"},
{0x10B5, 0x9030, 0xFFFF, 0xFFFF, "PCI9030 32-bit 33MHz PCI <-> IOBus Bridge(0x9030)"},
+{0x10B5, 0x9030, 0x10B5, 0x1205, "Becker & Hickl MSA-1000(0x10B5-0x1205)"},
{0x10B5, 0x9030, 0x10B5, 0x2695, "Hilscher CIF50-PB/DPS Profibus(0x10B5-0x2695)"},
{0x10B5, 0x9030, 0x10B5, 0x2862, "Alpermann+Velte PCL PCI LV (3V/5V): Timecode Reader Board(0x10B5-0x2862)"},
{0x10B5, 0x9030, 0x10B5, 0x2906, "Alpermann+Velte PCI TS (3V/5V): Time Synchronisation Board(0x10B5-0x2906)"},
@@ -9769,7 +9775,13 @@ static pci_id_t const pci_vid_10B5[] = {
{0x10B5, 0x9050, 0x10B5, 0x1067, "IXXAT CAN i165(0x10B5-0x1067)"},
{0x10B5, 0x9050, 0x10B5, 0x114E, "Wasco WITIO PCI168extended(0x10B5-0x114E)"},
{0x10B5, 0x9050, 0x10B5, 0x1169, "Wasco OPTOIO32standard 32 digital in, 32 digital out(0x10B5-0x1169)"},
+{0x10B5, 0x9050, 0x10B5, 0x1171, "Becker & Hickl PMS-400(0x10B5-0x1171)"},
{0x10B5, 0x9050, 0x10B5, 0x1172, "IK220 (Heidenhain)(0x10B5-0x1172)"},
+{0x10B5, 0x9050, 0x10B5, 0x1201, "Becker & Hickl SPC-6x0(0x10B5-0x1201)"},
+{0x10B5, 0x9050, 0x10B5, 0x1202, "Becker & Hickl SPC-7x0(0x10B5-0x1202)"},
+{0x10B5, 0x9050, 0x10B5, 0x1203, "Becker & Hickl MSA-300(0x10B5-0x1203)"},
+{0x10B5, 0x9050, 0x10B5, 0x1206, "Becker & Hickl DCC-100(0x10B5-0x1206)"},
+{0x10B5, 0x9050, 0x10B5, 0x120A, "Becker & Hickl STP-340(0x10B5-0x120A)"},
{0x10B5, 0x9050, 0x10B5, 0x2036, "SatPak GPS(0x10B5-0x2036)"},
{0x10B5, 0x9050, 0x10B5, 0x2221, "Alpermann+Velte PCL PCI LV: Timecode Reader Board(0x10B5-0x2221)"},
{0x10B5, 0x9050, 0x10B5, 0x2273, "SH ARC-PCI SOHARD ARCNET card(0x10B5-0x2273)"},
@@ -9817,6 +9829,11 @@ static pci_id_t const pci_vid_10B5[] = {
{0x10B5, 0x9050, 0xD84D, 0x4078, "EX-4078 2S(16C552) RS-232+1P(0xD84D-0x4078)"},
{0x10B5, 0x9052, 0xFFFF, 0xFFFF, "PCI9052 PCI <-> IOBus Bridge(0x9052)"},
{0x10B5, 0x9054, 0xFFFF, 0xFFFF, "PCI9054 32-bit 33MHz PCI <-> IOBus Bridge(0x9054)"},
+{0x10B5, 0x9054, 0x10B5, 0x1171, "Becker & Hickl PMS-400A(0x10B5-0x1171)"},
+{0x10B5, 0x9054, 0x10B5, 0x1208, "Becker & Hickl SPC-830(0x10B5-0x1208)"},
+{0x10B5, 0x9054, 0x10B5, 0x120E, "Becker & Hickl SPC-930(0x10B5-0x120E)"},
+{0x10B5, 0x9054, 0x10B5, 0x120F, "Becker & Hickl SPC-150(0x10B5-0x120F)"},
+{0x10B5, 0x9054, 0x10B5, 0x1210, "Becker & Hickl DPC-230(0x10B5-0x1210)"},
{0x10B5, 0x9054, 0x10B5, 0x2455, "Wessex Techology PHIL-PCI(0x10B5-0x2455)"},
{0x10B5, 0x9054, 0x10B5, 0x2696, "Innes Corp AM Radcap card(0x10B5-0x2696)"},
{0x10B5, 0x9054, 0x10B5, 0x2717, "Innes Corp Auricon card(0x10B5-0x2717)"},
@@ -12383,6 +12400,9 @@ static pci_id_t const pci_vid_10DE[] = {
{0x10DE, 0x0F02, 0xFFFF, 0xFFFF, "GF108 [GeForce GT 730](0x0F02)"},
{0x10DE, 0x0F03, 0xFFFF, 0xFFFF, "GF108 [GeForce GT 610](0x0F03)"},
{0x10DE, 0x0F06, 0xFFFF, 0xFFFF, "GF108 [GeForce GT 730](0x0F06)"},
+{0x10DE, 0x0FA0, 0xFFFF, 0xFFFF, "GK11x [GK11x_FPGA](0x0FA0)"},
+{0x10DE, 0x0FA5, 0xFFFF, 0xFFFF, "GK11x(0x0FA5)"},
+{0x10DE, 0x0FA7, 0xFFFF, 0xFFFF, "GK11x [Tegra on x86 (PEATRANS)](0x0FA7)"},
{0x10DE, 0x0FB0, 0xFFFF, 0xFFFF, "GM200 High Definition Audio(0x0FB0)"},
{0x10DE, 0x0FB8, 0xFFFF, 0xFFFF, "GP108 High Definition Audio Controller(0x0FB8)"},
{0x10DE, 0x0FB9, 0xFFFF, 0xFFFF, "GP107GL High Definition Audio Controller(0x0FB9)"},
@@ -12392,13 +12412,18 @@ static pci_id_t const pci_vid_10DE[] = {
{0x10DE, 0x0FC0, 0xFFFF, 0xFFFF, "GK107 [GeForce GT 640 OEM](0x0FC0)"},
{0x10DE, 0x0FC1, 0xFFFF, 0xFFFF, "GK107 [GeForce GT 640](0x0FC1)"},
{0x10DE, 0x0FC2, 0xFFFF, 0xFFFF, "GK107 [GeForce GT 630 OEM](0x0FC2)"},
+{0x10DE, 0x0FC4, 0xFFFF, 0xFFFF, "GK107 [D14P1-15](0x0FC4)"},
{0x10DE, 0x0FC5, 0xFFFF, 0xFFFF, "GK107 [GeForce GT 1030](0x0FC5)"},
{0x10DE, 0x0FC6, 0xFFFF, 0xFFFF, "GK107 [GeForce GTX 650](0x0FC6)"},
{0x10DE, 0x0FC6, 0x1043, 0x8428, "GTX650-DC-1GD5(0x1043-0x8428)"},
{0x10DE, 0x0FC8, 0xFFFF, 0xFFFF, "GK107 [GeForce GT 740](0x0FC8)"},
{0x10DE, 0x0FC9, 0xFFFF, 0xFFFF, "GK107 [GeForce GT 730](0x0FC9)"},
+{0x10DE, 0x0FCB, 0xFFFF, 0xFFFF, "GK107 [EXK107](0x0FCB)"},
+{0x10DE, 0x0FCC, 0xFFFF, 0xFFFF, "GK107 [GeForce GT 720](0x0FCC)"},
{0x10DE, 0x0FCD, 0xFFFF, 0xFFFF, "GK107M [GeForce GT 755M](0x0FCD)"},
{0x10DE, 0x0FCE, 0xFFFF, 0xFFFF, "GK107M [GeForce GT 640M LE](0x0FCE)"},
+{0x10DE, 0x0FCF, 0xFFFF, 0xFFFF, "GK107 [GEN3 ESI](0x0FCF)"},
+{0x10DE, 0x0FD0, 0xFFFF, 0xFFFF, "GK107 [NB1G](0x0FD0)"},
{0x10DE, 0x0FD1, 0xFFFF, 0xFFFF, "GK107M [GeForce GT 650M](0x0FD1)"},
{0x10DE, 0x0FD1, 0x1043, 0x1597, "GeForce GT 650M(0x1043-0x1597)"},
{0x10DE, 0x0FD1, 0x1043, 0x15A7, "GeForce GT 650M(0x1043-0x15A7)"},
@@ -12413,10 +12438,15 @@ static pci_id_t const pci_vid_10DE[] = {
{0x10DE, 0x0FD3, 0xFFFF, 0xFFFF, "GK107M [GeForce GT 640M LE](0x0FD3)"},
{0x10DE, 0x0FD4, 0xFFFF, 0xFFFF, "GK107M [GeForce GTX 660M](0x0FD4)"},
{0x10DE, 0x0FD5, 0xFFFF, 0xFFFF, "GK107M [GeForce GT 650M Mac Edition](0x0FD5)"},
-{0x10DE, 0x0FD6, 0xFFFF, 0xFFFF, "GK107M(0x0FD6)"},
+{0x10DE, 0x0FD6, 0xFFFF, 0xFFFF, "GK107M [N13P-GS-W](0x0FD6)"},
+{0x10DE, 0x0FD7, 0xFFFF, 0xFFFF, "GK107 [GK107-GTX](0x0FD7)"},
{0x10DE, 0x0FD8, 0xFFFF, 0xFFFF, "GK107M [GeForce GT 640M Mac Edition](0x0FD8)"},
{0x10DE, 0x0FD9, 0xFFFF, 0xFFFF, "GK107M [GeForce GT 645M](0x0FD9)"},
-{0x10DE, 0x0FDB, 0xFFFF, 0xFFFF, "GK107M(0x0FDB)"},
+{0x10DE, 0x0FDA, 0xFFFF, 0xFFFF, "GK107 [GK107-ES-A1](0x0FDA)"},
+{0x10DE, 0x0FDB, 0xFFFF, 0xFFFF, "GK107 [GK107-ESP-A1](0x0FDB)"},
+{0x10DE, 0x0FDC, 0xFFFF, 0xFFFF, "GK107 [GK107-INT22-A1](0x0FDC)"},
+{0x10DE, 0x0FDD, 0xFFFF, 0xFFFF, "GK107 [GK107-INT11-A1](0x0FDD)"},
+{0x10DE, 0x0FDE, 0xFFFF, 0xFFFF, "GK107 [GK107-ES-KA-E1](0x0FDE)"},
{0x10DE, 0x0FDF, 0xFFFF, 0xFFFF, "GK107M [GeForce GT 740M](0x0FDF)"},
{0x10DE, 0x0FE0, 0xFFFF, 0xFFFF, "GK107M [GeForce GTX 660M Mac Edition](0x0FE0)"},
{0x10DE, 0x0FE1, 0xFFFF, 0xFFFF, "GK107M [GeForce GT 730M](0x0FE1)"},
@@ -12436,6 +12466,7 @@ static pci_id_t const pci_vid_10DE[] = {
{0x10DE, 0x0FED, 0xFFFF, 0xFFFF, "GK107M [GeForce 820M](0x0FED)"},
{0x10DE, 0x0FEE, 0xFFFF, 0xFFFF, "GK107M [GeForce 810M](0x0FEE)"},
{0x10DE, 0x0FEF, 0xFFFF, 0xFFFF, "GK107GL [GRID K340](0x0FEF)"},
+{0x10DE, 0x0FF0, 0xFFFF, 0xFFFF, "GK107 [NB1Q](0x0FF0)"},
{0x10DE, 0x0FF1, 0xFFFF, 0xFFFF, "GK107 [NVS 1000](0x0FF1)"},
{0x10DE, 0x0FF2, 0xFFFF, 0xFFFF, "GK107GL [GRID K1](0x0FF2)"},
{0x10DE, 0x0FF3, 0xFFFF, 0xFFFF, "GK107GL [Quadro K420](0x0FF3)"},
@@ -12946,9 +12977,13 @@ static pci_id_t const pci_vid_10DE[] = {
{0x10DE, 0x11A2, 0xFFFF, 0xFFFF, "GK104M [GeForce GTX 675MX Mac Edition](0x11A2)"},
{0x10DE, 0x11A3, 0xFFFF, 0xFFFF, "GK104M [GeForce GTX 680MX](0x11A3)"},
{0x10DE, 0x11A3, 0x106B, 0x010D, "iMac 13,2(0x106B-0x010D)"},
+{0x10DE, 0x11A4, 0xFFFF, 0xFFFF, "GK104 [GK104-ESA](0x11A4)"},
+{0x10DE, 0x11A5, 0xFFFF, 0xFFFF, "GK104 [GK104-ESA](0x11A5)"},
{0x10DE, 0x11A7, 0xFFFF, 0xFFFF, "GK104M [GeForce GTX 675MX](0x11A7)"},
{0x10DE, 0x11A8, 0xFFFF, 0xFFFF, "GK104GLM [Quadro K5100M](0x11A8)"},
{0x10DE, 0x11A9, 0xFFFF, 0xFFFF, "GK104M [GeForce GTX 870M](0x11A9)"},
+{0x10DE, 0x11AA, 0xFFFF, 0xFFFF, "GK104 [GK104-INT](0x11AA)"},
+{0x10DE, 0x11AC, 0xFFFF, 0xFFFF, "GK104 [GK104-CS](0x11AC)"},
{0x10DE, 0x11AF, 0xFFFF, 0xFFFF, "GK104GLM [GRID IceCube](0x11AF)"},
{0x10DE, 0x11B0, 0xFFFF, 0xFFFF, "GK104GL [GRID K240Q / K260Q vGPU](0x11B0)"},
{0x10DE, 0x11B0, 0x10DE, 0x101A, "GRID K240Q(0x10DE-0x101A)"},
@@ -12966,6 +13001,7 @@ static pci_id_t const pci_vid_10DE[] = {
{0x10DE, 0x11BE, 0xFFFF, 0xFFFF, "GK104GLM [Quadro K3000M](0x11BE)"},
{0x10DE, 0x11BF, 0xFFFF, 0xFFFF, "GK104GL [GRID K2](0x11BF)"},
{0x10DE, 0x11C0, 0xFFFF, 0xFFFF, "GK106 [GeForce GTX 660](0x11C0)"},
+{0x10DE, 0x11C1, 0xFFFF, 0xFFFF, "GK106 [D14P2-30](0x11C1)"},
{0x10DE, 0x11C2, 0xFFFF, 0xFFFF, "GK106 [GeForce GTX 650 Ti Boost](0x11C2)"},
{0x10DE, 0x11C2, 0x1043, 0x845B, "GeForce GTX 650 Ti Boost DirectCU II OC(0x1043-0x845B)"},
{0x10DE, 0x11C2, 0x1462, 0x2874, "GeForce GTX 650 Ti Boost TwinFrozr II OC(0x1462-0x2874)"},
@@ -12981,6 +13017,10 @@ static pci_id_t const pci_vid_10DE[] = {
{0x10DE, 0x11C7, 0xFFFF, 0xFFFF, "GK106 [GeForce GTX 750 Ti](0x11C7)"},
{0x10DE, 0x11C8, 0xFFFF, 0xFFFF, "GK106 [GeForce GTX 650 OEM](0x11C8)"},
{0x10DE, 0x11CB, 0xFFFF, 0xFFFF, "GK106 [GeForce GT 740](0x11CB)"},
+{0x10DE, 0x11D0, 0xFFFF, 0xFFFF, "GK106 [GK106-INT353](0x11D0)"},
+{0x10DE, 0x11D1, 0xFFFF, 0xFFFF, "GK106 [GK106-INT343](0x11D1)"},
+{0x10DE, 0x11D2, 0xFFFF, 0xFFFF, "GK106 [GK106-INT232](0x11D2)"},
+{0x10DE, 0x11D3, 0xFFFF, 0xFFFF, "GK106 [GK106-ES](0x11D3)"},
{0x10DE, 0x11E0, 0xFFFF, 0xFFFF, "GK106M [GeForce GTX 770M](0x11E0)"},
{0x10DE, 0x11E1, 0xFFFF, 0xFFFF, "GK106M [GeForce GTX 765M](0x11E1)"},
{0x10DE, 0x11E2, 0xFFFF, 0xFFFF, "GK106M [GeForce GTX 765M](0x11E2)"},
@@ -12989,6 +13029,7 @@ static pci_id_t const pci_vid_10DE[] = {
{0x10DE, 0x11E7, 0xFFFF, 0xFFFF, "GK106M(0x11E7)"},
{0x10DE, 0x11FA, 0xFFFF, 0xFFFF, "GK106GL [Quadro K4000](0x11FA)"},
{0x10DE, 0x11FC, 0xFFFF, 0xFFFF, "GK106GLM [Quadro K2100M](0x11FC)"},
+{0x10DE, 0x11FF, 0xFFFF, 0xFFFF, "GK106 [NB1Q](0x11FF)"},
{0x10DE, 0x1200, 0xFFFF, 0xFFFF, "GF114 [GeForce GTX 560 Ti](0x1200)"},
{0x10DE, 0x1201, 0xFFFF, 0xFFFF, "GF114 [GeForce GTX 560](0x1201)"},
{0x10DE, 0x1202, 0xFFFF, 0xFFFF, "GF114 [GeForce GTX 560 Ti OEM](0x1202)"},
@@ -13036,7 +13077,9 @@ static pci_id_t const pci_vid_10DE[] = {
{0x10DE, 0x1280, 0xFFFF, 0xFFFF, "GK208 [GeForce GT 635](0x1280)"},
{0x10DE, 0x1281, 0xFFFF, 0xFFFF, "GK208 [GeForce GT 710](0x1281)"},
{0x10DE, 0x1282, 0xFFFF, 0xFFFF, "GK208 [GeForce GT 640 Rev. 2](0x1282)"},
+{0x10DE, 0x1283, 0xFFFF, 0xFFFF, "GK208 [D15M2-10](0x1283)"},
{0x10DE, 0x1284, 0xFFFF, 0xFFFF, "GK208 [GeForce GT 630 Rev. 2](0x1284)"},
+{0x10DE, 0x1285, 0xFFFF, 0xFFFF, "GK208 [GK208-100](0x1285)"},
{0x10DE, 0x1286, 0xFFFF, 0xFFFF, "GK208 [GeForce GT 720](0x1286)"},
{0x10DE, 0x1287, 0xFFFF, 0xFFFF, "GK208B [GeForce GT 730](0x1287)"},
{0x10DE, 0x1288, 0xFFFF, 0xFFFF, "GK208B [GeForce GT 720](0x1288)"},
@@ -13076,8 +13119,14 @@ static pci_id_t const pci_vid_10DE[] = {
{0x10DE, 0x1299, 0x17AA, 0x36AF, "GeForce 920M(0x17AA-0x36AF)"},
{0x10DE, 0x129A, 0xFFFF, 0xFFFF, "GK208BM [GeForce 910M](0x129A)"},
{0x10DE, 0x12A0, 0xFFFF, 0xFFFF, "GK208(0x12A0)"},
+{0x10DE, 0x12AD, 0xFFFF, 0xFFFF, "GK208 [GK208-ES](0x12AD)"},
+{0x10DE, 0x12AE, 0xFFFF, 0xFFFF, "GK208 [GK208-CS1-C](0x12AE)"},
+{0x10DE, 0x12AF, 0xFFFF, 0xFFFF, "GK208 [GK208-INT](0x12AF)"},
+{0x10DE, 0x12B0, 0xFFFF, 0xFFFF, "GK208 [GK208-CS-Q](0x12B0)"},
+{0x10DE, 0x12B1, 0xFFFF, 0xFFFF, "GK208 [GK208 INT](0x12B1)"},
{0x10DE, 0x12B9, 0xFFFF, 0xFFFF, "GK208GLM [Quadro K610M](0x12B9)"},
{0x10DE, 0x12BA, 0xFFFF, 0xFFFF, "GK208GLM [Quadro K510M](0x12BA)"},
+{0x10DE, 0x130B, 0xFFFF, 0xFFFF, "GK110 [Q12U-1](0x130B)"},
{0x10DE, 0x1340, 0xFFFF, 0xFFFF, "GM108M [GeForce 830M](0x1340)"},
{0x10DE, 0x1340, 0x103C, 0x2B2B, "GeForce 830A(0x103C-0x2B2B)"},
{0x10DE, 0x1341, 0xFFFF, 0xFFFF, "GM108M [GeForce 840M](0x1341)"},
@@ -13122,6 +13171,8 @@ static pci_id_t const pci_vid_10DE[] = {
{0x10DE, 0x139B, 0x103C, 0x2B4C, "GeForce GTX 960A(0x103C-0x2B4C)"},
{0x10DE, 0x139C, 0xFFFF, 0xFFFF, "GM107M [GeForce 940M](0x139C)"},
{0x10DE, 0x139D, 0xFFFF, 0xFFFF, "GM107M [GeForce GTX 750 Ti](0x139D)"},
+{0x10DE, 0x13AD, 0xFFFF, 0xFFFF, "GM204 [GM107 INT52](0x13AD)"},
+{0x10DE, 0x13AE, 0xFFFF, 0xFFFF, "GM204 [GM107 CS1](0x13AE)"},
{0x10DE, 0x13B0, 0xFFFF, 0xFFFF, "GM107GLM [Quadro M2000M](0x13B0)"},
{0x10DE, 0x13B1, 0xFFFF, 0xFFFF, "GM107GLM [Quadro M1000M](0x13B1)"},
{0x10DE, 0x13B2, 0xFFFF, 0xFFFF, "GM107GLM [Quadro M600M](0x13B2)"},
@@ -13136,15 +13187,19 @@ static pci_id_t const pci_vid_10DE[] = {
{0x10DE, 0x13BD, 0x10DE, 0x110A, "GRID M40(0x10DE-0x110A)"},
{0x10DE, 0x13BD, 0x10DE, 0x1160, "Tesla M10(0x10DE-0x1160)"},
{0x10DE, 0x13BD, 0x10DE, 0x11D2, "GRID M10-8Q(0x10DE-0x11D2)"},
+{0x10DE, 0x13BE, 0xFFFF, 0xFFFF, "GM204 [GM107 CS1](0x13BE)"},
+{0x10DE, 0x13BF, 0xFFFF, 0xFFFF, "GM204 [GM107 INT52](0x13BF)"},
{0x10DE, 0x13C0, 0xFFFF, 0xFFFF, "GM204 [GeForce GTX 980](0x13C0)"},
{0x10DE, 0x13C0, 0x1043, 0x8504, "GTX980-4GD5(0x1043-0x8504)"},
{0x10DE, 0x13C1, 0xFFFF, 0xFFFF, "GM204(0x13C1)"},
{0x10DE, 0x13C2, 0xFFFF, 0xFFFF, "GM204 [GeForce GTX 970](0x13C2)"},
{0x10DE, 0x13C3, 0xFFFF, 0xFFFF, "GM204(0x13C3)"},
+{0x10DE, 0x13C4, 0xFFFF, 0xFFFF, "GM204 [D17U-20](0x13C4)"},
{0x10DE, 0x13D7, 0xFFFF, 0xFFFF, "GM204M [GeForce GTX 980M](0x13D7)"},
{0x10DE, 0x13D8, 0xFFFF, 0xFFFF, "GM204M [GeForce GTX 960 OEM / 970M](0x13D8)"},
{0x10DE, 0x13D9, 0xFFFF, 0xFFFF, "GM204M [GeForce GTX 965M](0x13D9)"},
{0x10DE, 0x13DA, 0xFFFF, 0xFFFF, "GM204M [GeForce GTX 980 Mobile](0x13DA)"},
+{0x10DE, 0x13E4, 0xFFFF, 0xFFFF, "GM204 [Graphics Device ES-A](0x13E4)"},
{0x10DE, 0x13E7, 0xFFFF, 0xFFFF, "GM204GL [GeForce GTX 980 Engineering Sample](0x13E7)"},
{0x10DE, 0x13F0, 0xFFFF, 0xFFFF, "GM204GL [Quadro M5000](0x13F0)"},
{0x10DE, 0x13F1, 0xFFFF, 0xFFFF, "GM204GL [Quadro M4000](0x13F1)"},
@@ -13170,6 +13225,7 @@ static pci_id_t const pci_vid_10DE[] = {
{0x10DE, 0x1430, 0xFFFF, 0xFFFF, "GM206GL [Quadro M2000](0x1430)"},
{0x10DE, 0x1431, 0xFFFF, 0xFFFF, "GM206GL [Tesla M4](0x1431)"},
{0x10DE, 0x1436, 0xFFFF, 0xFFFF, "GM206GLM [Quadro M2200 Mobile](0x1436)"},
+{0x10DE, 0x15C2, 0xFFFF, 0xFFFF, "GP100 [CMP 100-100](0x15C2)"},
{0x10DE, 0x15F0, 0xFFFF, 0xFFFF, "GP100GL [Quadro GP100](0x15F0)"},
{0x10DE, 0x15F1, 0xFFFF, 0xFFFF, "GP100GL(0x15F1)"},
{0x10DE, 0x15F7, 0xFFFF, 0xFFFF, "GP100GL [Tesla P100 PCIe 12GB](0x15F7)"},
@@ -13177,6 +13233,7 @@ static pci_id_t const pci_vid_10DE[] = {
{0x10DE, 0x15F9, 0xFFFF, 0xFFFF, "GP100GL [Tesla P100 SXM2 16GB](0x15F9)"},
{0x10DE, 0x15FA, 0xFFFF, 0xFFFF, "GP100GL [DGX Station / PH402 SKU 200](0x15FA)"},
{0x10DE, 0x15FB, 0xFFFF, 0xFFFF, "GP100GL [GP100 SKU 200](0x15FB)"},
+{0x10DE, 0x15FC, 0xFFFF, 0xFFFF, "GP100GL [Tesla P100-DGXS-16GB](0x15FC)"},
{0x10DE, 0x15FF, 0xFFFF, 0xFFFF, "GP100GL [GP100 SKU 15ff](0x15FF)"},
{0x10DE, 0x1617, 0xFFFF, 0xFFFF, "GM204M [GeForce GTX 980M](0x1617)"},
{0x10DE, 0x1618, 0xFFFF, 0xFFFF, "GM204M [GeForce GTX 970M](0x1618)"},
@@ -13336,6 +13393,7 @@ static pci_id_t const pci_vid_10DE[] = {
{0x10DE, 0x1D81, 0xFFFF, 0xFFFF, "GV100 [TITAN V](0x1D81)"},
{0x10DE, 0x1D83, 0xFFFF, 0xFFFF, "GV100 [CMP 100-200](0x1D83)"},
{0x10DE, 0x1D84, 0xFFFF, 0xFFFF, "GV100 [CMP 100-210](0x1D84)"},
+{0x10DE, 0x1DB0, 0xFFFF, 0xFFFF, "GV100GL [Tesla GV100 SXM2-16GB SKU 890](0x1DB0)"},
{0x10DE, 0x1DB1, 0xFFFF, 0xFFFF, "GV100GL [Tesla V100 SXM2 16GB](0x1DB1)"},
{0x10DE, 0x1DB2, 0xFFFF, 0xFFFF, "GV100GL [Tesla V100 DGXS 16GB](0x1DB2)"},
{0x10DE, 0x1DB3, 0xFFFF, 0xFFFF, "GV100GL [Tesla V100 FHHL 16GB](0x1DB3)"},
@@ -13352,6 +13410,7 @@ static pci_id_t const pci_vid_10DE[] = {
{0x10DE, 0x1DC1, 0xFFFF, 0xFFFF, "GV100 [CMP 100-200](0x1DC1)"},
{0x10DE, 0x1DF0, 0xFFFF, 0xFFFF, "GV100GL [Tesla PG500-216](0x1DF0)"},
{0x10DE, 0x1DF2, 0xFFFF, 0xFFFF, "GV100GL [Tesla PG503-216](0x1DF2)"},
+{0x10DE, 0x1DF4, 0xFFFF, 0xFFFF, "GV100 [CMP 100-210](0x1DF4)"},
{0x10DE, 0x1DF5, 0xFFFF, 0xFFFF, "GV100GL [Tesla V100 SXM2 16GB](0x1DF5)"},
{0x10DE, 0x1DF6, 0xFFFF, 0xFFFF, "GV100GL [Tesla V100S PCIe 32GB](0x1DF6)"},
{0x10DE, 0x1E02, 0xFFFF, 0xFFFF, "TU102 [TITAN RTX](0x1E02)"},
@@ -13365,6 +13424,7 @@ static pci_id_t const pci_vid_10DE[] = {
{0x10DE, 0x1E30, 0xFFFF, 0xFFFF, "TU102GL [Quadro RTX 6000/8000](0x1E30)"},
{0x10DE, 0x1E30, 0x10DE, 0x129E, "Quadro RTX 8000(0x10DE-0x129E)"},
{0x10DE, 0x1E30, 0x10DE, 0x12BA, "Quadro RTX 6000(0x10DE-0x12BA)"},
+{0x10DE, 0x1E35, 0xFFFF, 0xFFFF, "TU102GL [Tesla T10](0x1E35)"},
{0x10DE, 0x1E36, 0xFFFF, 0xFFFF, "TU102GL [Quadro RTX 6000](0x1E36)"},
{0x10DE, 0x1E37, 0xFFFF, 0xFFFF, "TU102GL [Tesla T10 16GB / GRID RTX T10-2/T10-4/T10-8](0x1E37)"},
{0x10DE, 0x1E37, 0x10DE, 0x1304, "Tesla T10 16GB(0x10DE-0x1304)"},
@@ -13461,7 +13521,7 @@ static pci_id_t const pci_vid_10DE[] = {
{0x10DE, 0x1FD9, 0xFFFF, 0xFFFF, "TU117BM [GeForce GTX 1650 Mobile Refresh](0x1FD9)"},
{0x10DE, 0x1FDD, 0xFFFF, 0xFFFF, "TU117BM [GeForce GTX 1650 Mobile Refresh](0x1FDD)"},
{0x10DE, 0x1FF0, 0xFFFF, 0xFFFF, "TU117GL [T1000 8GB](0x1FF0)"},
-{0x10DE, 0x1FF2, 0xFFFF, 0xFFFF, "TU117GL [T400 4GB](0x1FF2)"},
+{0x10DE, 0x1FF2, 0xFFFF, 0xFFFF, "TU117GL [T400 4GB / T400E](0x1FF2)"},
{0x10DE, 0x1FF9, 0xFFFF, 0xFFFF, "TU117GLM [Quadro T1000 Mobile](0x1FF9)"},
{0x10DE, 0x2080, 0xFFFF, 0xFFFF, "GA100(0x2080)"},
{0x10DE, 0x2081, 0xFFFF, 0xFFFF, "GA100(0x2081)"},
@@ -13540,8 +13600,10 @@ static pci_id_t const pci_vid_10DE[] = {
{0x10DE, 0x2321, 0xFFFF, 0xFFFF, "GH100 [H100L 94GB](0x2321)"},
{0x10DE, 0x2322, 0xFFFF, 0xFFFF, "GH100 [H800 PCIe](0x2322)"},
{0x10DE, 0x2324, 0xFFFF, 0xFFFF, "GH100 [H800](0x2324)"},
+{0x10DE, 0x2329, 0xFFFF, 0xFFFF, "GH100 [H20](0x2329)"},
{0x10DE, 0x2330, 0xFFFF, 0xFFFF, "GH100 [H100 SXM5 80GB](0x2330)"},
{0x10DE, 0x2331, 0xFFFF, 0xFFFF, "GH100 [H100 PCIe](0x2331)"},
+{0x10DE, 0x2335, 0xFFFF, 0xFFFF, "GH100 [H200 SXM 141GB](0x2335)"},
{0x10DE, 0x2336, 0xFFFF, 0xFFFF, "GH100 [H100](0x2336)"},
{0x10DE, 0x2337, 0xFFFF, 0xFFFF, "GH100 [H100 SXM5 64GB](0x2337)"},
{0x10DE, 0x2338, 0xFFFF, 0xFFFF, "GH100 [H100 SXM5 96GB](0x2338)"},
@@ -13570,6 +13632,9 @@ static pci_id_t const pci_vid_10DE[] = {
{0x10DE, 0x2488, 0xFFFF, 0xFFFF, "GA104 [GeForce RTX 3070 Lite Hash Rate](0x2488)"},
{0x10DE, 0x2489, 0xFFFF, 0xFFFF, "GA104 [GeForce RTX 3060 Ti Lite Hash Rate](0x2489)"},
{0x10DE, 0x248A, 0xFFFF, 0xFFFF, "GA104 [CMP 70HX](0x248A)"},
+{0x10DE, 0x248C, 0xFFFF, 0xFFFF, "GA104 [GeForce RTX 3070 Ti](0x248C)"},
+{0x10DE, 0x248D, 0xFFFF, 0xFFFF, "GA104 [GeForce RTX 3070](0x248D)"},
+{0x10DE, 0x248E, 0xFFFF, 0xFFFF, "GA104 [GeForce RTX 3060 Ti](0x248E)"},
{0x10DE, 0x249C, 0xFFFF, 0xFFFF, "GA104M [GeForce RTX 3080 Mobile / Max-Q 8GB/16GB](0x249C)"},
{0x10DE, 0x249D, 0xFFFF, 0xFFFF, "GA104M [GeForce RTX 3070 Mobile / Max-Q](0x249D)"},
{0x10DE, 0x249F, 0xFFFF, 0xFFFF, "GA104M(0x249F)"},
@@ -13629,6 +13694,8 @@ static pci_id_t const pci_vid_10DE[] = {
{0x10DE, 0x25AC, 0xFFFF, 0xFFFF, "GN20-P0-R-K2 [GeForce RTX 3050 6GB Laptop GPU](0x25AC)"},
{0x10DE, 0x25AD, 0xFFFF, 0xFFFF, "GA107 [GeForce RTX 2050](0x25AD)"},
{0x10DE, 0x25AF, 0xFFFF, 0xFFFF, "GA107 [GeForce RTX 3050 Engineering Sample](0x25AF)"},
+{0x10DE, 0x25B0, 0xFFFF, 0xFFFF, "GA107GL [RTX A1000](0x25B0)"},
+{0x10DE, 0x25B2, 0xFFFF, 0xFFFF, "GA107GL [RTX A400](0x25B2)"},
{0x10DE, 0x25B5, 0xFFFF, 0xFFFF, "GA107GLM [RTX A4 Mobile](0x25B5)"},
{0x10DE, 0x25B6, 0xFFFF, 0xFFFF, "GA107GL [A2 / A16](0x25B6)"},
{0x10DE, 0x25B8, 0xFFFF, 0xFFFF, "GA107GLM [RTX A2000 Mobile](0x25B8)"},
@@ -13661,6 +13728,7 @@ static pci_id_t const pci_vid_10DE[] = {
{0x10DE, 0x2703, 0xFFFF, 0xFFFF, "AD103 [GeForce RTX 4080 SUPER](0x2703)"},
{0x10DE, 0x2704, 0xFFFF, 0xFFFF, "AD103 [GeForce RTX 4080](0x2704)"},
{0x10DE, 0x2705, 0xFFFF, 0xFFFF, "AD103 [GeForce RTX 4070 Ti SUPER](0x2705)"},
+{0x10DE, 0x2709, 0xFFFF, 0xFFFF, "AD103 [GeForce RTX 4070](0x2709)"},
{0x10DE, 0x2717, 0xFFFF, 0xFFFF, "GN21-X11 [GeForce RTX 4090 Laptop GPU](0x2717)"},
{0x10DE, 0x2730, 0xFFFF, 0xFFFF, "AD103GLM [RTX 5000 Ada Generation Laptop GPU](0x2730)"},
{0x10DE, 0x2757, 0xFFFF, 0xFFFF, "GN21-X11(0x2757)"},
@@ -13669,6 +13737,7 @@ static pci_id_t const pci_vid_10DE[] = {
{0x10DE, 0x2783, 0xFFFF, 0xFFFF, "AD104 [GeForce RTX 4070 SUPER](0x2783)"},
{0x10DE, 0x2785, 0xFFFF, 0xFFFF, "AD104 [AC AD104 20GB](0x2785)"},
{0x10DE, 0x2786, 0xFFFF, 0xFFFF, "AD104 [GeForce RTX 4070](0x2786)"},
+{0x10DE, 0x2788, 0xFFFF, 0xFFFF, "AD104 [GeForce RTX 4060 Ti](0x2788)"},
{0x10DE, 0x27A0, 0xFFFF, 0xFFFF, "AD104M [GeForce RTX 4080 Max-Q / Mobile](0x27A0)"},
{0x10DE, 0x27B0, 0xFFFF, 0xFFFF, "AD104GL [RTX 4000 SFF Ada Generation](0x27B0)"},
{0x10DE, 0x27B1, 0xFFFF, 0xFFFF, "AD104GL [RTX 4500 Ada Generation](0x27B1)"},
@@ -13683,6 +13752,7 @@ static pci_id_t const pci_vid_10DE[] = {
{0x10DE, 0x27FB, 0xFFFF, 0xFFFF, "AD104GLM [RTX 3500 Ada Generation Embedded GPU](0x27FB)"},
{0x10DE, 0x2803, 0xFFFF, 0xFFFF, "AD106 [GeForce RTX 4060 Ti](0x2803)"},
{0x10DE, 0x2805, 0xFFFF, 0xFFFF, "AD106 [GeForce RTX 4060 Ti 16GB](0x2805)"},
+{0x10DE, 0x2808, 0xFFFF, 0xFFFF, "AD106 [GeForce RTX 4060](0x2808)"},
{0x10DE, 0x2820, 0xFFFF, 0xFFFF, "AD106M [GeForce RTX 4070 Max-Q / Mobile](0x2820)"},
{0x10DE, 0x2838, 0xFFFF, 0xFFFF, "AD106GLM [RTX 3000 Ada Generation Laptop GPU](0x2838)"},
{0x10DE, 0x2860, 0xFFFF, 0xFFFF, "AD106M [GeForce RTX 4070 Max-Q / Mobile](0x2860)"},
@@ -13690,7 +13760,11 @@ static pci_id_t const pci_vid_10DE[] = {
{0x10DE, 0x2882, 0xFFFF, 0xFFFF, "AD107 [GeForce RTX 4060](0x2882)"},
{0x10DE, 0x28A0, 0xFFFF, 0xFFFF, "AD107M [GeForce RTX 4060 Max-Q / Mobile](0x28A0)"},
{0x10DE, 0x28A1, 0xFFFF, 0xFFFF, "AD107M [GeForce RTX 4050 Max-Q / Mobile](0x28A1)"},
+{0x10DE, 0x28B0, 0xFFFF, 0xFFFF, "AD107GL [RTX 2000 / 2000E Ada Generation](0x28B0)"},
{0x10DE, 0x28B8, 0xFFFF, 0xFFFF, "AD107GLM [RTX 2000 Ada Generation Laptop GPU](0x28B8)"},
+{0x10DE, 0x28B9, 0xFFFF, 0xFFFF, "AD107GLM [RTX 1000 Ada Generation Laptop GPU](0x28B9)"},
+{0x10DE, 0x28BA, 0xFFFF, 0xFFFF, "AD107GLM [RTX 500 Ada Generation Laptop GPU](0x28BA)"},
+{0x10DE, 0x28BB, 0xFFFF, 0xFFFF, "AD107GLM [RTX 500 Ada Generation Laptop GPU](0x28BB)"},
{0x10DE, 0x28E0, 0xFFFF, 0xFFFF, "AD107M [GeForce RTX 4060 Max-Q / Mobile](0x28E0)"},
{0x10DE, 0x28E1, 0xFFFF, 0xFFFF, "AD107M [GeForce RTX 4050 Max-Q / Mobile](0x28E1)"},
{0x10DE, 0x28F8, 0xFFFF, 0xFFFF, "AD107GLM [RTX 2000 Ada Generation Embedded GPU](0x28F8)"},
@@ -13985,6 +14059,7 @@ static pci_id_t const pci_vid_10EC[] = {
{0x10EC, 0x5762, 0xFFFF, 0xFFFF, "RTS5762 NVMe SSD Controller(0x5762)"},
{0x10EC, 0x5763, 0xFFFF, 0xFFFF, "RTS5763DL NVMe SSD Controller (DRAM-less)(0x5763)"},
{0x10EC, 0x5765, 0xFFFF, 0xFFFF, "RTS5765DL NVMe SSD Controller (DRAM-less)(0x5765)"},
+{0x10EC, 0x5770, 0xFFFF, 0xFFFF, "RTS5770DL NVMe SSD Controller (DRAM-less)(0x5770)"},
{0x10EC, 0x5772, 0xFFFF, 0xFFFF, "RTS5772DL NVMe SSD Controller (DRAM-less)(0x5772)"},
{0x10EC, 0x8029, 0xFFFF, 0xFFFF, "RTL-8029(AS)(0x8029)"},
{0x10EC, 0x8029, 0x10B8, 0x2011, "EZ-Card (SMC1208)(0x10B8-0x2011)"},
@@ -13994,6 +14069,7 @@ static pci_id_t const pci_vid_10EC[] = {
{0x10EC, 0x8029, 0x1259, 0x2400, "AT-2400(0x1259-0x2400)"},
{0x10EC, 0x8029, 0x1AF4, 0x1100, "QEMU Virtual Machine(0x1AF4-0x1100)"},
{0x10EC, 0x8125, 0xFFFF, 0xFFFF, "RTL8125 2.5GbE Controller(0x8125)"},
+{0x10EC, 0x8125, 0x4C52, 0x2022, "LRES2022PT Single-port 2.5Gb Ethernet Network Adapter(0x4C52-0x2022)"},
{0x10EC, 0x8129, 0xFFFF, 0xFFFF, "RTL-8129(0x8129)"},
{0x10EC, 0x8129, 0x10EC, 0x8129, "RT8129 Fast Ethernet Adapter(0x10EC-0x8129)"},
{0x10EC, 0x8129, 0x11EC, 0x8129, "RTL8111/8168 PCIe Gigabit Ethernet (misconfigured)(0x11EC-0x8129)"},
@@ -14092,7 +14168,7 @@ static pci_id_t const pci_vid_10EC[] = {
{0x10EC, 0x8168, 0x1043, 0x8505, "P8 series motherboard(0x1043-0x8505)"},
{0x10EC, 0x8168, 0x1043, 0x8554, "H81M-C Motherboard(0x1043-0x8554)"},
{0x10EC, 0x8168, 0x1043, 0x859E, "AM1I-A Motherboard(0x1043-0x859E)"},
-{0x10EC, 0x8168, 0x1043, 0x8677, "PRIME B450M-A Motherboard(0x1043-0x8677)"},
+{0x10EC, 0x8168, 0x1043, 0x8677, "Onboard RTL8111H Ethernet(0x1043-0x8677)"},
{0x10EC, 0x8168, 0x105B, 0x0D7C, "D270S/D250S Motherboard(0x105B-0x0D7C)"},
{0x10EC, 0x8168, 0x10EC, 0x8168, "RTL8111/8168 PCI Express Gigabit Ethernet controller(0x10EC-0x8168)"},
{0x10EC, 0x8168, 0x144D, 0xC652, "RTL8168 on a NP300E5C series laptop(0x144D-0xC652)"},
@@ -14108,6 +14184,7 @@ static pci_id_t const pci_vid_10EC[] = {
{0x10EC, 0x8168, 0x17AA, 0x3098, "ThinkCentre E73(0x17AA-0x3098)"},
{0x10EC, 0x8168, 0x17AA, 0x3814, "Z50-75(0x17AA-0x3814)"},
{0x10EC, 0x8168, 0x17AA, 0x3823, "Lenovo V130-15IGM Laptop - Type 81HL(0x17AA-0x3823)"},
+{0x10EC, 0x8168, 0x17AA, 0x5068, "Thinkpad E480/E580(0x17AA-0x5068)"},
{0x10EC, 0x8168, 0x17AA, 0x5124, "ThinkPad E595(0x17AA-0x5124)"},
{0x10EC, 0x8168, 0x1849, 0x8168, "Motherboard (one of many)(0x1849-0x8168)"},
{0x10EC, 0x8168, 0x7470, 0x3468, "TG-3468 Gigabit PCI Express Network Adapter(0x7470-0x3468)"},
@@ -17770,6 +17847,38 @@ static pci_id_t const pci_vid_11E2[] = {
static pci_id_t const pci_vid_11E3[] = {
{0x11E3, 0xFFFF, 0xFFFF, 0xFFFF, "Quicklogic Corporation(0x11E3)"},
{0x11E3, 0x0001, 0xFFFF, 0xFFFF, "COM-ON-AIR Dosch&Amand DECT(0x0001)"},
+{0x11E3, 0x0010, 0xFFFF, 0xFFFF, "QL5032 (PQFP208) [QuickPCI] 33 MHz/32-bit PCI Master/Target with Embedded Programmable Logic and Dual Port SRAM(0x0010)"},
+{0x11E3, 0x0011, 0xFFFF, 0xFFFF, "QL5032 (PBGA256) [QuickPCI] 33 MHz/32-bit PCI Master/Target with Embedded Programmable Logic and Dual Port SRAM(0x0011)"},
+{0x11E3, 0x0012, 0xFFFF, 0xFFFF, "QL5232 (PQFP208) [QuickPCI] 33 MHz/32-bit PCI Master/Target with Embedded Programmable Logic and Dual Port SRAM(0x0012)"},
+{0x11E3, 0x0012, 0x11E3, 0x1204, "Becker & Hickl SPC-130(0x11E3-0x1204)"},
+{0x11E3, 0x0012, 0x11E3, 0x1207, "Becker & Hickl DDG-200(0x11E3-0x1207)"},
+{0x11E3, 0x0012, 0x11E3, 0x1209, "Becker & Hickl SHM-180(0x11E3-0x1209)"},
+{0x11E3, 0x0012, 0x11E3, 0x120C, "Becker & Hickl PMM-428(0x11E3-0x120C)"},
+{0x11E3, 0x0013, 0xFFFF, 0xFFFF, "QL5232 (PBGA456) [QuickPCI] 33 MHz/32-bit PCI Master/Target with Embedded Programmable Logic and Dual Port SRAM(0x0013)"},
+{0x11E3, 0x0014, 0xFFFF, 0xFFFF, "QL5030 (TQFP144) [QuickPCI] 33 MHz/32-bit PCI Target with Embedded Programmable Logic and Dual Port SRAM(0x0014)"},
+{0x11E3, 0x0015, 0xFFFF, 0xFFFF, "QL5130 (TQFP144) [QuickPCI] 33 MHz/32-bit PCI Target with Embedded Programmable Logic and Dual Port SRAM(0x0015)"},
+{0x11E3, 0x0016, 0xFFFF, 0xFFFF, "QL5130 (PQFP208) [QuickPCI] 33 MHz/32-bit PCI Target with Embedded Programmable Logic and Dual Port SRAM(0x0016)"},
+{0x11E3, 0x0016, 0x11E3, 0x120B, "Becker & Hickl DEL-350(0x11E3-0x120B)"},
+{0x11E3, 0x0017, 0xFFFF, 0xFFFF, "QL5130 (PBGA256) [QuickPCI] 33 MHz/32-bit PCI Target with Embedded Programmable Logic and Dual Port SRAM(0x0017)"},
+{0x11E3, 0x0019, 0xFFFF, 0xFFFF, "QL5332 (PQFP208) [QuickPCI] 33 MHz/32-bit PCI Master/Target with Embedded Programmable Logic and Dual Port SRAM(0x0019)"},
+{0x11E3, 0x001A, 0xFFFF, 0xFFFF, "QL5332 (PBGA256) [QuickPCI] 33 MHz/32-bit PCI Master/Target with Embedded Programmable Logic and Dual Port SRAM(0x001A)"},
+{0x11E3, 0x001B, 0xFFFF, 0xFFFF, "QL5432 (PQFP208) [QuickPCI] 33 MHz/32-bit PCI Master/Target with Embedded Programmable Logic and Dual Port SRAM(0x001B)"},
+{0x11E3, 0x001B, 0x11E3, 0x120D, "Becker & Hickl SPC-140(0x11E3-0x120D)"},
+{0x11E3, 0x001B, 0x11E3, 0x1211, "Becker & Hickl GVD-120(0x11E3-0x1211)"},
+{0x11E3, 0x001B, 0x11E3, 0x1212, "Becker & Hickl DDG-210(0x11E3-0x1212)"},
+{0x11E3, 0x001C, 0xFFFF, 0xFFFF, "QL5432 (PBGA456) [QuickPCI] 33 MHz/32-bit PCI Master/Target with Embedded Programmable Logic and Dual Port SRAM(0x001C)"},
+{0x11E3, 0x001D, 0xFFFF, 0xFFFF, "QL5632 (PQFP208) [QuickPCI] 33 MHz/32-bit PCI Master/Target with Embedded Programmable Logic and Dual Port SRAM(0x001D)"},
+{0x11E3, 0x001E, 0xFFFF, 0xFFFF, "QL5632 (PBGA280) [QuickPCI] 33 MHz/32-bit PCI Master/Target with Embedded Programmable Logic and Dual Port SRAM(0x001E)"},
+{0x11E3, 0x001F, 0xFFFF, 0xFFFF, "QL5632 (PBGA484) [QuickPCI] 33 MHz/32-bit PCI Master/Target with Embedded Programmable Logic and Dual Port SRAM(0x001F)"},
+{0x11E3, 0x0020, 0xFFFF, 0xFFFF, "QL5632 (PBGA516) [QuickPCI] 33 MHz/32-bit PCI Master/Target with Embedded Programmable Logic and Dual Port SRAM(0x0020)"},
+{0x11E3, 0x0021, 0xFFFF, 0xFFFF, "QL5732 (PQFP208) [QuickPCI] 33 MHz/32-bit PCI Master/Target with Embedded Programmable Logic and Dual Port SRAM(0x0021)"},
+{0x11E3, 0x0022, 0xFFFF, 0xFFFF, "QL5732 (PBGA280) [QuickPCI] 33 MHz/32-bit PCI Master/Target with Embedded Programmable Logic and Dual Port SRAM(0x0022)"},
+{0x11E3, 0x0023, 0xFFFF, 0xFFFF, "QL5732 (PBGA484) [QuickPCI] 33 MHz/32-bit PCI Master/Target with Embedded Programmable Logic and Dual Port SRAM(0x0023)"},
+{0x11E3, 0x0024, 0xFFFF, 0xFFFF, "QL5732 (PBGA516) [QuickPCI] 33 MHz/32-bit PCI Master/Target with Embedded Programmable Logic and Dual Port SRAM(0x0024)"},
+{0x11E3, 0x002D, 0xFFFF, 0xFFFF, "QL5022 (TQFP144) [QuickPCI] 33 MHz/32-bit PCI Master/Target with Embedded Programmable Logic and Dual Port SRAM(0x002D)"},
+{0x11E3, 0x002E, 0xFFFF, 0xFFFF, "QL5022 (PQFP208) [QuickPCI] 33 MHz/32-bit PCI Master/Target with Embedded Programmable Logic and Dual Port SRAM(0x002E)"},
+{0x11E3, 0x002F, 0xFFFF, 0xFFFF, "QL5020 (TQFP144) [QuickPCI] 33 MHz/32-bit PCI Target with Embedded Programmable Logic and Dual Port SRAM(0x002F)"},
+{0x11E3, 0x0030, 0xFFFF, 0xFFFF, "QL5020 (PQFP208) [QuickPCI] 33 MHz/32-bit PCI Target with Embedded Programmable Logic and Dual Port SRAM(0x0030)"},
{0x11E3, 0x0560, 0xFFFF, 0xFFFF, "QL5064 Companion Design Demo Board(0x0560)"},
{0x11E3, 0x5030, 0xFFFF, 0xFFFF, "PC Watchdog(0x5030)"},
{0x11E3, 0x8417, 0xFFFF, 0xFFFF, "QL5064 [QuickPCI] PCI v2.2 bridge for SMT417 Dual TMS320C6416T PMC Module(0x8417)"},
@@ -18166,6 +18275,7 @@ static pci_id_t const pci_vid_1217[] = {
{0x1217, 0x8331, 0xFFFF, 0xFFFF, "O2 Flash Memory Card(0x8331)"},
{0x1217, 0x8520, 0xFFFF, 0xFFFF, "SD/MMC Card Reader Controller(0x8520)"},
{0x1217, 0x8621, 0xFFFF, 0xFFFF, "SD/MMC Card Reader Controller(0x8621)"},
+{0x1217, 0x8621, 0x17AA, 0x5068, "Thinkpad E480/E580(0x17AA-0x5068)"},
{0x1217, 0x8760, 0xFFFF, 0xFFFF, "FORESEE E2M2 NVMe SSD(0x8760)"},
}; /* pci_vid_1217[] */
@@ -18770,6 +18880,7 @@ static pci_id_t const pci_vid_126F[] = {
{0x126F, 0x0820, 0xFFFF, 0xFFFF, "SM820 Lynx3D(0x0820)"},
{0x126F, 0x0910, 0xFFFF, 0xFFFF, "SM910(0x0910)"},
{0x126F, 0x2260, 0xFFFF, 0xFFFF, "SM2260 NVMe SSD Controller(0x2260)"},
+{0x126F, 0x2261, 0xFFFF, 0xFFFF, "SM2261XT x2 NVMe SSD Controller (DRAM-less)(0x2261)"},
{0x126F, 0x2262, 0xFFFF, 0xFFFF, "SM2262/SM2262EN SSD Controller(0x2262)"},
{0x126F, 0x2263, 0xFFFF, 0xFFFF, "SM2263EN/SM2263XT (DRAM-less) NVMe SSD Controllers(0x2263)"},
{0x126F, 0x2269, 0xFFFF, 0xFFFF, "SM2269XT (DRAM-less) NVMe SSD Controller(0x2269)"},
@@ -19565,6 +19676,7 @@ static pci_id_t const pci_vid_12D8[] = {
{0x12D8, 0x8152, 0xFFFF, 0xFFFF, "PI7C8152A/PI7C8152B/PI7C8152BI PCI-to-PCI Bridge(0x8152)"},
{0x12D8, 0x8154, 0xFFFF, 0xFFFF, "PI7C8154A/PI7C8154B/PI7C8154BI PCI-to-PCI Bridge(0x8154)"},
{0x12D8, 0x8619, 0xFFFF, 0xFFFF, "PI7C9X2G1616PR PCIe2 16-Port/16-Lane Packet Switch(0x8619)"},
+{0x12D8, 0xB404, 0xFFFF, 0xFFFF, "PI7C9X2G404 EV/SV PCIe2 4-Port/4-Lane Packet Switch(0xB404)"},
{0x12D8, 0xE110, 0xFFFF, 0xFFFF, "PI7C9X110 PCIe- to-PCI bridge(0xE110)"},
{0x12D8, 0xE110, 0x1775, 0x11CC, "CC11/CL11 CompactPCI Bridge(0x1775-0x11CC)"},
{0x12D8, 0xE111, 0xFFFF, 0xFFFF, "PI7C9X111SL PCIe-to-PCI Reversible Bridge(0xE111)"},
@@ -20210,8 +20322,25 @@ static pci_id_t const pci_vid_1344[] = {
{0x1344, 0x51B2, 0x1344, 0x5000, "6.4 TB U.2(0x1344-0x5000)"},
{0x1344, 0x51B2, 0x1344, 0x6000, "12.8TB U.2(0x1344-0x6000)"},
{0x1344, 0x51B7, 0xFFFF, 0xFFFF, "7500 PRO NVMe SSD(0x51B7)"},
+{0x1344, 0x51B7, 0x1028, 0x22E7, "DC NVMe 7500 U.2 SED RI 15.36TB(0x1028-0x22E7)"},
+{0x1344, 0x51B7, 0x1028, 0x22E8, "DC NVMe 7500 U.2 SED RI 7.68TB(0x1028-0x22E8)"},
+{0x1344, 0x51B7, 0x1028, 0x22E9, "DC NVMe 7500 U.2 SED RI 3.84TB(0x1028-0x22E9)"},
+{0x1344, 0x51B7, 0x1028, 0x22EA, "DC NVMe 7500 U.2 SED RI 1.92TB(0x1028-0x22EA)"},
+{0x1344, 0x51B7, 0x1028, 0x22EB, "DC NVMe 7500 U.2 SED RI 960GB(0x1028-0x22EB)"},
+{0x1344, 0x51B7, 0x1028, 0x22EC, "DC NVMe 7500 U.2 ISE RI 15.36TB(0x1028-0x22EC)"},
+{0x1344, 0x51B7, 0x1028, 0x22ED, "DC NVMe 7500 U.2 ISE RI 7.68TB(0x1028-0x22ED)"},
+{0x1344, 0x51B7, 0x1028, 0x22EE, "DC NVMe 7500 U.2 ISE RI 3.84TB(0x1028-0x22EE)"},
+{0x1344, 0x51B7, 0x1028, 0x22EF, "DC NVMe 7500 U.2 ISE RI 1.92TB(0x1028-0x22EF)"},
+{0x1344, 0x51B7, 0x1028, 0x22F0, "DC NVMe 7500 U.2 ISE RI 960GB(0x1028-0x22F0)"},
{0x1344, 0x51B8, 0xFFFF, 0xFFFF, "7500 MAX NVMe SSD(0x51B8)"},
+{0x1344, 0x51B8, 0x1028, 0x22F1, "DC NVMe 7500 U.2 ISE MU 12.8TB(0x1028-0x22F1)"},
+{0x1344, 0x51B8, 0x1028, 0x22F2, "DC NVMe 7500 U.2 ISE MU 6.4TB(0x1028-0x22F2)"},
+{0x1344, 0x51B8, 0x1028, 0x22F3, "DC NVMe 7500 U.2 ISE MU 3.2TB(0x1028-0x22F3)"},
+{0x1344, 0x51B8, 0x1028, 0x22F4, "DC NVMe 7500 U.2 ISE MU 1.6TB(0x1028-0x22F4)"},
+{0x1344, 0x51B8, 0x1028, 0x22F5, "DC NVMe 7500 U.2 ISE MU 800GB(0x1028-0x22F5)"},
{0x1344, 0x51B9, 0xFFFF, 0xFFFF, "6500 ION NVMe SSD(0x51B9)"},
+{0x1344, 0x51B9, 0x1028, 0x22E6, "Ent NVMe 6500 RI 30.72TB(0x1028-0x22E6)"},
+{0x1344, 0x51B9, 0x1028, 0x22F6, "Ent NVMe 6500 RI FIPS 30.72TB(0x1028-0x22F6)"},
{0x1344, 0x51C0, 0xFFFF, 0xFFFF, "7400 PRO NVMe SSD(0x51C0)"},
{0x1344, 0x51C0, 0x1028, 0x2162, "EC NVMe OPAL 7400 RI M.2 480GB(0x1028-0x2162)"},
{0x1344, 0x51C0, 0x1028, 0x2163, "EC NVMe OPAL 7400 RI M.2 960GB(0x1028-0x2163)"},
@@ -20249,7 +20378,38 @@ static pci_id_t const pci_vid_1344[] = {
{0x1344, 0x51C1, 0x1344, 0x4000, "U.3 3200GB(0x1344-0x4000)"},
{0x1344, 0x51C1, 0x1344, 0x5000, "U.3 6400GB(0x1344-0x5000)"},
{0x1344, 0x51C3, 0xFFFF, 0xFFFF, "7450 PRO NVMe SSD(0x51C3)"},
+{0x1344, 0x51C3, 0x1028, 0x226B, "EC NVMe FIPS 7450 RI M.2 110 960GB(0x1028-0x226B)"},
+{0x1344, 0x51C3, 0x1028, 0x226C, "EC NVMe ISE 7450 RI M.2 80 480GB(0x1028-0x226C)"},
+{0x1344, 0x51C3, 0x1028, 0x226D, "EC NVMe ISE 7450 RI M.2 80 960GB(0x1028-0x226D)"},
+{0x1344, 0x51C3, 0x1028, 0x226E, "EC NVMe SED 7450 RI M.2 80 480GB(0x1028-0x226E)"},
+{0x1344, 0x51C3, 0x1028, 0x226F, "EC NVMe SED 7450 RI M.2 80 960GB(0x1028-0x226F)"},
+{0x1344, 0x51C3, 0x1028, 0x2270, "EC NVMe FIPS 7450 RI M.2 80 480GB(0x1028-0x2270)"},
+{0x1344, 0x51C3, 0x1028, 0x2271, "EC NVMe FIPS 7450 RI M.2 80 960GB(0x1028-0x2271)"},
+{0x1344, 0x51C3, 0x1028, 0x2273, "EC NVMe ISE 7450 RI M.2 110 960GB(0x1028-0x2273)"},
+{0x1344, 0x51C3, 0x1028, 0x2274, "EC NVMe ISE 7450 RI M.2 110 1920GB(0x1028-0x2274)"},
+{0x1344, 0x51C3, 0x1028, 0x2275, "EC NVMe ISE 7450 RI M.2 110 3840GB(0x1028-0x2275)"},
+{0x1344, 0x51C3, 0x1028, 0x2278, "DC NVMe ISE 7450 RI U.2 960GB(0x1028-0x2278)"},
+{0x1344, 0x51C3, 0x1028, 0x2279, "DC NVMe ISE 7450 RI U.2 1.92TB(0x1028-0x2279)"},
+{0x1344, 0x51C3, 0x1028, 0x227A, "DC NVMe ISE 7450 RI U.2 3.84TB(0x1028-0x227A)"},
+{0x1344, 0x51C3, 0x1028, 0x227B, "DC NVMe ISE 7450 RI U.2 7.68TB(0x1028-0x227B)"},
+{0x1344, 0x51C3, 0x1028, 0x227C, "DC NVMe ISE 7450 RI U.2 15.36TB(0x1028-0x227C)"},
+{0x1344, 0x51C3, 0x1028, 0x227D, "DC NVMe SED 7450 RI U.2 960GB(0x1028-0x227D)"},
+{0x1344, 0x51C3, 0x1028, 0x227E, "DC NVMe SED 7450 RI U.2 1.92TB(0x1028-0x227E)"},
+{0x1344, 0x51C3, 0x1028, 0x227F, "DC NVMe SED 7450 RI U.2 3.84TB(0x1028-0x227F)"},
+{0x1344, 0x51C3, 0x1028, 0x2280, "DC NVMe SED 7450 RI U.2 7.68TB(0x1028-0x2280)"},
+{0x1344, 0x51C3, 0x1028, 0x2281, "DC NVMe SED 7450 RI U.2 15.36TB(0x1028-0x2281)"},
{0x1344, 0x51C4, 0xFFFF, 0xFFFF, "7450 MAX NVMe SSD(0x51C4)"},
+{0x1344, 0x51C4, 0x1028, 0x2272, "EC NVMe ISE 7450 MU M.2 80 800GB(0x1028-0x2272)"},
+{0x1344, 0x51C4, 0x1028, 0x228B, "DC NVMe SED 7450 MU U.2 800GB(0x1028-0x228B)"},
+{0x1344, 0x51C4, 0x1028, 0x228C, "DC NVMe ISE 7450 MU U.2 800GB(0x1028-0x228C)"},
+{0x1344, 0x51C4, 0x1028, 0x228D, "DC NVMe SED 7450 MU U.2 1.6TB(0x1028-0x228D)"},
+{0x1344, 0x51C4, 0x1028, 0x228E, "DC NVMe ISE 7450 MU U.2 1.6TB(0x1028-0x228E)"},
+{0x1344, 0x51C4, 0x1028, 0x228F, "DC NVMe SED 7450 MU U.2 3.2TB(0x1028-0x228F)"},
+{0x1344, 0x51C4, 0x1028, 0x2290, "DC NVMe ISE 7450 MU U.2 3.2TB(0x1028-0x2290)"},
+{0x1344, 0x51C4, 0x1028, 0x2291, "DC NVMe SED 7450 MU U.2 6.4TB(0x1028-0x2291)"},
+{0x1344, 0x51C4, 0x1028, 0x2292, "DC NVMe ISE 7450 MU U.2 6.4TB(0x1028-0x2292)"},
+{0x1344, 0x51C4, 0x1028, 0x2293, "DC NVMe SED 7450 MU U.2 12.8TB(0x1028-0x2293)"},
+{0x1344, 0x51C4, 0x1028, 0x2294, "DC NVMe ISE 7450 MU U.2 12.8TB(0x1028-0x2294)"},
{0x1344, 0x51C4, 0x1344, 0x3000, "U.3 1600GB [MTFDKCB1T6TFS/MTFDKCC1T6TFS](0x1344-0x3000)"},
{0x1344, 0x5404, 0xFFFF, 0xFFFF, "2210 NVMe SSD [Cobain](0x5404)"},
{0x1344, 0x5405, 0xFFFF, 0xFFFF, "2300 NVMe SSD [Santana](0x5405)"},
@@ -22487,14 +22647,14 @@ static pci_id_t const pci_vid_1425[] = {
{0x1425, 0x6002, 0xFFFF, 0xFFFF, "T6225-SO-CR Unified Wire Ethernet Controller(0x6002)"},
{0x1425, 0x6003, 0xFFFF, 0xFFFF, "T6425-CR Unified Wire Ethernet Controller(0x6003)"},
{0x1425, 0x6004, 0xFFFF, 0xFFFF, "T6425-SO-CR Unified Wire Ethernet Controller(0x6004)"},
-{0x1425, 0x6005, 0xFFFF, 0xFFFF, "T6225-OCP-SO Unified Wire Ethernet Controller(0x6005)"},
-{0x1425, 0x6006, 0xFFFF, 0xFFFF, "T62100-OCP-SO Unified Wire Ethernet Controller(0x6006)"},
+{0x1425, 0x6005, 0xFFFF, 0xFFFF, "T6225-SO-OCP3 Unified Wire Ethernet Controller(0x6005)"},
+{0x1425, 0x6006, 0xFFFF, 0xFFFF, "T6225-OCP3 Unified Wire Ethernet Controller(0x6006)"},
{0x1425, 0x6007, 0xFFFF, 0xFFFF, "T62100-LP-CR Unified Wire Ethernet Controller(0x6007)"},
{0x1425, 0x6008, 0xFFFF, 0xFFFF, "T62100-SO-CR Unified Wire Ethernet Controller(0x6008)"},
{0x1425, 0x6009, 0xFFFF, 0xFFFF, "T6210-BT Unified Wire Ethernet Controller(0x6009)"},
{0x1425, 0x600D, 0xFFFF, 0xFFFF, "T62100-CR Unified Wire Ethernet Controller(0x600D)"},
{0x1425, 0x6011, 0xFFFF, 0xFFFF, "T6225-LL-CR Unified Wire Ethernet Controller(0x6011)"},
-{0x1425, 0x6014, 0xFFFF, 0xFFFF, "T61100-OCP-SO Unified Wire Ethernet Controller(0x6014)"},
+{0x1425, 0x6014, 0xFFFF, 0xFFFF, "T62100-SO-OCP3 Unified Wire Ethernet Controller(0x6014)"},
{0x1425, 0x6015, 0xFFFF, 0xFFFF, "T6201-BT Unified Wire Ethernet Controller(0x6015)"},
{0x1425, 0x6080, 0xFFFF, 0xFFFF, "T6225-6080 Unified Wire Ethernet Controller(0x6080)"},
{0x1425, 0x6081, 0xFFFF, 0xFFFF, "T62100-6081 Unified Wire Ethernet Controller(0x6081)"},
@@ -22513,14 +22673,14 @@ static pci_id_t const pci_vid_1425[] = {
{0x1425, 0x6402, 0xFFFF, 0xFFFF, "T6225-SO-CR Unified Wire Ethernet Controller(0x6402)"},
{0x1425, 0x6403, 0xFFFF, 0xFFFF, "T6425-CR Unified Wire Ethernet Controller(0x6403)"},
{0x1425, 0x6404, 0xFFFF, 0xFFFF, "T6425-SO-CR Unified Wire Ethernet Controller(0x6404)"},
-{0x1425, 0x6405, 0xFFFF, 0xFFFF, "T6225-OCP-SO Unified Wire Ethernet Controller(0x6405)"},
-{0x1425, 0x6406, 0xFFFF, 0xFFFF, "T62100-OCP-SO Unified Wire Ethernet Controller(0x6406)"},
+{0x1425, 0x6405, 0xFFFF, 0xFFFF, "T6225-SO-OCP3 Unified Wire Ethernet Controller(0x6405)"},
+{0x1425, 0x6406, 0xFFFF, 0xFFFF, "T6225-OCP3 Unified Wire Ethernet Controller(0x6406)"},
{0x1425, 0x6407, 0xFFFF, 0xFFFF, "T62100-LP-CR Unified Wire Ethernet Controller(0x6407)"},
{0x1425, 0x6408, 0xFFFF, 0xFFFF, "T62100-SO-CR Unified Wire Ethernet Controller(0x6408)"},
{0x1425, 0x6409, 0xFFFF, 0xFFFF, "T6210-BT Unified Wire Ethernet Controller(0x6409)"},
{0x1425, 0x640D, 0xFFFF, 0xFFFF, "T62100-CR Unified Wire Ethernet Controller(0x640D)"},
{0x1425, 0x6411, 0xFFFF, 0xFFFF, "T6225-LL-CR Unified Wire Ethernet Controller(0x6411)"},
-{0x1425, 0x6414, 0xFFFF, 0xFFFF, "T61100-OCP-SO Unified Wire Ethernet Controller(0x6414)"},
+{0x1425, 0x6414, 0xFFFF, 0xFFFF, "T62100-SO-OCP3 Unified Wire Ethernet Controller(0x6414)"},
{0x1425, 0x6415, 0xFFFF, 0xFFFF, "T6201-BT Unified Wire Ethernet Controller(0x6415)"},
{0x1425, 0x6480, 0xFFFF, 0xFFFF, "T6225-6080 Unified Wire Ethernet Controller(0x6480)"},
{0x1425, 0x6481, 0xFFFF, 0xFFFF, "T62100-6081 Unified Wire Ethernet Controller(0x6481)"},
@@ -22539,14 +22699,14 @@ static pci_id_t const pci_vid_1425[] = {
{0x1425, 0x6502, 0xFFFF, 0xFFFF, "T6225-SO-CR Unified Wire Storage Controller(0x6502)"},
{0x1425, 0x6503, 0xFFFF, 0xFFFF, "T6425-CR Unified Wire Storage Controller(0x6503)"},
{0x1425, 0x6504, 0xFFFF, 0xFFFF, "T6425-SO-CR Unified Wire Storage Controller(0x6504)"},
-{0x1425, 0x6505, 0xFFFF, 0xFFFF, "T6225-OCP-SO Unified Wire Storage Controller(0x6505)"},
-{0x1425, 0x6506, 0xFFFF, 0xFFFF, "T62100-OCP-SO Unified Wire Storage Controller(0x6506)"},
+{0x1425, 0x6505, 0xFFFF, 0xFFFF, "T6225-SO-OCP3 Unified Wire Storage Controller(0x6505)"},
+{0x1425, 0x6506, 0xFFFF, 0xFFFF, "T6225-OCP3 Unified Wire Storage Controller(0x6506)"},
{0x1425, 0x6507, 0xFFFF, 0xFFFF, "T62100-LP-CR Unified Wire Storage Controller(0x6507)"},
{0x1425, 0x6508, 0xFFFF, 0xFFFF, "T62100-SO-CR Unified Wire Storage Controller(0x6508)"},
{0x1425, 0x6509, 0xFFFF, 0xFFFF, "T6210-BT Unified Wire Storage Controller(0x6509)"},
{0x1425, 0x650D, 0xFFFF, 0xFFFF, "T62100-CR Unified Wire Storage Controller(0x650D)"},
{0x1425, 0x6511, 0xFFFF, 0xFFFF, "T6225-LL-CR Unified Wire Storage Controller(0x6511)"},
-{0x1425, 0x6514, 0xFFFF, 0xFFFF, "T61100-OCP-SO Unified Wire Storage Controller(0x6514)"},
+{0x1425, 0x6514, 0xFFFF, 0xFFFF, "T62100-SO-OCP3 Unified Wire Storage Controller(0x6514)"},
{0x1425, 0x6515, 0xFFFF, 0xFFFF, "T6201-BT Unified Wire Storage Controller(0x6515)"},
{0x1425, 0x6580, 0xFFFF, 0xFFFF, "T6225-6080 Unified Wire Storage Controller(0x6580)"},
{0x1425, 0x6581, 0xFFFF, 0xFFFF, "T62100-6081 Unified Wire Storage Controller(0x6581)"},
@@ -22564,14 +22724,14 @@ static pci_id_t const pci_vid_1425[] = {
{0x1425, 0x6602, 0xFFFF, 0xFFFF, "T6225-SO-CR Unified Wire Storage Controller(0x6602)"},
{0x1425, 0x6603, 0xFFFF, 0xFFFF, "T6425-CR Unified Wire Storage Controller(0x6603)"},
{0x1425, 0x6604, 0xFFFF, 0xFFFF, "T6425-SO-CR Unified Wire Storage Controller(0x6604)"},
-{0x1425, 0x6605, 0xFFFF, 0xFFFF, "T6225-OCP-SO Unified Wire Storage Controller(0x6605)"},
-{0x1425, 0x6606, 0xFFFF, 0xFFFF, "T62100-OCP-SO Unified Wire Storage Controller(0x6606)"},
+{0x1425, 0x6605, 0xFFFF, 0xFFFF, "T6225-SO-OCP3 Unified Wire Storage Controller(0x6605)"},
+{0x1425, 0x6606, 0xFFFF, 0xFFFF, "T6225-OCP3 Unified Wire Storage Controller(0x6606)"},
{0x1425, 0x6607, 0xFFFF, 0xFFFF, "T62100-LP-CR Unified Wire Storage Controller(0x6607)"},
{0x1425, 0x6608, 0xFFFF, 0xFFFF, "T62100-SO-CR Unified Wire Storage Controller(0x6608)"},
{0x1425, 0x6609, 0xFFFF, 0xFFFF, "T6210-BT Unified Wire Storage Controller(0x6609)"},
{0x1425, 0x660D, 0xFFFF, 0xFFFF, "T62100-CR Unified Wire Storage Controller(0x660D)"},
{0x1425, 0x6611, 0xFFFF, 0xFFFF, "T6225-LL-CR Unified Wire Storage Controller(0x6611)"},
-{0x1425, 0x6614, 0xFFFF, 0xFFFF, "T61100-OCP-SO Unified Wire Storage Controller(0x6614)"},
+{0x1425, 0x6614, 0xFFFF, 0xFFFF, "T62100-SO-OCP3 Unified Wire Storage Controller(0x6614)"},
{0x1425, 0x6615, 0xFFFF, 0xFFFF, "T6201-BT Unified Wire Storage Controller(0x6615)"},
{0x1425, 0x6680, 0xFFFF, 0xFFFF, "T6225-6080 Unified Wire Storage Controller(0x6680)"},
{0x1425, 0x6681, 0xFFFF, 0xFFFF, "T62100-6081 Unified Wire Storage Controller(0x6681)"},
@@ -22589,14 +22749,14 @@ static pci_id_t const pci_vid_1425[] = {
{0x1425, 0x6802, 0xFFFF, 0xFFFF, "T6225-SO-CR Unified Wire Ethernet Controller [VF](0x6802)"},
{0x1425, 0x6803, 0xFFFF, 0xFFFF, "T6425-CR Unified Wire Ethernet Controller [VF](0x6803)"},
{0x1425, 0x6804, 0xFFFF, 0xFFFF, "T6425-SO-CR Unified Wire Ethernet Controller [VF](0x6804)"},
-{0x1425, 0x6805, 0xFFFF, 0xFFFF, "T6225-OCP-SO Unified Wire Ethernet Controller [VF](0x6805)"},
-{0x1425, 0x6806, 0xFFFF, 0xFFFF, "T62100-OCP-SO Unified Wire Ethernet Controller [VF](0x6806)"},
+{0x1425, 0x6805, 0xFFFF, 0xFFFF, "T6225-SO-OCP3 Unified Wire Ethernet Controller [VF](0x6805)"},
+{0x1425, 0x6806, 0xFFFF, 0xFFFF, "T6225-OCP3 Unified Wire Ethernet Controller [VF](0x6806)"},
{0x1425, 0x6807, 0xFFFF, 0xFFFF, "T62100-LP-CR Unified Wire Ethernet Controller [VF](0x6807)"},
{0x1425, 0x6808, 0xFFFF, 0xFFFF, "T62100-SO-CR Unified Wire Ethernet Controller [VF](0x6808)"},
{0x1425, 0x6809, 0xFFFF, 0xFFFF, "T6210-BT Unified Wire Ethernet Controller [VF](0x6809)"},
{0x1425, 0x680D, 0xFFFF, 0xFFFF, "T62100-CR Unified Wire Ethernet Controller [VF](0x680D)"},
{0x1425, 0x6811, 0xFFFF, 0xFFFF, "T6225-LL-CR Unified Wire Ethernet Controller [VF](0x6811)"},
-{0x1425, 0x6814, 0xFFFF, 0xFFFF, "T61100-OCP-SO Unified Wire Ethernet Controller [VF](0x6814)"},
+{0x1425, 0x6814, 0xFFFF, 0xFFFF, "T62100-SO-OCP3 Unified Wire Ethernet Controller [VF](0x6814)"},
{0x1425, 0x6815, 0xFFFF, 0xFFFF, "T6201-BT Unified Wire Ethernet Controller [VF](0x6815)"},
{0x1425, 0x6880, 0xFFFF, 0xFFFF, "T6225-6080 Unified Wire Ethernet Controller [VF](0x6880)"},
{0x1425, 0x6881, 0xFFFF, 0xFFFF, "T62100-6081 Unified Wire Ethernet Controller [VF](0x6881)"},
@@ -22954,6 +23114,7 @@ static pci_id_t const pci_vid_144D[] = {
{0x144D, 0xA826, 0x1028, 0x225D, "NVMe PM1745 MU U.2 6.4TB(0x1028-0x225D)"},
{0x144D, 0xA826, 0x1028, 0x225E, "NVMe FIPS PM1745 MU U.2 12.8TB(0x1028-0x225E)"},
{0x144D, 0xA826, 0x1028, 0x225F, "NVMe PM1745 MU U.2 12.8TB(0x1028-0x225F)"},
+{0x144D, 0xA900, 0xFFFF, 0xFFFF, "NVMe SSD Controller PM9DXa(0xA900)"},
{0x144D, 0xECEC, 0xFFFF, 0xFFFF, "Exynos 8895 PCIe Root Complex(0xECEC)"},
}; /* pci_vid_144D[] */
@@ -23969,6 +24130,7 @@ static pci_id_t const pci_vid_14E4[] = {
{0x14E4, 0x168E, 0x193D, 0x1003, "530F-B(0x193D-0x1003)"},
{0x14E4, 0x168E, 0x193D, 0x1006, "530F-L(0x193D-0x1006)"},
{0x14E4, 0x168E, 0x193D, 0x100F, "NIC-ETH522i-Mb-2x10G(0x193D-0x100F)"},
+{0x14E4, 0x168E, 0x4C52, 0x9812, "LREC9812AF Dual-port 10Gb Ethernet Server Adapter(0x4C52-0x9812)"},
{0x14E4, 0x1690, 0xFFFF, 0xFFFF, "NetXtreme BCM57760 Gigabit Ethernet PCIe(0x1690)"},
{0x14E4, 0x1691, 0xFFFF, 0xFFFF, "NetLink BCM57788 Gigabit Ethernet PCIe(0x1691)"},
{0x14E4, 0x1691, 0x1028, 0x04AA, "XPS 8300(0x1028-0x04AA)"},
@@ -23996,6 +24158,7 @@ static pci_id_t const pci_vid_14E4[] = {
{0x14E4, 0x16A1, 0xFFFF, 0xFFFF, "BCM57840 NetXtreme II 10 Gigabit Ethernet(0x16A1)"},
{0x14E4, 0x16A1, 0x1043, 0x866E, "PEB-10G/57840-2T 10GBase-T Network Adapter(0x1043-0x866E)"},
{0x14E4, 0x16A1, 0x193D, 0x100B, "NIC-ETH521i-Mb-4x10G(0x193D-0x100B)"},
+{0x14E4, 0x16A1, 0x4C52, 0x9814, "LREC9814AF Quad-port 10Gb Ethernet Server Adapter(0x4C52-0x9814)"},
{0x14E4, 0x16A2, 0xFFFF, 0xFFFF, "BCM57840 NetXtreme II 10/20-Gigabit Ethernet(0x16A2)"},
{0x14E4, 0x16A2, 0x103C, 0x1916, "FlexFabric 20Gb 2-port 630FLB Adapter(0x103C-0x1916)"},
{0x14E4, 0x16A2, 0x103C, 0x1917, "FlexFabric 20Gb 2-port 630M Adapter(0x103C-0x1917)"},
@@ -24208,7 +24371,7 @@ static pci_id_t const pci_vid_14E4[] = {
{0x14E4, 0x1751, 0x14E4, 0x5425, "NetXtreme-E Quad-port 25G SFP28 Ethernet OCP 3.0 Adapter (BCM957504-N425G)(0x14E4-0x5425)"},
{0x14E4, 0x1751, 0x14E4, 0xD142, "NetXtreme-E P425D BCM57504 4x25G SFP28 PCIE(0x14E4-0xD142)"},
{0x14E4, 0x1752, 0xFFFF, 0xFFFF, "BCM57502 NetXtreme-E 10Gb/25Gb/40Gb/50Gb Ethernet(0x1752)"},
-{0x14E4, 0x1760, 0xFFFF, 0xFFFF, "BCM57608 NetXtreme-E 10Gb/25Gb/50Gb/100Gb/200Gb/400Gb Ethernet(0x1760)"},
+{0x14E4, 0x1760, 0xFFFF, 0xFFFF, "BCM57608 10Gb/25Gb/50Gb/100Gb/200Gb/400Gb Ethernet(0x1760)"},
{0x14E4, 0x1760, 0x14E4, 0xD125, "BCM57608 2x200G PCIe Ethernet NIC(0x14E4-0xD125)"},
{0x14E4, 0x1800, 0xFFFF, 0xFFFF, "BCM57502 NetXtreme-E Ethernet Partition(0x1800)"},
{0x14E4, 0x1801, 0xFFFF, 0xFFFF, "BCM57504 NetXtreme-E Ethernet Partition(0x1801)"},
@@ -25305,6 +25468,7 @@ static pci_id_t const pci_vid_1542[] = {
{0x1542, 0x9290, 0xFFFF, 0xFFFF, "FPGA Card(0x9290)"},
{0x1542, 0x9300, 0xFFFF, 0xFFFF, "Universal Exhaust Gas Oxygen Sensor Simulator(0x9300)"},
{0x1542, 0x9310, 0xFFFF, 0xFFFF, "Digital Programmable Resistor(0x9310)"},
+{0x1542, 0x9320, 0xFFFF, 0xFFFF, "Arria 10 FPGA Card(0x9320)"},
{0x1542, 0x9350, 0xFFFF, 0xFFFF, "Analog Input Card(0x9350)"},
}; /* pci_vid_1542[] */
@@ -25844,6 +26008,10 @@ static pci_id_t const pci_vid_15B3[] = {
{0x15B3, 0x021F, 0xFFFF, 0xFFFF, "CX8 Family [ConnectX-8 Secure Flash Recovery](0x021F)"},
{0x15B3, 0x0220, 0xFFFF, 0xFFFF, "BF4 Family Flash Recovery [BlueField-4 SoC Flash Recovery](0x0220)"},
{0x15B3, 0x0221, 0xFFFF, 0xFFFF, "BF4 Family Secure Flash Recovery [BlueField-4 Secure Flash Recovery](0x0221)"},
+{0x15B3, 0x0222, 0xFFFF, 0xFFFF, "CX8 PCIe Switch Family [ConnectX-8 PCIe Switch Flash Recovery](0x0222)"},
+{0x15B3, 0x0223, 0xFFFF, 0xFFFF, "CX8 PCIe Switch Family [ConnectX-8 PCIe Switch Secure Flash Recovery-RMA](0x0223)"},
+{0x15B3, 0x0224, 0xFFFF, 0xFFFF, "CX9 Family [ConnectX-9 Flash Recovery](0x0224)"},
+{0x15B3, 0x0225, 0xFFFF, 0xFFFF, "CX9 Family [ConnectX-9 Secure Flash Recovery-RMA](0x0225)"},
{0x15B3, 0x024E, 0xFFFF, 0xFFFF, "MT53100 [Spectrum-2, Flash recovery mode](0x024E)"},
{0x15B3, 0x024F, 0xFFFF, 0xFFFF, "MT53100 [Spectrum-2, Secure Flash recovery mode](0x024F)"},
{0x15B3, 0x0250, 0xFFFF, 0xFFFF, "Spectrum-3, Flash recovery mode(0x0250)"},
@@ -25875,6 +26043,8 @@ static pci_id_t const pci_vid_15B3[] = {
{0x15B3, 0x0285, 0xFFFF, 0xFFFF, "Sagitta RMA(0x0285)"},
{0x15B3, 0x0286, 0xFFFF, 0xFFFF, "LibraE Flash Recovery(0x0286)"},
{0x15B3, 0x0287, 0xFFFF, 0xFFFF, "LibraE RMA(0x0287)"},
+{0x15B3, 0x0288, 0xFFFF, 0xFFFF, "Arcus2(0x0288)"},
+{0x15B3, 0x0289, 0xFFFF, 0xFFFF, "Arcus2 RMA(0x0289)"},
{0x15B3, 0x1002, 0xFFFF, 0xFFFF, "MT25400 Family [ConnectX-2 Virtual Function](0x1002)"},
{0x15B3, 0x1003, 0xFFFF, 0xFFFF, "MT27500 Family [ConnectX-3](0x1003)"},
{0x15B3, 0x1003, 0x1014, 0x04B5, "PCIe3 40GbE RoCE Converged Host Bus Adapter for Power(0x1014-0x04B5)"},
@@ -25972,6 +26142,8 @@ static pci_id_t const pci_vid_15B3[] = {
{0x15B3, 0x1020, 0xFFFF, 0xFFFF, "MT28860(0x1020)"},
{0x15B3, 0x1021, 0xFFFF, 0xFFFF, "MT2910 Family [ConnectX-7](0x1021)"},
{0x15B3, 0x1023, 0xFFFF, 0xFFFF, "CX8 Family [ConnectX-8](0x1023)"},
+{0x15B3, 0x1024, 0xFFFF, 0xFFFF, "CX8 PCIe Switch Family [ConnectX-8 PCIe Switch](0x1024)"},
+{0x15B3, 0x1025, 0xFFFF, 0xFFFF, "CX9 Family [ConnectX-9](0x1025)"},
{0x15B3, 0x1974, 0xFFFF, 0xFFFF, "MT28800 Family [ConnectX-5 PCIe Bridge](0x1974)"},
{0x15B3, 0x1975, 0xFFFF, 0xFFFF, "MT416842 Family [BlueField SoC PCIe Bridge](0x1975)"},
{0x15B3, 0x1976, 0xFFFF, 0xFFFF, "MT28908 Family [ConnectX-6 PCIe Bridge](0x1976)"},
@@ -25981,11 +26153,14 @@ static pci_id_t const pci_vid_15B3[] = {
{0x15B3, 0x197A, 0xFFFF, 0xFFFF, "MT43162 Family [BlueField-3 Lx SoC PCIe Bridge](0x197A)"},
{0x15B3, 0x197B, 0xFFFF, 0xFFFF, "MT43244 Family [BlueField-3 SoC PCIe Bridge](0x197B)"},
{0x15B3, 0x197C, 0xFFFF, 0xFFFF, "ConnectX/BlueField Family mlx5Gen PCIe Bridge [PCIe Bridge](0x197C)"},
+{0x15B3, 0x197D, 0xFFFF, 0xFFFF, "CX8 Family [ConnectX-8 PCIe Bridge](0x197D)"},
+{0x15B3, 0x197E, 0xFFFF, 0xFFFF, "CX9 Family [ConnectX-9 PCIe Bridge](0x197E)"},
{0x15B3, 0x2020, 0xFFFF, 0xFFFF, "MT2892 Family [ConnectX-6 Dx Emulated PCIe Bridge](0x2020)"},
{0x15B3, 0x2021, 0xFFFF, 0xFFFF, "MT42822 Family [BlueField-2 SoC Emulated PCIe Bridge](0x2021)"},
{0x15B3, 0x2023, 0xFFFF, 0xFFFF, "MT2910 Family [ConnectX-7 Emulated PCIe Bridge](0x2023)"},
{0x15B3, 0x2024, 0xFFFF, 0xFFFF, "MT43244 Family [BlueField-3 SoC Emulated PCIe Bridge](0x2024)"},
{0x15B3, 0x2025, 0xFFFF, 0xFFFF, "ConnectX/BlueField Family mlx5Gen Emulated PCIe Bridge [Emulated PCIe Bridge](0x2025)"},
+{0x15B3, 0x2100, 0xFFFF, 0xFFFF, "CX8 Family [CX8 Data Direct Interface](0x2100)"},
{0x15B3, 0x4117, 0xFFFF, 0xFFFF, "MT27712A0-FDCF-AE(0x4117)"},
{0x15B3, 0x4117, 0x1BD4, 0x0039, "SN10XMP2P25(0x1BD4-0x0039)"},
{0x15B3, 0x4117, 0x1BD4, 0x003A, "25G SFP28 SP EO251FM9 Adapter(0x1BD4-0x003A)"},
@@ -26050,6 +26225,7 @@ static pci_id_t const pci_vid_15B3[] = {
{0x15B3, 0xA2DF, 0xFFFF, 0xFFFF, "BF4 Family integrated network controller [BlueField-4 integrated network controller](0xA2DF)"},
{0x15B3, 0xB200, 0xFFFF, 0xFFFF, "ArcusE(0xB200)"},
{0x15B3, 0xB201, 0xFFFF, 0xFFFF, "LibraE(0xB201)"},
+{0x15B3, 0xB202, 0xFFFF, 0xFFFF, "Arcus2(0xB202)"},
{0x15B3, 0xC2D1, 0xFFFF, 0xFFFF, "BlueField DPU Family Auxiliary Communication Channel [BlueField Family](0xC2D1)"},
{0x15B3, 0xC2D2, 0xFFFF, 0xFFFF, "MT416842 BlueField SoC management interfac(0xC2D2)"},
{0x15B3, 0xC2D3, 0xFFFF, 0xFFFF, "MT42822 BlueField-2 SoC Management Interface(0xC2D3)"},
@@ -26126,12 +26302,14 @@ static pci_id_t const pci_vid_15B7[] = {
{0x15B7, 0x5019, 0xFFFF, 0xFFFF, "WD Green SN350 240GB (DRAM-less) / SN560E NVMe SSD(0x5019)"},
{0x15B7, 0x501A, 0xFFFF, 0xFFFF, "SanDisk Ultra 3D / WD Blue SN570 NVMe SSD (DRAM-less)(0x501A)"},
{0x15B7, 0x501D, 0xFFFF, 0xFFFF, "WD Blue SN550 NVMe SSD 2TB (DRAM-less)(0x501D)"},
-{0x15B7, 0x501E, 0xFFFF, 0xFFFF, "PC SN735 NVMe SSD (DRAM-less)(0x501E)"},
+{0x15B7, 0x501E, 0xFFFF, 0xFFFF, "PC SN735 / WD_BLACK SN750 SE NVMe SSD (DRAM-less)(0x501E)"},
{0x15B7, 0x501F, 0xFFFF, 0xFFFF, "WD PC SN735 NVMe SSD 512GB (DRAM-less)(0x501F)"},
{0x15B7, 0x5025, 0xFFFF, 0xFFFF, "WD Blue SN570 NVMe SSD 2TB(0x5025)"},
{0x15B7, 0x5026, 0xFFFF, 0xFFFF, "WD PC SN735 NVMe SSD 1TB (DRAM-less)(0x5026)"},
{0x15B7, 0x5028, 0xFFFF, 0xFFFF, "WD CH SN560 NVMe SSD(0x5028)"},
{0x15B7, 0x5030, 0xFFFF, 0xFFFF, "WD Black SN850X NVMe SSD(0x5030)"},
+{0x15B7, 0x5034, 0xFFFF, 0xFFFF, "WD PC SN5000S M.2 2230 NVMe SSD (DRAM-less)(0x5034)"},
+{0x15B7, 0x5036, 0xFFFF, 0xFFFF, "WD PC SN5000S M.2 2280 NVMe SSD (DRAM-less)(0x5036)"},
{0x15B7, 0x5041, 0xFFFF, 0xFFFF, "WD Blue SN580 NVMe SSD (DRAM-less)(0x5041)"},
{0x15B7, 0x5042, 0xFFFF, 0xFFFF, "WD Black SN770M NVMe SSD (DRAM-less)(0x5042)"},
}; /* pci_vid_15B7[] */
@@ -28989,8 +29167,10 @@ static pci_id_t const pci_vid_196E[] = {
static pci_id_t const pci_vid_1971[] = {
{0x1971, 0xFFFF, 0xFFFF, 0xFFFF, "AGEIA Technologies, Inc.(0x1971)"},
-{0x1971, 0x1011, 0xFFFF, 0xFFFF, "Physics Processing Unit [PhysX](0x1011)"},
+{0x1971, 0x0000, 0xFFFF, 0xFFFF, "Physics Processing Unit [PhysX] 100 Series PCI Express Card(0x0000)"},
+{0x1971, 0x1011, 0xFFFF, 0xFFFF, "Physics Processing Unit [PhysX] 100 Series PCI Card(0x1011)"},
{0x1971, 0x1011, 0x1043, 0x0001, "PhysX P1(0x1043-0x0001)"},
+{0x1971, 0x1021, 0xFFFF, 0xFFFF, "Physics Processing Unit [PhysX] 200 Series PCI Express Card(0x1021)"},
}; /* pci_vid_1971[] */
static pci_id_t const pci_vid_1974[] = {
@@ -29928,6 +30108,7 @@ static pci_id_t const pci_vid_1B4B[] = {
{0x1B4B, 0x2241, 0x1B96, 0x4000, "WD_BLACK AN1500 NVMe SSD(0x1B96-0x4000)"},
{0x1B4B, 0x2241, 0x1D49, 0x0306, "ThinkSystem M.2 NVMe 2-Bay RAID Enablement Kit(0x1D49-0x0306)"},
{0x1B4B, 0x2241, 0x1D49, 0x0307, "ThinkSystem 7mm NVMe 2-Bay Rear RAID Enablement Kit(0x1D49-0x0307)"},
+{0x1B4B, 0x2B42, 0xFFFF, 0xFFFF, "88W8997 2.4/5 GHz Dual-Band 2x2 Wi-Fi® 5 (802.11ac) + Bluetooth® 5.3 Solution(0x2B42)"},
{0x1B4B, 0x2B43, 0xFFFF, 0xFFFF, "NXP 88W9098 Wi-Fi 6 (ax) MAC #1(0x2B43)"},
{0x1B4B, 0x2B44, 0xFFFF, 0xFFFF, "NXP 88W9098 Wi-Fi 6 (ax) MAC #2(0x2B44)"},
{0x1B4B, 0x2B45, 0xFFFF, 0xFFFF, "NXP 88W9098 Bluetooth 5.3(0x2B45)"},
@@ -29983,6 +30164,10 @@ static pci_id_t const pci_vid_1B55[] = {
{0x1B55, 0xF1C4, 0xFFFF, 0xFFFF, "Dual ASI-RX/TX-CI card(0xF1C4)"},
}; /* pci_vid_1B55[] */
+static pci_id_t const pci_vid_1B61[] = {
+{0x1B61, 0xFFFF, 0xFFFF, 0xFFFF, "Byd Precision Manufacture Co.,Ltd(0x1B61)"},
+}; /* pci_vid_1B61[] */
+
static pci_id_t const pci_vid_1B66[] = {
{0x1B66, 0xFFFF, 0xFFFF, 0xFFFF, "DELTACAST(0x1B66)"},
{0x1B66, 0x0007, 0xFFFF, 0xFFFF, "DELTA-3G-elp-d(0x0007)"},
@@ -30228,6 +30413,21 @@ static pci_id_t const pci_vid_1BEE[] = {
{0x1BEE, 0xFFFF, 0xFFFF, 0xFFFF, "IXXAT Automation GmbH(0x1BEE)"},
{0x1BEE, 0x0002, 0xFFFF, 0xFFFF, "CAN-IB100/PCIe(0x0002)"},
{0x1BEE, 0x0003, 0xFFFF, 0xFFFF, "CAN-IB200/PCIe(0x0003)"},
+{0x1BEE, 0x0004, 0xFFFF, 0xFFFF, "CAN-IB120/PCIe Mini(0x0004)"},
+{0x1BEE, 0x0005, 0xFFFF, 0xFFFF, "CAN-IB130/PCIe 104(0x0005)"},
+{0x1BEE, 0x0006, 0xFFFF, 0xFFFF, "CAN-IB230/PCIe 104(0x0006)"},
+{0x1BEE, 0x000E, 0xFFFF, 0xFFFF, "CAN-IB500/PCIe(0x000E)"},
+{0x1BEE, 0x000F, 0xFFFF, 0xFFFF, "CAN-IB600/PCIe(0x000F)"},
+{0x1BEE, 0x0010, 0xFFFF, 0xFFFF, "CAN-IB300/PCI(0x0010)"},
+{0x1BEE, 0x0011, 0xFFFF, 0xFFFF, "CAN-IB400/PCI(0x0011)"},
+{0x1BEE, 0x0012, 0xFFFF, 0xFFFF, "CAN-IB520/PCIe Mini(0x0012)"},
+{0x1BEE, 0x0016, 0xFFFF, 0xFFFF, "CAN-IB410/PMC(0x0016)"},
+{0x1BEE, 0x001C, 0xFFFF, 0xFFFF, "CAN-IB810/PMC(0x001C)"},
+{0x1BEE, 0x001E, 0xFFFF, 0xFFFF, "INpact PCIe(0x001E)"},
+{0x1BEE, 0x001F, 0xFFFF, 0xFFFF, "INpact PCIe Mini(0x001F)"},
+{0x1BEE, 0x0029, 0xFFFF, 0xFFFF, "INpact M.2(0x0029)"},
+{0x1BEE, 0x002D, 0xFFFF, 0xFFFF, "CAN-IB630/PCIe 104(0x002D)"},
+{0x1BEE, 0x002E, 0xFFFF, 0xFFFF, "CAN-IB640/PCIe(0x002E)"},
}; /* pci_vid_1BEE[] */
static pci_id_t const pci_vid_1BEF[] = {
@@ -30405,6 +30605,7 @@ static pci_id_t const pci_vid_1C5C[] = {
{0x1C5C, 0x2429, 0xFFFF, 0xFFFF, "PE6011 NVMe Solid State Drive(0x2429)"},
{0x1C5C, 0x243B, 0xFFFF, 0xFFFF, "PE6110 NVMe Solid State Drive(0x243B)"},
{0x1C5C, 0x243B, 0x1C5C, 0x0100, "PE6110 NVMe Solid State Drive(0x1C5C-0x0100)"},
+{0x1C5C, 0x2527, 0xFFFF, 0xFFFF, "PE4010 NVMe Solid State Drive(0x2527)"},
{0x1C5C, 0x2839, 0xFFFF, 0xFFFF, "PE8000 Series NVMe Solid State Drive(0x2839)"},
{0x1C5C, 0x2839, 0x1028, 0x2143, "DC NVMe SED PE8010 RI U.2 960GB(0x1028-0x2143)"},
{0x1C5C, 0x2839, 0x1028, 0x2144, "DC NVMe PE8010 RI U.2 960GB(0x1028-0x2144)"},
@@ -30534,6 +30735,14 @@ static pci_id_t const pci_vid_1C5F[] = {
{0x1C5F, 0x003F, 0x1C5F, 0x5445, "NVMe SSD PBlaze7 7946 6400G E1.S(0x1C5F-0x5445)"},
{0x1C5F, 0x003F, 0x1C5F, 0x5450, "NVMe SSD PBlaze7 7946 12800G AIC(0x1C5F-0x5450)"},
{0x1C5F, 0x003F, 0x1C5F, 0x5451, "NVMe SSD PBlaze7 7946 12800G 2.5\" U.2(0x1C5F-0x5451)"},
+{0x1C5F, 0x003F, 0x1EA0, 0x2100, "TP2510 Series U.2 NVMe Datacenter SSD(3.84TB)(0x1EA0-0x2100)"},
+{0x1C5F, 0x003F, 0x1EA0, 0x2101, "TP2511 Series U.2 NVMe Datacenter SSD(3.84TB)(0x1EA0-0x2101)"},
+{0x1C5F, 0x003F, 0x1EA0, 0x2110, "TP2510 Series E3.S NVMe Datacenter SSD(3.84TB)(0x1EA0-0x2110)"},
+{0x1C5F, 0x003F, 0x1EA0, 0x2111, "TP2511 Series E3.S NVMe Datacenter SSD(3.84TB)(0x1EA0-0x2111)"},
+{0x1C5F, 0x003F, 0x1EA0, 0x2200, "TP2510 Series U.2 NVMe Datacenter SSD(7.68TB)(0x1EA0-0x2200)"},
+{0x1C5F, 0x003F, 0x1EA0, 0x2201, "TP2511 Series U.2 NVMe Datacenter SSD(7.68TB)(0x1EA0-0x2201)"},
+{0x1C5F, 0x003F, 0x1EA0, 0x2210, "TP2510 Series E3.S NVMe Datacenter SSD(7.68TB)(0x1EA0-0x2210)"},
+{0x1C5F, 0x003F, 0x1EA0, 0x2211, "TP2511 Series E3.S NVMe Datacenter SSD(7.68TB)(0x1EA0-0x2211)"},
{0x1C5F, 0x0540, 0xFFFF, 0xFFFF, "PBlaze4 NVMe SSD(0x0540)"},
{0x1C5F, 0x0550, 0xFFFF, 0xFFFF, "PBlaze5 700/900(0x0550)"},
{0x1C5F, 0x0555, 0xFFFF, 0xFFFF, "PBlaze5 510/516(0x0555)"},
@@ -30672,6 +30881,10 @@ static pci_id_t const pci_vid_1CC4[] = {
{0x1CC4, 0x8030, 0x1CC4, 0x2213, "NVMe SSD UH832a E3.S 3.2TB(0x1CC4-0x2213)"},
{0x1CC4, 0x8030, 0x1CC4, 0x2214, "NVMe SSD UH832a E3.S 6.4TB(0x1CC4-0x2214)"},
{0x1CC4, 0x8030, 0x1CC4, 0x2215, "NVMe SSD UH832a E3.S 12.8TB(0x1CC4-0x2215)"},
+{0x1CC4, 0x8030, 0x1CC4, 0x3122, "NVMe SSD UH712a U.2 1.92TB(0x1CC4-0x3122)"},
+{0x1CC4, 0x8030, 0x1CC4, 0x3123, "NVMe SSD UH712a U.2 3.84TB(0x1CC4-0x3123)"},
+{0x1CC4, 0x8030, 0x1CC4, 0x3124, "NVMe SSD UH712a U.2 7.68TB(0x1CC4-0x3124)"},
+{0x1CC4, 0x8030, 0x1CC4, 0x3125, "NVMe SSD UH712a U.2 15.36TB(0x1CC4-0x3125)"},
}; /* pci_vid_1CC4[] */
static pci_id_t const pci_vid_1CC5[] = {
@@ -30963,12 +31176,16 @@ static pci_id_t const pci_vid_1D69[] = {
static pci_id_t const pci_vid_1D6A[] = {
{0x1D6A, 0xFFFF, 0xFFFF, 0xFFFF, "Aquantia Corp.(0x1D6A)"},
{0x1D6A, 0x0001, 0xFFFF, 0xFFFF, "AQC107 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion](0x0001)"},
+{0x1D6A, 0x0001, 0x4C52, 0x6880, "LREC6880BT Single-port 10Gb Ethernet Network Adapter(0x4C52-0x6880)"},
{0x1D6A, 0x00B1, 0xFFFF, 0xFFFF, "AQtion AQC100 NBase-T/IEEE 802.3an Ethernet Controller [Atlantic 10G](0x00B1)"},
{0x1D6A, 0x00C0, 0xFFFF, 0xFFFF, "Antigua NBase-T/IEEE 802.3an Ethernet Controller - Engineering Sample(0x00C0)"},
{0x1D6A, 0x04C0, 0xFFFF, 0xFFFF, "AQtion AQC113 NBase-T/IEEE 802.3an Ethernet Controller [Antigua 10G](0x04C0)"},
+{0x1D6A, 0x04C0, 0x4C52, 0x1053, "LRES1053PT Quad-port 10Gb Ethernet Network Adapter(0x4C52-0x1053)"},
+{0x1D6A, 0x04C0, 0x4C52, 0x2051, "LRES2051PT Single-port 10Gb Ethernet Network Adapter(0x4C52-0x2051)"},
{0x1D6A, 0x07B1, 0xFFFF, 0xFFFF, "AQtion AQC107 NBase-T/IEEE 802.3an Ethernet Controller [Atlantic 10G](0x07B1)"},
{0x1D6A, 0x07B1, 0x1BAA, 0x07B1, "QM2-2P10G1TA [QXG 10GbE Network Adapter](0x1BAA-0x07B1)"},
{0x1D6A, 0x07B1, 0x1BAA, 0x07B2, "QM2-2P10G1TA [QM2 Expansion Adapter](0x1BAA-0x07B2)"},
+{0x1D6A, 0x07B1, 0x4C52, 0x6880, "LREC6880BT Single-port 10Gb Ethernet Network Adapter(0x4C52-0x6880)"},
{0x1D6A, 0x08B1, 0xFFFF, 0xFFFF, "AQC108 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion](0x08B1)"},
{0x1D6A, 0x11B1, 0xFFFF, 0xFFFF, "AQC111 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion](0x11B1)"},
{0x1D6A, 0x12B1, 0xFFFF, 0xFFFF, "AQC112 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion](0x12B1)"},
@@ -31103,7 +31320,7 @@ static pci_id_t const pci_vid_1D79[] = {
{0x1D79, 0x2262, 0xFFFF, 0xFFFF, "NVMe PCIe SSD 220S/MTE662T2(0x2262)"},
{0x1D79, 0x2263, 0xFFFF, 0xFFFF, "NVMe PCIe SSD 110S/112S/120S/MTE300S/MTE400S/MTE652T2 (DRAM-less)(0x2263)"},
{0x1D79, 0x2264, 0xFFFF, 0xFFFF, "NVMe PCIe SSD 250H(0x2264)"},
-{0x1D79, 0x2267, 0xFFFF, 0xFFFF, "NVMe PCIe SSD 240S/MTE710T(0x2267)"},
+{0x1D79, 0x2267, 0xFFFF, 0xFFFF, "NVMe PCIe SSD 220S/240S/MTE710T(0x2267)"},
{0x1D79, 0x5766, 0xFFFF, 0xFFFF, "NVMe PCIe SSD 110Q (DRAM-less)(0x5766)"},
}; /* pci_vid_1D79[] */
@@ -31668,6 +31885,7 @@ static pci_id_t const pci_vid_1DF3[] = {
static pci_id_t const pci_vid_1DF5[] = {
{0x1DF5, 0xFFFF, 0xFFFF, 0xFFFF, "Shenzhen TIGO Semiconductor(0x1DF5)"},
{0x1DF5, 0x1202, 0xFFFF, 0xFFFF, "kimtigo NVMe SSD (DRAM-less)(0x1202)"},
+{0x1DF5, 0x2263, 0xFFFF, 0xFFFF, "kimtigo MG931K NVMe SSD (DRAM-less)(0x2263)"},
}; /* pci_vid_1DF5[] */
static pci_id_t const pci_vid_1DF7[] = {
@@ -31791,6 +32009,7 @@ static pci_id_t const pci_vid_1E0F[] = {
{0x1E0F, 0x0025, 0x1028, 0x223C, "Ent NVMe CM7 U.2 MU 6.4TB(0x1028-0x223C)"},
{0x1E0F, 0x0025, 0x1028, 0x223D, "Ent NVMe CM7 U.2 MU 3.2TB(0x1028-0x223D)"},
{0x1E0F, 0x0025, 0x1028, 0x223E, "Ent NVMe CM7 U.2 MU 1.6TB(0x1028-0x223E)"},
+{0x1E0F, 0x002A, 0xFFFF, 0xFFFF, "Exceria Plus G3 NVMe SSD (DRAM-less)(0x002A)"},
{0x1E0F, 0x002C, 0xFFFF, 0xFFFF, "NVMe SSD Controller CD8P EDSFF(0x002C)"},
{0x1E0F, 0x002C, 0x1028, 0x22BF, "DC NVMe CD8P E3.S 15.36TB(0x1028-0x22BF)"},
{0x1E0F, 0x002C, 0x1028, 0x22C0, "DC NVMe CD8P E3.S 7.68TB(0x1028-0x22C0)"},
@@ -31841,7 +32060,8 @@ static pci_id_t const pci_vid_1E36[] = {
{0x1E36, 0x8032, 0xFFFF, 0xFFFF, "S6 [Enflame](0x8032)"},
{0x1E36, 0xC031, 0xFFFF, 0xFFFF, "S30 [Enflame](0xC031)"},
{0x1E36, 0xC032, 0xFFFF, 0xFFFF, "S90 [Enflame](0xC032)"},
-{0x1E36, 0xC033, 0xFFFF, 0xFFFF, "S60 [Enflame](0xC033)"},
+{0x1E36, 0xC033, 0xFFFF, 0xFFFF, "S60G [Enflame](0xC033)"},
+{0x1E36, 0xC035, 0xFFFF, 0xFFFF, "S60 [Enflame](0xC035)"},
}; /* pci_vid_1E36[] */
static pci_id_t const pci_vid_1E38[] = {
@@ -31861,7 +32081,7 @@ static pci_id_t const pci_vid_1E3A[] = {
static pci_id_t const pci_vid_1E3B[] = {
{0x1E3B, 0xFFFF, 0xFFFF, 0xFFFF, "DapuStor Corporation(0x1E3B)"},
{0x1E3B, 0x0600, 0xFFFF, 0xFFFF, "NVMe SSD Controller DP600(0x0600)"},
-{0x1E3B, 0x0600, 0x1E3B, 0x0006, "Enterprise NVMe SSD U.2 QDP 7.68TB (J5000)(0x1E3B-0x0006)"},
+{0x1E3B, 0x0600, 0x1E3B, 0x0006, "Enterprise NVMe SSD U.2 ODP 7.68TB (J5001)(0x1E3B-0x0006)"},
{0x1E3B, 0x0600, 0x1E3B, 0x0010, "Enterprise NVMe SSD U.2 3.84TB (R5102)(0x1E3B-0x0010)"},
{0x1E3B, 0x0600, 0x1E3B, 0x0013, "Enterprise NVMe SSD U.2 3.20TB (R5302)(0x1E3B-0x0013)"},
{0x1E3B, 0x0600, 0x1E3B, 0x0030, "Enterprise NVMe SSD U.2 3.84TB (J5100)(0x1E3B-0x0030)"},
@@ -31900,23 +32120,39 @@ static pci_id_t const pci_vid_1E3B[] = {
{0x1E3B, 0x0600, 0x1E3B, 0x00BE, "Enterprise NVMe SSD U.2 QDP 30.72TB (R5100)(0x1E3B-0x00BE)"},
{0x1E3B, 0x0600, 0x1E3B, 0x00C1, "Enterprise NVMe SSD U.2 QDP 25.60TB (R5300D)(0x1E3B-0x00C1)"},
{0x1E3B, 0x0600, 0x1E3B, 0x00C4, "Enterprise NVMe SSD U.2 QDP 30.72TB (R5100D)(0x1E3B-0x00C4)"},
-{0x1E3B, 0x0600, 0x1E3B, 0x00C9, "Enterprise NVMe SSD U.2 15.36TB (J5000)(0x1E3B-0x00C9)"},
-{0x1E3B, 0x0600, 0x1E3B, 0x00CA, "Enterprise NVMe SSD U.2 3.84TB (J5102)(0x1E3B-0x00CA)"},
-{0x1E3B, 0x0600, 0x1E3B, 0x00CB, "Enterprise NVMe SSD U.2 7.68TB (J5102)(0x1E3B-0x00CB)"},
-{0x1E3B, 0x0600, 0x1E3B, 0x00CC, "Enterprise NVMe SSD U.2 3.84TB (J5101)(0x1E3B-0x00CC)"},
-{0x1E3B, 0x0600, 0x1E3B, 0x00CD, "Enterprise NVMe SSD U.2 7.68TB (J5101)(0x1E3B-0x00CD)"},
-{0x1E3B, 0x0600, 0x1E3B, 0x00CE, "Enterprise NVMe SSD U.2 3.84TB (J5101D)(0x1E3B-0x00CE)"},
-{0x1E3B, 0x0600, 0x1E3B, 0x00CF, "Enterprise NVMe SSD U.2 7.68TB (J5101D)(0x1E3B-0x00CF)"},
-{0x1E3B, 0x0600, 0x1E3B, 0x00E8, "Enterprise NVMe SSD U.2 3.20TB (J5301)(0x1E3B-0x00E8)"},
-{0x1E3B, 0x0600, 0x1E3B, 0x00E9, "Enterprise NVMe SSD U.2 6.40TB (J5301)(0x1E3B-0x00E9)"},
-{0x1E3B, 0x0600, 0x1E3B, 0x00EA, "Enterprise NVMe SSD U.2 3.20TB (J5301D)(0x1E3B-0x00EA)"},
-{0x1E3B, 0x0600, 0x1E3B, 0x00EB, "Enterprise NVMe SSD U.2 6.40TB (J5301D)(0x1E3B-0x00EB)"},
+{0x1E3B, 0x0600, 0x1E3B, 0x00C9, "Enterprise NVMe SSD U.2 ODP 15.36TB (J5001)(0x1E3B-0x00C9)"},
+{0x1E3B, 0x0600, 0x1E3B, 0x00CA, "Enterprise NVMe SSD U.2 ODP 3.84TB (J5102)(0x1E3B-0x00CA)"},
+{0x1E3B, 0x0600, 0x1E3B, 0x00CB, "Enterprise NVMe SSD U.2 ODP 7.68TB (J5102)(0x1E3B-0x00CB)"},
+{0x1E3B, 0x0600, 0x1E3B, 0x00CC, "Enterprise NVMe SSD U.2 QDP 3.84TB (J5101)(0x1E3B-0x00CC)"},
+{0x1E3B, 0x0600, 0x1E3B, 0x00CD, "Enterprise NVMe SSD U.2 ODP 7.68TB (J5101)(0x1E3B-0x00CD)"},
+{0x1E3B, 0x0600, 0x1E3B, 0x00CE, "Enterprise NVMe SSD U.2 QDP 3.84TB (J5101D)(0x1E3B-0x00CE)"},
+{0x1E3B, 0x0600, 0x1E3B, 0x00CF, "Enterprise NVMe SSD U.2 ODP 7.68TB (J5101D)(0x1E3B-0x00CF)"},
+{0x1E3B, 0x0600, 0x1E3B, 0x00DC, "Enterprise NVMe SSD U.2 ODP 30.72TB with SAMSUNG 32GB DRAM (J5001)(0x1E3B-0x00DC)"},
+{0x1E3B, 0x0600, 0x1E3B, 0x00DD, "Enterprise NVMe SSD U.2 ODP 30.72TB with MT 32GB DRAM(J5001)(0x1E3B-0x00DD)"},
+{0x1E3B, 0x0600, 0x1E3B, 0x00DE, "Enterprise NVMe SSD U.2 ODP 15.36TB with SK 16GB DRAM(J5001D)(0x1E3B-0x00DE)"},
+{0x1E3B, 0x0600, 0x1E3B, 0x00DF, "Enterprise NVMe SSD U.2 ODP 30.72TB with SAMSUNG 32GB DRAM(J5001D)(0x1E3B-0x00DF)"},
+{0x1E3B, 0x0600, 0x1E3B, 0x00E7, "Enterprise NVMe SSD U.2 ODP 30.72TB with MT 32GB DRAM(J5001D)(0x1E3B-0x00E7)"},
+{0x1E3B, 0x0600, 0x1E3B, 0x00E8, "Enterprise NVMe SSD U.2 QDP 3.20TB (J5301)(0x1E3B-0x00E8)"},
+{0x1E3B, 0x0600, 0x1E3B, 0x00E9, "Enterprise NVMe SSD U.2 ODP 6.40TB (J5301)(0x1E3B-0x00E9)"},
+{0x1E3B, 0x0600, 0x1E3B, 0x00EA, "Enterprise NVMe SSD U.2 QDP 3.20TB (J5301D)(0x1E3B-0x00EA)"},
+{0x1E3B, 0x0600, 0x1E3B, 0x00EB, "Enterprise NVMe SSD U.2 ODP 6.40TB (J5301D)(0x1E3B-0x00EB)"},
{0x1E3B, 0x0600, 0x1E3B, 0x00F0, "Enterprise NVMe SSD U.2 0.40TB (X2900)(0x1E3B-0x00F0)"},
{0x1E3B, 0x0600, 0x1E3B, 0x00F1, "Enterprise NVMe SSD U.2 0.80TB (X2900)(0x1E3B-0x00F1)"},
{0x1E3B, 0x0600, 0x1E3B, 0x00F2, "Enterprise NVMe SSD U.2 1.60TB (X2900)(0x1E3B-0x00F2)"},
{0x1E3B, 0x0600, 0x1E3B, 0x00F3, "Enterprise NVMe SSD U.2 3.20TB (X2900)(0x1E3B-0x00F3)"},
{0x1E3B, 0x0600, 0x1E3B, 0x00F5, "Enterprise NVMe SSD U.2 0.40TB (X2900P)(0x1E3B-0x00F5)"},
{0x1E3B, 0x0600, 0x1E3B, 0x00F6, "Enterprise NVMe SSD U.2 0.80TB (X2900P)(0x1E3B-0x00F6)"},
+{0x1E3B, 0x0800, 0xFFFF, 0xFFFF, "DP800(0x0800)"},
+{0x1E3B, 0x0800, 0x1E3B, 0x0001, "Enterprise NVMe SSD U.2 QDP 3.84TB(R6100)(0x1E3B-0x0001)"},
+{0x1E3B, 0x0800, 0x1E3B, 0x0007, "Enterprise NVMe SSD U.2 ODP 15.36TB (R6100)(0x1E3B-0x0007)"},
+{0x1E3B, 0x0800, 0x1E3B, 0x000A, "Enterprise NVMe SSD U.2 3.20TB (R6300)(0x1E3B-0x000A)"},
+{0x1E3B, 0x0800, 0x1E3B, 0x000D, "Enterprise NVMe SSD U.2 6.40TB (R6300)(0x1E3B-0x000D)"},
+{0x1E3B, 0x0800, 0x1E3B, 0x0010, "Enterprise NVMe SSD U.2 12.80TB (R6300)(0x1E3B-0x0010)"},
+{0x1E3B, 0x0800, 0x1E3B, 0x0018, "Enterprise NVMe SSD U.2 QDP 3.84TB (R6100C)(0x1E3B-0x0018)"},
+{0x1E3B, 0x0800, 0x1E3B, 0x0019, "Enterprise NVMe SSD U.2 ODP 7.68TB (R6100C)(0x1E3B-0x0019)"},
+{0x1E3B, 0x0800, 0x1E3B, 0x001A, "Enterprise NVMe SSD U.2 3.20TB (R6300C)(0x1E3B-0x001A)"},
+{0x1E3B, 0x0800, 0x1E3B, 0x001B, "Enterprise NVMe SSD U.2 6.40TB (R6300C)(0x1E3B-0x001B)"},
+{0x1E3B, 0x0800, 0x1E3B, 0x001C, "Enterprise NVMe SSD U.2 ODP 7.68TB (R6100)(0x1E3B-0x001C)"},
{0x1E3B, 0x1098, 0xFFFF, 0xFFFF, "Haishen3 NVMe SSD(0x1098)"},
{0x1E3B, 0x1098, 0x1E3B, 0x0001, "Enterprise NVMe SSD U.2 0.8TB (H2100)(0x1E3B-0x0001)"},
{0x1E3B, 0x1098, 0x1E3B, 0x0002, "Enterprise NVMe SSD U.2 0.96TB (H2200)(0x1E3B-0x0002)"},
@@ -31980,6 +32216,8 @@ static pci_id_t const pci_vid_1E49[] = {
{0x1E49, 0x1011, 0xFFFF, 0xFFFF, "PC210 NVMe SSD(0x1011)"},
{0x1E49, 0x1013, 0xFFFF, 0xFFFF, "PC210 NVMe SSD(0x1013)"},
{0x1E49, 0x1031, 0xFFFF, 0xFFFF, "PC300 NVMe SSD (DRAM-less)(0x1031)"},
+{0x1E49, 0x1033, 0xFFFF, 0xFFFF, "PC300 NVMe SSD (DRAM-less)(0x1033)"},
+{0x1E49, 0x1071, 0xFFFF, 0xFFFF, "PC411 NVMe SSD (DRAM-less)(0x1071)"},
}; /* pci_vid_1E49[] */
static pci_id_t const pci_vid_1E4B[] = {
@@ -32007,8 +32245,13 @@ static pci_id_t const pci_vid_1E50[] = {
static pci_id_t const pci_vid_1E52[] = {
{0x1E52, 0xFFFF, 0xFFFF, 0xFFFF, "Tenstorrent Inc(0x1E52)"},
{0x1E52, 0x401E, 0xFFFF, 0xFFFF, "Wormhole(0x401E)"},
+{0x1E52, 0x401E, 0x1E52, 0x0014, "n300(0x1E52-0x0014)"},
+{0x1E52, 0x401E, 0x1E52, 0x0018, "n150(0x1E52-0x0018)"},
{0x1E52, 0xB140, 0xFFFF, 0xFFFF, "Blackhole(0xB140)"},
{0x1E52, 0xFACA, 0xFFFF, 0xFFFF, "Grayskull(0xFACA)"},
+{0x1E52, 0xFACA, 0x1E52, 0x0003, "e150(0x1E52-0x0003)"},
+{0x1E52, 0xFACA, 0x1E52, 0x0007, "e75(0x1E52-0x0007)"},
+{0x1E52, 0xFACA, 0x1E52, 0x000A, "e300(0x1E52-0x000A)"},
}; /* pci_vid_1E52[] */
static pci_id_t const pci_vid_1E57[] = {
@@ -32134,6 +32377,7 @@ static pci_id_t const pci_vid_1EA0[] = {
{0x1EA0, 0x2A16, 0xFFFF, 0xFFFF, "Cloud Intelligent Inference Controller(0x2A16)"},
{0x1EA0, 0x2A18, 0xFFFF, 0xFFFF, "Video Transcode Controller(0x2A18)"},
{0x1EA0, 0x2A20, 0xFFFF, 0xFFFF, "Cloud Intelligent Inference and Training Controller(0x2A20)"},
+{0x1EA0, 0x2A22, 0xFFFF, 0xFFFF, "Cloud Intelligent Inference Controller(0x2A22)"},
}; /* pci_vid_1EA0[] */
static pci_id_t const pci_vid_1EA7[] = {
@@ -32235,6 +32479,10 @@ static pci_id_t const pci_vid_1ED0[] = {
static pci_id_t const pci_vid_1ED2[] = {
{0x1ED2, 0xFFFF, 0xFFFF, 0xFFFF, "FuriosaAI, Inc.(0x1ED2)"},
{0x1ED2, 0x0000, 0xFFFF, 0xFFFF, "Warboy(0x0000)"},
+{0x1ED2, 0x1111, 0xFFFF, 0xFFFF, "RNGD(0x1111)"},
+{0x1ED2, 0x1111, 0x0000, 0x1111, "RNGD-S(0x0000-0x1111)"},
+{0x1ED2, 0x1111, 0x0000, 0x2222, "RNGD VF(0x0000-0x2222)"},
+{0x1ED2, 0x1111, 0x0000, 0x3333, "RNGD-S VF(0x0000-0x3333)"},
}; /* pci_vid_1ED2[] */
static pci_id_t const pci_vid_1ED3[] = {
@@ -32260,6 +32508,7 @@ static pci_id_t const pci_vid_1ED5[] = {
{0x1ED5, 0x0211, 0xFFFF, 0xFFFF, "MTT X300(0x0211)"},
{0x1ED5, 0x0221, 0xFFFF, 0xFFFF, "G2S80(0x0221)"},
{0x1ED5, 0x0222, 0xFFFF, 0xFFFF, "MTT S3000(0x0222)"},
+{0x1ED5, 0x0222, 0x1ED5, 0x0001, "C3150(0x1ED5-0x0001)"},
{0x1ED5, 0x0223, 0xFFFF, 0xFFFF, "G2S4(0x0223)"},
{0x1ED5, 0x0251, 0xFFFF, 0xFFFF, "G2N10(0x0251)"},
{0x1ED5, 0x02FF, 0xFFFF, 0xFFFF, "MTT HDMI/DP Audio(0x02FF)"},
@@ -32663,6 +32912,10 @@ static pci_id_t const pci_vid_1FE4[] = {
{0x1FE4, 0x1600, 0x1FE4, 0x0078, "Enterprise NVMe SSD U.2 3.20TB(HP630)(0x1FE4-0x0078)"},
}; /* pci_vid_1FE4[] */
+static pci_id_t const pci_vid_1FE9[] = {
+{0x1FE9, 0xFFFF, 0xFFFF, 0xFFFF, "MemryX(0x1FE9)"},
+}; /* pci_vid_1FE9[] */
+
static pci_id_t const pci_vid_1FF4[] = {
{0x1FF4, 0xFFFF, 0xFFFF, 0xFFFF, "DEEPX Co., Ltd.(0x1FF4)"},
{0x1FF4, 0x0000, 0xFFFF, 0xFFFF, "DX_M1(0x0000)"},
@@ -32698,8 +32951,19 @@ static pci_id_t const pci_vid_2004[] = {
{0x2004, 0xFFFF, 0xFFFF, 0xFFFF, "Smart Link Ltd.(0x2004)"},
}; /* pci_vid_2004[] */
+static pci_id_t const pci_vid_202C[] = {
+{0x202C, 0xFFFF, 0xFFFF, 0xFFFF, "CAEN S.p.A.(0x202C)"},
+{0x202C, 0x5818, 0xFFFF, 0xFFFF, "A5818(0x5818)"},
+}; /* pci_vid_202C[] */
+
+static pci_id_t const pci_vid_2036[] = {
+{0x2036, 0xFFFF, 0xFFFF, 0xFFFF, "Netforward Microelectronics Co., Ltd.(0x2036)"},
+{0x2036, 0x1618, 0xFFFF, 0xFFFF, "NF1618 PCI Express Ethernet Controller(0x1618)"},
+{0x2036, 0x1619, 0xFFFF, 0xFFFF, "NF1618 Family Virtual Function(0x1619)"},
+}; /* pci_vid_2036[] */
+
static pci_id_t const pci_vid_2046[] = {
-{0x2046, 0xFFFF, 0xFFFF, 0xFFFF, "Shenzhen Inovance Technology Co., Ltd.(0x2046)"},
+{0x2046, 0xFFFF, 0xFFFF, 0xFFFF, "GXMICRO Technology (Shanghai) Co., Ltd.(0x2046)"},
}; /* pci_vid_2046[] */
static pci_id_t const pci_vid_2048[] = {
@@ -32729,6 +32993,7 @@ static pci_id_t const pci_vid_22B8[] = {
static pci_id_t const pci_vid_22DB[] = {
{0x22DB, 0xFFFF, 0xFFFF, 0xFFFF, "Missing Link Electronics, Inc.(0x22DB)"},
+{0x22DB, 0x1200, 0xFFFF, 0xFFFF, "NVMe Streamer EP ERD(0x1200)"},
}; /* pci_vid_22DB[] */
static pci_id_t const pci_vid_2304[] = {
@@ -32770,11 +33035,13 @@ static pci_id_t const pci_vid_2646[] = {
{0x2646, 0x5019, 0xFFFF, 0xFFFF, "NV2 NVMe SSD E21T (DRAM-less)(0x5019)"},
{0x2646, 0x501A, 0xFFFF, 0xFFFF, "OM8PGP4 Design-In PCIe 4 NVMe SSD (TLC) (DRAM-less)(0x501A)"},
{0x2646, 0x501B, 0xFFFF, 0xFFFF, "OM8PGP4 NVMe PCIe SSD (DRAM-less)(0x501B)"},
-{0x2646, 0x501C, 0xFFFF, 0xFFFF, "NV2 NVMe SSD E19T(0x501C)"},
+{0x2646, 0x501C, 0xFFFF, 0xFFFF, "NV2 NVMe SSD E19T (DRAM-less)(0x501C)"},
{0x2646, 0x501D, 0xFFFF, 0xFFFF, "NV2 NVMe SSD TC2200 (DRAM-less)(0x501D)"},
{0x2646, 0x501F, 0xFFFF, 0xFFFF, "FURY Renegade NVMe SSD with heatsink(0x501F)"},
{0x2646, 0x5021, 0xFFFF, 0xFFFF, "OM8SEP4 Design-In PCIe 4 NVMe SSD (QLC) (DRAM-less)(0x5021)"},
-{0x2646, 0x5023, 0xFFFF, 0xFFFF, "NV2 NVMe SSD SM2269XT(0x5023)"},
+{0x2646, 0x5022, 0xFFFF, 0xFFFF, "OM8PGP4 Design-In PCIe 4 NVMe SSD (QLC) (DRAM-less)(0x5022)"},
+{0x2646, 0x5023, 0xFFFF, 0xFFFF, "NV2 NVMe SSD SM2269XT (DRAM-less)(0x5023)"},
+{0x2646, 0x5024, 0xFFFF, 0xFFFF, "DC2000B NVMe SSD E18DC(0x5024)"},
}; /* pci_vid_2646[] */
static pci_id_t const pci_vid_270B[] = {
@@ -33334,13 +33601,15 @@ static pci_id_t const pci_vid_4C4D[] = {
static pci_id_t const pci_vid_4C52[] = {
{0x4C52, 0xFFFF, 0xFFFF, 0xFFFF, "LR-LINK(0x4C52)"},
{0x4C52, 0x1001, 0xFFFF, 0xFFFF, "Smart Network Adapter(0x1001)"},
-{0x4C52, 0x1001, 0x4C52, 0xA006, "LREG1006PT Single-port 1.2Gb Network Security Isolation Adapter(0x4C52-0xA006)"},
{0x4C52, 0x1001, 0x4C52, 0xA008, "LREG1008PT Single-port 1Gb Smart Ethernet Network Adapter(0x4C52-0xA008)"},
{0x4C52, 0x1001, 0x4C52, 0xA009, "LREG1009PT Single-port 2.5Gb Smart Ethernet Network Adapter(0x4C52-0xA009)"},
{0x4C52, 0x1002, 0xFFFF, 0xFFFF, "Smart Network Adapter(0x1002)"},
+{0x4C52, 0x1002, 0x4C52, 0xA006, "LREG1006PT Single-port 1.2Gb Network Security Isolation Adapter(0x4C52-0xA006)"},
{0x4C52, 0x1002, 0x4C52, 0xA007, "LREG1007PT Quad-port 10Gb Smart Ethernet Network Adapter(0x4C52-0xA007)"},
{0x4C52, 0x1003, 0xFFFF, 0xFFFF, "Smart Network Adapter(0x1003)"},
-{0x4C52, 0x1003, 0x4C52, 0xB010, "LREG1010PF Single-port 10Gb FPGA Network Security Isolation Adapter(0x4C52-0xB010)"},
+{0x4C52, 0x1004, 0xFFFF, 0xFFFF, "Smart Network Adapter(0x1004)"},
+{0x4C52, 0x1004, 0x4C52, 0xB010, "LREG1010PF Single-port 10Gb FPGA Network Security Isolation Adapter(0x4C52-0xB010)"},
+{0x4C52, 0x1004, 0x4C52, 0xB011, "LREG1011PF Dual-port 10Gb FPGA Network Security Isolation Adapter(0x4C52-0xB011)"},
}; /* pci_vid_4C52[] */
static pci_id_t const pci_vid_4C53[] = {
@@ -33971,6 +34240,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x0100, 0x1028, 0x04AA, "XPS 8300(0x1028-0x04AA)"},
{0x8086, 0x0100, 0x1043, 0x844D, "P8P67/P8H67 Series Motherboard(0x1043-0x844D)"},
{0x8086, 0x0100, 0x1734, 0x11B9, "Esprimo P510 D3171 motherboard(0x1734-0x11B9)"},
+{0x8086, 0x0100, 0x17AA, 0x3070, "ThinkCentre M91p(0x17AA-0x3070)"},
{0x8086, 0x0100, 0x8086, 0x200D, "DH61CR motherboard(0x8086-0x200D)"},
{0x8086, 0x0101, 0xFFFF, 0xFFFF, "Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port(0x0101)"},
{0x8086, 0x0101, 0x1028, 0x04B2, "Vostro 3350(0x1028-0x04B2)"},
@@ -33980,6 +34250,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x0102, 0x1028, 0x04AA, "XPS 8300(0x1028-0x04AA)"},
{0x8086, 0x0102, 0x1043, 0x0102, "P8H67 Series Motherboard(0x1043-0x0102)"},
{0x8086, 0x0102, 0x1734, 0x11B9, "G640 [Sandy Bridge, HD Graphics] on Esprimo P510 D3171 motherboard(0x1734-0x11B9)"},
+{0x8086, 0x0102, 0x17AA, 0x3070, "ThinkCentre M91p(0x17AA-0x3070)"},
{0x8086, 0x0104, 0xFFFF, 0xFFFF, "2nd Generation Core Processor Family DRAM Controller(0x0104)"},
{0x8086, 0x0104, 0x1028, 0x04A3, "Precision M4600(0x1028-0x04A3)"},
{0x8086, 0x0104, 0x1028, 0x04B2, "Vostro 3350(0x1028-0x04B2)"},
@@ -34588,7 +34859,10 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x0B60, 0x8086, 0x8D08, "NVMe Datacenter SSD [3DNAND] VE 2.5\" U.2 (P5316)(0x8086-0x8D08)"},
{0x8086, 0x0B60, 0x8086, 0x8D1D, "NVMe Datacenter SSD [3DNAND] VE E1.L 9.5/18mm (P5316)(0x8086-0x8D1D)"},
{0x8086, 0x0B60, 0x8086, 0xC008, "NVMe Datacenter SSD [3DNAND] SE U.2 15mm (P5530)(0x8086-0xC008)"},
+{0x8086, 0x0B69, 0xFFFF, 0xFFFF, "Ponte Vecchio XT (2 Tile) [Data Center GPU Max 1450](0x0B69)"},
+{0x8086, 0x0B6E, 0xFFFF, 0xFFFF, "Ponte Vecchio XT (1 Tile) [Data Center GPU Max 1100C](0x0B6E)"},
{0x8086, 0x0BD0, 0xFFFF, 0xFFFF, "Ponte Vecchio XL (2 Tile)(0x0BD0)"},
+{0x8086, 0x0BD4, 0xFFFF, 0xFFFF, "Ponte Vecchio XT (2 Tile) [Data Center GPU Max 1550VG](0x0BD4)"},
{0x8086, 0x0BD5, 0xFFFF, 0xFFFF, "Ponte Vecchio XT (2 Tile) [Data Center GPU Max 1550](0x0BD5)"},
{0x8086, 0x0BD6, 0xFFFF, 0xFFFF, "Ponte Vecchio XT (2 Tile) [Data Center GPU Max 1550](0x0BD6)"},
{0x8086, 0x0BD7, 0xFFFF, 0xFFFF, "Ponte Vecchio XT (2 Tile) [Data Center GPU Max 1350](0x0BD7)"},
@@ -35299,6 +35573,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x10C9, 0x10A9, 0x8028, "UV-BaseIO dual-port GbE(0x10A9-0x8028)"},
{0x8086, 0x10C9, 0x13A3, 0x0037, "DS4100 Secure Multi-Gigabit Server Adapter with Compression(0x13A3-0x0037)"},
{0x8086, 0x10C9, 0x15D9, 0xA811, "H8DGU(0x15D9-0xA811)"},
+{0x8086, 0x10C9, 0x4C52, 0x9212, "LREC9212PT Dual-port 10Gb Ethernet Network Adapter(0x4C52-0x9212)"},
{0x8086, 0x10C9, 0x8086, 0xA01C, "Gigabit ET Dual Port Server Adapter(0x8086-0xA01C)"},
{0x8086, 0x10C9, 0x8086, 0xA03C, "Gigabit ET Dual Port Server Adapter(0x8086-0xA03C)"},
{0x8086, 0x10C9, 0x8086, 0xA04C, "Gigabit ET Dual Port Server Adapter(0x8086-0xA04C)"},
@@ -35316,6 +35591,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x10D3, 0x15D9, 0x0605, "X8SIL(0x15D9-0x0605)"},
{0x8086, 0x10D3, 0x15D9, 0x060A, "X7SPA-H/X7SPA-HF Motherboard(0x15D9-0x060A)"},
{0x8086, 0x10D3, 0x15D9, 0x060D, "C7SIM-Q Motherboard(0x15D9-0x060D)"},
+{0x8086, 0x10D3, 0x4C52, 0x2201, "LRES2201PT Single-port 1Gb Ethernet Network Adapter(0x4C52-0x2201)"},
{0x8086, 0x10D3, 0x8086, 0x0001, "Gigabit CT2 Desktop Adapter(0x8086-0x0001)"},
{0x8086, 0x10D3, 0x8086, 0x3578, "Server Board S1200BTLR(0x8086-0x3578)"},
{0x8086, 0x10D3, 0x8086, 0x357A, "Server Board S1200BTS(0x8086-0x357A)"},
@@ -35347,6 +35623,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x10E6, 0x8086, 0xA02F, "Gigabit EF Dual Port Server Adapter(0x8086-0xA02F)"},
{0x8086, 0x10E7, 0xFFFF, 0xFFFF, "82576 Gigabit Network Connection(0x10E7)"},
{0x8086, 0x10E7, 0x103C, 0x31FF, "NC362i Integrated Dual Port BL-c Gigabit Server Adapter(0x103C-0x31FF)"},
+{0x8086, 0x10E7, 0x4C52, 0x9701, "LREC9701EF Single-port 1Gb Ethernet Network Adapter(0x4C52-0x9701)"},
{0x8086, 0x10E8, 0xFFFF, 0xFFFF, "82576 Gigabit Network Connection(0x10E8)"},
{0x8086, 0x10E8, 0x8086, 0xA02B, "Gigabit ET Quad Port Server Adapter(0x8086-0xA02B)"},
{0x8086, 0x10E8, 0x8086, 0xA02C, "Gigabit ET Quad Port Server Adapter(0x8086-0xA02C)"},
@@ -35406,6 +35683,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x10FB, 0x1BD4, 0x002F, "10G SFP+ DP EP102Fi4A Adapter(0x1BD4-0x002F)"},
{0x8086, 0x10FB, 0x1BD4, 0x0032, "10G SFP+ DP EP102Fi4 Adapter(0x1BD4-0x0032)"},
{0x8086, 0x10FB, 0x1BD4, 0x0067, "F102I82599(0x1BD4-0x0067)"},
+{0x8086, 0x10FB, 0x4C52, 0x1024, "LR-LINK LRES9804BF Quad-port 10Gb Ethernet Server Adapter(0x4C52-0x1024)"},
{0x8086, 0x10FB, 0x4C52, 0x3002, "LRES3002PF Dual-port 10Gb Ethernet Server Adapter for OCP(0x4C52-0x3002)"},
{0x8086, 0x10FB, 0x4C52, 0x3012, "LRES3012PF Dual-port 10Gb Ethernet Server Adapter for OCP(0x4C52-0x3012)"},
{0x8086, 0x10FB, 0x4C52, 0x9801, "LREC9801BF Single-port 10Gb Ethernet Server Adapter(0x4C52-0x9801)"},
@@ -35663,6 +35941,12 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x12D2, 0xFFFF, 0xFFFF, "Ethernet Controller E830-CC for QSFP(0x12D2)"},
{0x8086, 0x12D3, 0xFFFF, 0xFFFF, "Ethernet Controller E830-CC for SFP(0x12D3)"},
{0x8086, 0x12D4, 0xFFFF, 0xFFFF, "Ethernet Controller E830-CC for SFP-DD(0x12D4)"},
+{0x8086, 0x12D5, 0xFFFF, 0xFFFF, "Ethernet Controller E830-C for backplane(0x12D5)"},
+{0x8086, 0x12D8, 0xFFFF, 0xFFFF, "Ethernet Controller E830-C for QSFP(0x12D8)"},
+{0x8086, 0x12DA, 0xFFFF, 0xFFFF, "Ethernet Controller E830-C for SFP(0x12DA)"},
+{0x8086, 0x12DC, 0xFFFF, 0xFFFF, "Ethernet Controller E830-XXV for backplane(0x12DC)"},
+{0x8086, 0x12DD, 0xFFFF, 0xFFFF, "Ethernet Controller E830-XXV for QSFP(0x12DD)"},
+{0x8086, 0x12DE, 0xFFFF, 0xFFFF, "Ethernet Controller E830-XXV for SFP(0x12DE)"},
{0x8086, 0x1360, 0xFFFF, 0xFFFF, "82806AA PCI64 Hub PCI Bridge(0x1360)"},
{0x8086, 0x1361, 0xFFFF, 0xFFFF, "82806AA PCI64 Hub Controller (HRes)(0x1361)"},
{0x8086, 0x1361, 0x8086, 0x1361, "82806AA PCI64 Hub Controller (HRes)(0x8086-0x1361)"},
@@ -35678,6 +35962,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x1502, 0xFFFF, 0xFFFF, "82579LM Gigabit Network Connection (Lewisville)(0x1502)"},
{0x8086, 0x1502, 0x1028, 0x04A3, "Precision M4600(0x1028-0x04A3)"},
{0x8086, 0x1502, 0x17AA, 0x21CE, "ThinkPad T520(0x17AA-0x21CE)"},
+{0x8086, 0x1502, 0x17AA, 0x3070, "ThinkCentre M91p(0x17AA-0x3070)"},
{0x8086, 0x1502, 0x8086, 0x3578, "Server Board S1200BTLR(0x8086-0x3578)"},
{0x8086, 0x1502, 0x8086, 0x357A, "Server Board S1200BTS(0x8086-0x357A)"},
{0x8086, 0x1503, 0xFFFF, 0xFFFF, "82579V Gigabit Network Connection(0x1503)"},
@@ -35760,10 +36045,18 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x1521, 0x1BD4, 0x008D, "ENFI1100-T4(0x1BD4-0x008D)"},
{0x8086, 0x1521, 0x4C52, 0x0350, "I350 1Gb 2-port Ethernet Network Adapter(0x4C52-0x0350)"},
{0x8086, 0x1521, 0x4C52, 0x1350, "LREC9222HT Dual-port 1Gb Ethernet Network Adapter(0x4C52-0x1350)"},
+{0x8086, 0x1521, 0x4C52, 0x2003, "LRES2003PT Dual-port 1Gb Ethernet Network Adapter(0x4C52-0x2003)"},
+{0x8086, 0x1521, 0x4C52, 0x2005, "LRES2005PT Quad-port 1Gb Ethernet Network Adapter(0x4C52-0x2005)"},
+{0x8086, 0x1521, 0x4C52, 0x2006, "LRES2006PT Six-port 1Gb Ethernet Network Adapter(0x4C52-0x2006)"},
+{0x8086, 0x1521, 0x4C52, 0x2008, "LRES2008PT Eight-port 1Gb Ethernet Network Adapter(0x4C52-0x2008)"},
+{0x8086, 0x1521, 0x4C52, 0x2018, "LRES2018PT Twelve-port 1Gb Ethernet Network Adapter(0x4C52-0x2018)"},
+{0x8086, 0x1521, 0x4C52, 0x2202, "LRES2202PT Dual-port 1Gb Ethernet Network Adapter(0x4C52-0x2202)"},
+{0x8086, 0x1521, 0x4C52, 0x2217, "LRES2217PT Dual-port 1Gb Ethernet Network Adapter(0x4C52-0x2217)"},
{0x8086, 0x1521, 0x4C52, 0x3010, "LRES3010PF Dual-port 1Gb Ethernet Server Adapter for OCP(0x4C52-0x3010)"},
{0x8086, 0x1521, 0x4C52, 0x3023, "LRES3023PT Quad-port 1Gb Ethernet Server Adapter for OCP(0x4C52-0x3023)"},
{0x8086, 0x1521, 0x4C52, 0x3041, "LRES3041PT Dual-port 1Gb Ethernet Server Adapter for OCP(0x4C52-0x3041)"},
{0x8086, 0x1521, 0x4C52, 0x4006, "LRES4006MT Quad-port 1Gb Ethernet Netwaork Adapter(0x4C52-0x4006)"},
+{0x8086, 0x1521, 0x4C52, 0x9712, "LREC9712HT Dual-port 10Gb Ethernet Network Adapter(0x4C52-0x9712)"},
{0x8086, 0x1521, 0x8086, 0x0001, "Ethernet Server Adapter I350-T4(0x8086-0x0001)"},
{0x8086, 0x1521, 0x8086, 0x0002, "Ethernet Server Adapter I350-T2(0x8086-0x0002)"},
{0x8086, 0x1521, 0x8086, 0x0003, "Ethernet Network Adapter I350-T4 for OCP NIC 3.0(0x8086-0x0003)"},
@@ -35778,6 +36071,11 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x1522, 0xFFFF, 0xFFFF, "I350 Gigabit Fiber Network Connection(0x1522)"},
{0x8086, 0x1522, 0x108E, 0x7B17, "Quad Port GbE PCIe 2.0 ExpressModule, MMF(0x108E-0x7B17)"},
{0x8086, 0x1522, 0x108E, 0x7B19, "Dual Port GbE PCIe 2.0 Low Profile Adapter, MMF(0x108E-0x7B19)"},
+{0x8086, 0x1522, 0x4C52, 0x1006, "LRES1006PF Six-port 1Gb Ethernet Network Adapter(0x4C52-0x1006)"},
+{0x8086, 0x1522, 0x4C52, 0x2203, "LRES2203PF Dual-port 1Gb Ethernet Network Adapter(0x4C52-0x2203)"},
+{0x8086, 0x1522, 0x4C52, 0x9710, "LREC9710HF Single-port 1Gb Ethernet Network Adapter(0x4C52-0x9710)"},
+{0x8086, 0x1522, 0x4C52, 0x9712, "LREC9712HF Dual-port 1Gb Ethernet Network Adapter(0x4C52-0x9712)"},
+{0x8086, 0x1522, 0x4C52, 0x9714, "LREC9714HF Quad-port 1Gb Ethernet Network Adapter(0x4C52-0x9714)"},
{0x8086, 0x1522, 0x8086, 0x0002, "Ethernet Server Adapter I350-T2(0x8086-0x0002)"},
{0x8086, 0x1522, 0x8086, 0x0003, "Ethernet Server Adapter I350-F4(0x8086-0x0003)"},
{0x8086, 0x1522, 0x8086, 0x0004, "Ethernet Server Adapter I350-F2(0x8086-0x0004)"},
@@ -35792,6 +36090,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x1523, 0x103C, 0x18D1, "Ethernet 1Gb 2-port 361FLB Adapter(0x103C-0x18D1)"},
{0x8086, 0x1523, 0x103C, 0x1989, "Ethernet 1Gb 2-port 363i Adapter(0x103C-0x1989)"},
{0x8086, 0x1523, 0x103C, 0x339F, "Ethernet 1Gb 4-port 366M Adapter(0x103C-0x339F)"},
+{0x8086, 0x1523, 0x4C52, 0x9714, "LREC9714HT Quad-port 10Gb Ethernet Network Adapter(0x4C52-0x9714)"},
{0x8086, 0x1523, 0x8086, 0x1F52, "1GbE 4P I350 Mezz(0x8086-0x1F52)"},
{0x8086, 0x1524, 0xFFFF, 0xFFFF, "I350 Gigabit Connection(0x1524)"},
{0x8086, 0x1525, 0xFFFF, 0xFFFF, "82567V-4 Gigabit Network Connection(0x1525)"},
@@ -35817,6 +36116,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x1528, 0x1BD4, 0x001A, "10G base-T DP ER102Ti3 Rack Adapter(0x1BD4-0x001A)"},
{0x8086, 0x1528, 0x1BD4, 0x0033, "10G base-T DP EP102Ti3 Adapter(0x1BD4-0x0033)"},
{0x8086, 0x1528, 0x1BD4, 0x0034, "10G base-T DP EP102Ti3A Adapter(0x1BD4-0x0034)"},
+{0x8086, 0x1528, 0x4C52, 0x9802, "LREC9802BT Dual-port 10Gb Ethernet Network Adapter(0x4C52-0x9802)"},
{0x8086, 0x1528, 0x8086, 0x0001, "Ethernet Converged Network Adapter X540-T2(0x8086-0x0001)"},
{0x8086, 0x1528, 0x8086, 0x0002, "Ethernet Converged Network Adapter X540-T1(0x8086-0x0002)"},
{0x8086, 0x1528, 0x8086, 0x001A, "Ethernet Converged Network Adapter X540-T2(0x8086-0x001A)"},
@@ -35842,10 +36142,22 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x1533, 0x17AA, 0x1509, "I210 Gigabit Network Connection(0x17AA-0x1509)"},
{0x8086, 0x1533, 0x17AA, 0x404D, "I210 PCIe 1Gb 1-Port RJ45 LOM(0x17AA-0x404D)"},
{0x8086, 0x1533, 0x17AA, 0x407A, "I210 PCIe 1Gb 1-Port RJ45 LOM(0x17AA-0x407A)"},
+{0x8086, 0x1533, 0x4C52, 0x1051, "LRES1051PT Dual-port 1Gb Ethernet Network Adapter(0x4C52-0x1051)"},
{0x8086, 0x1533, 0x4C52, 0x1210, "LREC9204CT Single-port 1Gb Ethernet Network Adapter(0x4C52-0x1210)"},
+{0x8086, 0x1533, 0x4C52, 0x2057, "LRES2057PT Dual-port 1Gb Ethernet Network Adapter(0x4C52-0x2057)"},
+{0x8086, 0x1533, 0x4C52, 0x2206, "LRES2206PT Single-port 1Gb Ethernet Network Adapter(0x4C52-0x2206)"},
+{0x8086, 0x1533, 0x4C52, 0x2210, "LRES2210PT Single-port 1Gb Ethernet Network Adapter(0x4C52-0x2210)"},
+{0x8086, 0x1533, 0x4C52, 0x2211, "LRES2211PT Single-port 1Gb Ethernet Network Adapter(0x4C52-0x2211)"},
+{0x8086, 0x1533, 0x4C52, 0x2214, "LRES2214PT Single-port 1Gb Ethernet Network Adapter(0x4C52-0x2214)"},
+{0x8086, 0x1533, 0x4C52, 0x3002, "LRES3002PT Dual-port 1Gb Ethernet Network Adapter(0x4C52-0x3002)"},
+{0x8086, 0x1533, 0x4C52, 0x3004, "LRES3004PT Quad-port 1Gb Ethernet Network Adapter(0x4C52-0x3004)"},
{0x8086, 0x1533, 0x8086, 0x0001, "Ethernet Server Adapter I210-T1(0x8086-0x0001)"},
{0x8086, 0x1533, 0x8086, 0x0002, "Ethernet Server Adapter I210-T1(0x8086-0x0002)"},
{0x8086, 0x1536, 0xFFFF, 0xFFFF, "I210 Gigabit Fiber Network Connection(0x1536)"},
+{0x8086, 0x1536, 0x4C52, 0x2204, "LRES2204PT Single-port 1Gb Ethernet Network Adapter(0x4C52-0x2204)"},
+{0x8086, 0x1536, 0x4C52, 0x2212, "LRES2212PF Single-port 1Gb Ethernet Network Adapter(0x4C52-0x2212)"},
+{0x8086, 0x1536, 0x4C52, 0x2213, "LRES2213PF Single-port 1Gb Ethernet Network Adapter(0x4C52-0x2213)"},
+{0x8086, 0x1536, 0x4C52, 0x6230, "LREC6230PF Single-port 1Gb Ethernet Network Adapter(0x4C52-0x6230)"},
{0x8086, 0x1537, 0xFFFF, 0xFFFF, "I210 Gigabit Backplane Connection(0x1537)"},
{0x8086, 0x1537, 0x1059, 0x0110, "T4005 1GbE interface(0x1059-0x0110)"},
{0x8086, 0x1537, 0x1059, 0x0111, "T4007 1GbE interface(0x1059-0x0111)"},
@@ -35889,6 +36201,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x155D, 0x8086, 0x0001, "Ethernet Server Bypass Adapter X520-SR2(0x8086-0x0001)"},
{0x8086, 0x155D, 0x8086, 0x0002, "Ethernet Server Bypass Adapter X520-LR2(0x8086-0x0002)"},
{0x8086, 0x1560, 0xFFFF, 0xFFFF, "Ethernet Controller X540(0x1560)"},
+{0x8086, 0x1560, 0x4C52, 0x9801, "LREC9801BT Single-port 10Gb Ethernet Network Adapter(0x4C52-0x9801)"},
{0x8086, 0x1563, 0xFFFF, 0xFFFF, "Ethernet Controller X550(0x1563)"},
{0x8086, 0x1563, 0x1028, 0x1FA8, "Ethernet 10G 4P X550/I350 rNDC(0x1028-0x1FA8)"},
{0x8086, 0x1563, 0x1028, 0x1FA9, "Ethernet 10G 4P X550 rNDC(0x1028-0x1FA9)"},
@@ -35903,6 +36216,8 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x1563, 0x193D, 0x1008, "560T-B(0x193D-0x1008)"},
{0x8086, 0x1563, 0x193D, 0x1009, "560T-L(0x193D-0x1009)"},
{0x8086, 0x1563, 0x193D, 0x1011, "UN-NIC-ETH563T-sL-2P(0x193D-0x1011)"},
+{0x8086, 0x1563, 0x4C52, 0x1025, "LRES1025PT Dual-port 10Gb Ethernet Network Adapter(0x4C52-0x1025)"},
+{0x8086, 0x1563, 0x4C52, 0x9812, "LREC9812BT Dual-port 10Gb Ethernet Network Adapter(0x4C52-0x9812)"},
{0x8086, 0x1563, 0x8086, 0x0001, "Ethernet Converged Network Adapter X550-T2(0x8086-0x0001)"},
{0x8086, 0x1563, 0x8086, 0x001A, "Ethernet Converged Network Adapter X550-T2(0x8086-0x001A)"},
{0x8086, 0x1563, 0x8086, 0x001B, "Ethernet Server Adapter X550-T2 for OCP(0x8086-0x001B)"},
@@ -35952,6 +36267,8 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x1572, 0x4C52, 0x3003, "LRES3003PF Quad-port 10Gb Ethernet Server Adapter for OCP(0x4C52-0x3003)"},
{0x8086, 0x1572, 0x4C52, 0x3007, "LRES3007PF Quad-port 10Gb Ethernet Server Adapter for OCP(0x4C52-0x3007)"},
{0x8086, 0x1572, 0x4C52, 0x3039, "LRES3039PF Dual-port 10Gb Ethernet Server Adapter for OCP(0x4C52-0x3039)"},
+{0x8086, 0x1572, 0x4C52, 0x9804, "LREC9804BF Quad-port 10Gb Ethernet Server Adapter(0x4C52-0x9804)"},
+{0x8086, 0x1572, 0x4C52, 0x9812, "LREC9812BF Dual-port 10Gb Ethernet Server Adapter(0x4C52-0x9812)"},
{0x8086, 0x1572, 0x8086, 0x0000, "Ethernet Converged Network Adapter X710(0x8086-0x0000)"},
{0x8086, 0x1572, 0x8086, 0x0001, "Ethernet Converged Network Adapter X710-4(0x8086-0x0001)"},
{0x8086, 0x1572, 0x8086, 0x0002, "Ethernet Converged Network Adapter X710-4(0x8086-0x0002)"},
@@ -36007,6 +36324,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x1583, 0x1137, 0x0000, "Ethernet Converged NIC XL710-QDA2(0x1137-0x0000)"},
{0x8086, 0x1583, 0x1137, 0x013C, "Ethernet Converged NIC XL710-QDA2(0x1137-0x013C)"},
{0x8086, 0x1583, 0x4C52, 0x3042, "LRES3042PF Dual-port 40Gb Ethernet Server Adapter for OCP(0x4C52-0x3042)"},
+{0x8086, 0x1583, 0x4C52, 0x9902, "LREC9902BF Dual-port 40Gb Ethernet Server Adapter(0x4C52-0x9902)"},
{0x8086, 0x1583, 0x8086, 0x0000, "Ethernet Converged Network Adapter XL710-Q2(0x8086-0x0000)"},
{0x8086, 0x1583, 0x8086, 0x0001, "Ethernet Converged Network Adapter XL710-Q2(0x8086-0x0001)"},
{0x8086, 0x1583, 0x8086, 0x0002, "Ethernet Converged Network Adapter XL710-Q2(0x8086-0x0002)"},
@@ -36014,6 +36332,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x1583, 0x8086, 0x0004, "Ethernet Server Adapter XL710-Q2OCP(0x8086-0x0004)"},
{0x8086, 0x1583, 0x8086, 0x0006, "Ethernet Converged Network Adapter XL710-Q2(0x8086-0x0006)"},
{0x8086, 0x1584, 0xFFFF, 0xFFFF, "Ethernet Controller XL710 for 40GbE QSFP+(0x1584)"},
+{0x8086, 0x1584, 0x4C52, 0x9901, "LREC9901BF Single-port 40Gb Ethernet Server Adapter(0x4C52-0x9901)"},
{0x8086, 0x1584, 0x8086, 0x0000, "Ethernet Converged Network Adapter XL710-Q1(0x8086-0x0000)"},
{0x8086, 0x1584, 0x8086, 0x0001, "Ethernet Converged Network Adapter XL710-Q1(0x8086-0x0001)"},
{0x8086, 0x1584, 0x8086, 0x0002, "Ethernet Converged Network Adapter XL710-Q1(0x8086-0x0002)"},
@@ -36034,6 +36353,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x1589, 0xFFFF, 0xFFFF, "Ethernet Controller X710/X557-AT 10GBASE-T(0x1589)"},
{0x8086, 0x1589, 0x108E, 0x0000, "Quad Port 10GBase-T Adapter(0x108E-0x0000)"},
{0x8086, 0x1589, 0x108E, 0x7B1C, "Quad Port 10GBase-T Adapter(0x108E-0x7B1C)"},
+{0x8086, 0x1589, 0x4C52, 0x9804, "LREC9804BT Quad-port 10Gb Ethernet Network Adapter(0x4C52-0x9804)"},
{0x8086, 0x1589, 0x8086, 0x0000, "Ethernet Converged Network Adapter X710-T(0x8086-0x0000)"},
{0x8086, 0x1589, 0x8086, 0x0001, "Ethernet Converged Network Adapter X710-T4(0x8086-0x0001)"},
{0x8086, 0x1589, 0x8086, 0x0002, "Ethernet Converged Network Adapter X710-T4(0x8086-0x0002)"},
@@ -36102,6 +36422,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x1593, 0x1137, 0x02C3, "E810XXVDA4 4x25/10 GbE SFP28 PCIe NIC(0x1137-0x02C3)"},
{0x8086, 0x1593, 0x1137, 0x02E9, "E810XXVDA4TG 4x25/10 GbE SFP28 PCIe NIC(0x1137-0x02E9)"},
{0x8086, 0x1593, 0x1137, 0x02EA, "E810XXVDA4T 4x25/10 GbE SFP28 PCIe NIC(0x1137-0x02EA)"},
+{0x8086, 0x1593, 0x4C52, 0x1023, "LRES1023PF Quad-port 25Gb Ethernet Server Adapter(0x4C52-0x1023)"},
{0x8086, 0x1593, 0x4C52, 0x3027, "LRES3027PF Quad-port 25Gb Ethernet Server Adapter for OCP(0x4C52-0x3027)"},
{0x8086, 0x1593, 0x8086, 0x0002, "Ethernet Network Adapter E810-L-2(0x8086-0x0002)"},
{0x8086, 0x1593, 0x8086, 0x0005, "Ethernet Network Adapter E810-XXV-4(0x8086-0x0005)"},
@@ -36163,6 +36484,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x15B6, 0xFFFF, 0xFFFF, "DSL6540 USB 3.1 Controller [Alpine Ridge](0x15B6)"},
{0x8086, 0x15B7, 0xFFFF, 0xFFFF, "Ethernet Connection (2) I219-LM(0x15B7)"},
{0x8086, 0x15B8, 0xFFFF, 0xFFFF, "Ethernet Connection (2) I219-V(0x15B8)"},
+{0x8086, 0x15B8, 0x1462, 0x7994, "H110M ECO/GAMING(0x1462-0x7994)"},
{0x8086, 0x15B8, 0x1462, 0x7A72, "H270 PC MATE(0x1462-0x7A72)"},
{0x8086, 0x15B9, 0xFFFF, 0xFFFF, "Ethernet Connection (3) I219-LM(0x15B9)"},
{0x8086, 0x15BB, 0xFFFF, 0xFFFF, "Ethernet Connection (7) I219-LM(0x15BB)"},
@@ -36184,6 +36506,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x15D0, 0x8086, 0x0001, "Ethernet SDI Adapter FM10420-100GbE-QDA2(0x8086-0x0001)"},
{0x8086, 0x15D0, 0x8086, 0x0002, "Ethernet SDI Adapter FM10840-MTP2(0x8086-0x0002)"},
{0x8086, 0x15D1, 0xFFFF, 0xFFFF, "Ethernet Controller 10G X550T(0x15D1)"},
+{0x8086, 0x15D1, 0x4C52, 0x9811, "LREC9811BT Single-port 10Gb Ethernet Network Adapter(0x4C52-0x9811)"},
{0x8086, 0x15D1, 0x8086, 0x0002, "Ethernet Converged Network Adapter X550-T1(0x8086-0x0002)"},
{0x8086, 0x15D1, 0x8086, 0x001B, "Ethernet Server Adapter X550-T1 for OCP(0x8086-0x001B)"},
{0x8086, 0x15D1, 0x8086, 0x0021, "Ethernet Converged Network Adapter X550-T1(0x8086-0x0021)"},
@@ -36220,9 +36543,11 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x15EF, 0xFFFF, 0xFFFF, "JHL7540 Thunderbolt 3 Bridge [Titan Ridge DD 2018](0x15EF)"},
{0x8086, 0x15F0, 0xFFFF, 0xFFFF, "JHL7540 Thunderbolt 3 USB Controller [Titan Ridge DD 2018](0x15F0)"},
{0x8086, 0x15F2, 0xFFFF, 0xFFFF, "Ethernet Controller I225-LM(0x15F2)"},
+{0x8086, 0x15F2, 0x4C52, 0x2031, "LRES2031PT Single-port 2.5Gb Ethernet Network Adapter(0x4C52-0x2031)"},
{0x8086, 0x15F2, 0x8086, 0x0001, "Ethernet Network Adapter I225-T1(0x8086-0x0001)"},
{0x8086, 0x15F2, 0x8086, 0x0002, "Ethernet Network Adapter I225-T1(0x8086-0x0002)"},
{0x8086, 0x15F3, 0xFFFF, 0xFFFF, "Ethernet Controller I225-V(0x15F3)"},
+{0x8086, 0x15F3, 0x4C52, 0x2031, "LRES2031PT Single-port 2.5Gb Ethernet Network Adapter(0x4C52-0x2031)"},
{0x8086, 0x15F3, 0x8086, 0x0003, "Intel(R) Ethernet Controller (3) I225-V(0x8086-0x0003)"},
{0x8086, 0x15F4, 0xFFFF, 0xFFFF, "Ethernet Connection (15) I219-LM(0x15F4)"},
{0x8086, 0x15F5, 0xFFFF, 0xFFFF, "Ethernet Connection (15) I219-V(0x15F5)"},
@@ -36239,6 +36564,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x15FF, 0x1137, 0x02D9, "Ethernet Network Adapter X710-T2L OCP 3.0(0x1137-0x02D9)"},
{0x8086, 0x15FF, 0x1137, 0x02DA, "Ethernet Network Adapter X710-T4L OCP 3.0(0x1137-0x02DA)"},
{0x8086, 0x15FF, 0x193D, 0x1082, "NIC-ETH565T-3S-2P(0x193D-0x1082)"},
+{0x8086, 0x15FF, 0x4C52, 0x1012, "LRES1012PT Dual-port 10Gb Ethernet Network Adapter(0x4C52-0x1012)"},
{0x8086, 0x15FF, 0x4C52, 0x3021, "LRES3021PT Dual-port 10Gb Ethernet Server Adapter for OCP(0x4C52-0x3021)"},
{0x8086, 0x15FF, 0x8086, 0x0000, "Ethernet Network Adapter X710-TL(0x8086-0x0000)"},
{0x8086, 0x15FF, 0x8086, 0x0001, "Ethernet Network Adapter X710-T4L(0x8086-0x0001)"},
@@ -36315,10 +36641,18 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x1898, 0xFFFF, 0xFFFF, "Ethernet Connection E822-L for SFP(0x1898)"},
{0x8086, 0x1899, 0xFFFF, 0xFFFF, "Ethernet Connection E822-L/X557-AT 10GBASE-T(0x1899)"},
{0x8086, 0x189A, 0xFFFF, 0xFFFF, "Ethernet Connection E822-L 1GbE(0x189A)"},
-{0x8086, 0x18A0, 0xFFFF, 0xFFFF, "C4xxx Series QAT(0x18A0)"},
+{0x8086, 0x18A0, 0xFFFF, 0xFFFF, "Atom Processor P5xxx Series QAT(0x18A0)"},
{0x8086, 0x18A1, 0xFFFF, 0xFFFF, "C4XXX Series QAT Virtual Function(0x18A1)"},
+{0x8086, 0x18B3, 0xFFFF, 0xFFFF, "Atom Processor P5xxx Series SATA Controller(0x18B3)"},
+{0x8086, 0x18D0, 0xFFFF, 0xFFFF, "Atom Processor P5xxx Series USB xHCI Controller(0x18D0)"},
+{0x8086, 0x18D3, 0xFFFF, 0xFFFF, "Atom Processor P5xxx Series MEI Controller(0x18D3)"},
+{0x8086, 0x18D6, 0xFFFF, 0xFFFF, "Atom Processor P5xxx Series MEI Controller(0x18D6)"},
+{0x8086, 0x18DF, 0xFFFF, 0xFFFF, "Atom Processor P5xxx Series SMBus Controller(0x18DF)"},
+{0x8086, 0x18E0, 0xFFFF, 0xFFFF, "Atom Processor P5xxx Series SPI Controller(0x18E0)"},
+{0x8086, 0x18E1, 0xFFFF, 0xFFFF, "Atom Processor P5xxx Series Trace Hub(0x18E1)"},
{0x8086, 0x18EE, 0xFFFF, 0xFFFF, "200xx Series QAT(0x18EE)"},
{0x8086, 0x18EF, 0xFFFF, 0xFFFF, "200xx Series QAT Virtual Function(0x18EF)"},
+{0x8086, 0x18F3, 0xFFFF, 0xFFFF, "Atom Processor P5xxx Series SATA Controller(0x18F3)"},
{0x8086, 0x1900, 0xFFFF, 0xFFFF, "Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers(0x1900)"},
{0x8086, 0x1901, 0xFFFF, 0xFFFF, "6th-10th Gen Core Processor PCIe Controller (x16)(0x1901)"},
{0x8086, 0x1902, 0xFFFF, 0xFFFF, "HD Graphics 510(0x1902)"},
@@ -36352,6 +36686,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x1911, 0xFFFF, 0xFFFF, "Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model(0x1911)"},
{0x8086, 0x1911, 0x1028, 0x0869, "Vostro 3470(0x1028-0x0869)"},
{0x8086, 0x1911, 0x1028, 0x09BE, "Latitude 7410(0x1028-0x09BE)"},
+{0x8086, 0x1911, 0x1462, 0x7994, "H110M ECO/GAMING(0x1462-0x7994)"},
{0x8086, 0x1911, 0x1462, 0x7A72, "H270 PC MATE(0x1462-0x7A72)"},
{0x8086, 0x1911, 0x17AA, 0x2247, "ThinkPad T570(0x17AA-0x2247)"},
{0x8086, 0x1911, 0x17AA, 0x224F, "ThinkPad X1 Carbon 5th Gen(0x17AA-0x224F)"},
@@ -36482,6 +36817,8 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x1B48, 0xFFFF, 0xFFFF, "82597EX 10GbE Ethernet Controller(0x1B48)"},
{0x8086, 0x1B48, 0x8086, 0xA01F, "PRO/10GbE LR Server Adapter(0x8086-0xA01F)"},
{0x8086, 0x1B48, 0x8086, 0xA11F, "PRO/10GbE LR Server Adapter(0x8086-0xA11F)"},
+{0x8086, 0x1BCD, 0xFFFF, 0xFFFF, "Emmitsburg (C740 Family) USB 3.2 Gen 1 xHCI Controller(0x1BCD)"},
+{0x8086, 0x1BCD, 0x1BD4, 0x00A5, "RS0800I5H16i(0x1BD4-0x00A5)"},
{0x8086, 0x1BD2, 0xFFFF, 0xFFFF, "Sapphire Rapids SATA AHCI Controller(0x1BD2)"},
{0x8086, 0x1BF2, 0xFFFF, 0xFFFF, "Sapphire Rapids SATA AHCI Controller(0x1BF2)"},
{0x8086, 0x1C00, 0xFFFF, 0xFFFF, "6 Series/C200 Series Chipset Family Desktop SATA Controller (IDE mode, ports 0-3)(0x1C00)"},
@@ -36489,6 +36826,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x1C02, 0xFFFF, 0xFFFF, "6 Series/C200 Series Chipset Family 6 port Desktop SATA AHCI Controller(0x1C02)"},
{0x8086, 0x1C02, 0x1028, 0x04AA, "XPS 8300(0x1028-0x04AA)"},
{0x8086, 0x1C02, 0x1043, 0x844D, "P8 series motherboard(0x1043-0x844D)"},
+{0x8086, 0x1C02, 0x17AA, 0x3070, "ThinkCentre M91p(0x17AA-0x3070)"},
{0x8086, 0x1C02, 0x8086, 0x200D, "DH61CR motherboard(0x8086-0x200D)"},
{0x8086, 0x1C02, 0x8086, 0x7270, "Server Board S1200BT Family(0x8086-0x7270)"},
{0x8086, 0x1C03, 0xFFFF, 0xFFFF, "6 Series/C200 Series Chipset Family 6 port Mobile SATA AHCI Controller(0x1C03)"},
@@ -36539,6 +36877,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x1C20, 0x1043, 0x8418, "P8P67 Deluxe Motherboard(0x1043-0x8418)"},
{0x8086, 0x1C20, 0x1043, 0x841B, "P8H67 Series Motherboard(0x1043-0x841B)"},
{0x8086, 0x1C20, 0x17AA, 0x21CF, "ThinkPad T520(0x17AA-0x21CF)"},
+{0x8086, 0x1C20, 0x17AA, 0x3070, "ThinkCentre M91p(0x17AA-0x3070)"},
{0x8086, 0x1C20, 0x8086, 0x2008, "DQ67SW board(0x8086-0x2008)"},
{0x8086, 0x1C20, 0x8086, 0x200D, "DH61CR motherboard(0x8086-0x200D)"},
{0x8086, 0x1C20, 0x8086, 0x7270, "Apple MacBookPro8,2 [Core i7, 15\", 2011](0x8086-0x7270)"},
@@ -36549,6 +36888,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x1C22, 0x1028, 0x04DA, "Vostro 3750(0x1028-0x04DA)"},
{0x8086, 0x1C22, 0x1043, 0x844D, "P8 series motherboard(0x1043-0x844D)"},
{0x8086, 0x1C22, 0x17AA, 0x21CF, "ThinkPad T520(0x17AA-0x21CF)"},
+{0x8086, 0x1C22, 0x17AA, 0x3070, "ThinkCentre M91p(0x17AA-0x3070)"},
{0x8086, 0x1C22, 0x8086, 0x200D, "DH61CR motherboard(0x8086-0x200D)"},
{0x8086, 0x1C22, 0x8086, 0x7270, "Server Board S1200BT Family / Apple MacBook Pro 8,1/8,2(0x8086-0x7270)"},
{0x8086, 0x1C24, 0xFFFF, 0xFFFF, "6 Series/C200 Series Chipset Family Thermal Management Controller(0x1C24)"},
@@ -36560,6 +36900,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x1C26, 0x1028, 0x04DA, "Vostro 3750(0x1028-0x04DA)"},
{0x8086, 0x1C26, 0x1043, 0x844D, "P8 series motherboard(0x1043-0x844D)"},
{0x8086, 0x1C26, 0x17AA, 0x21CF, "ThinkPad T520(0x17AA-0x21CF)"},
+{0x8086, 0x1C26, 0x17AA, 0x3070, "ThinkCentre M91p(0x17AA-0x3070)"},
{0x8086, 0x1C26, 0x8086, 0x200D, "DH61CR motherboard(0x8086-0x200D)"},
{0x8086, 0x1C26, 0x8086, 0x7270, "Server Board S1200BT Family / Apple MacBook Pro 8,1/8,2(0x8086-0x7270)"},
{0x8086, 0x1C27, 0xFFFF, 0xFFFF, "6 Series/C200 Series Chipset Family USB Universal Host Controller #1(0x1C27)"},
@@ -36573,22 +36914,26 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x1C2D, 0x1028, 0x04DA, "Vostro 3750(0x1028-0x04DA)"},
{0x8086, 0x1C2D, 0x1043, 0x844D, "P8 series motherboard(0x1043-0x844D)"},
{0x8086, 0x1C2D, 0x17AA, 0x21CF, "ThinkPad T520(0x17AA-0x21CF)"},
+{0x8086, 0x1C2D, 0x17AA, 0x3070, "ThinkCentre M91p(0x17AA-0x3070)"},
{0x8086, 0x1C2D, 0x8086, 0x200D, "DH61CR motherboard(0x8086-0x200D)"},
{0x8086, 0x1C2D, 0x8086, 0x7270, "Server Board S1200BT Family / Apple MacBook Pro 8,1/8,2(0x8086-0x7270)"},
{0x8086, 0x1C33, 0xFFFF, 0xFFFF, "6 Series/C200 Series Chipset Family LAN Controller(0x1C33)"},
{0x8086, 0x1C35, 0xFFFF, 0xFFFF, "6 Series/C200 Series Chipset Family VECI Controller(0x1C35)"},
{0x8086, 0x1C3A, 0xFFFF, 0xFFFF, "6 Series/C200 Series Chipset Family MEI Controller #1(0x1C3A)"},
+{0x8086, 0x1C3A, 0x1028, 0x0493, "Latitude E6420(0x1028-0x0493)"},
{0x8086, 0x1C3A, 0x1028, 0x04A3, "Precision M4600(0x1028-0x04A3)"},
{0x8086, 0x1C3A, 0x1028, 0x04AA, "XPS 8300(0x1028-0x04AA)"},
{0x8086, 0x1C3A, 0x1028, 0x04B2, "Vostro 3350(0x1028-0x04B2)"},
{0x8086, 0x1C3A, 0x1028, 0x04DA, "Vostro 3750(0x1028-0x04DA)"},
{0x8086, 0x1C3A, 0x1043, 0x844D, "P8 series motherboard(0x1043-0x844D)"},
{0x8086, 0x1C3A, 0x17AA, 0x21CF, "ThinkPad T520(0x17AA-0x21CF)"},
+{0x8086, 0x1C3A, 0x17AA, 0x3070, "ThinkCentre M91p(0x17AA-0x3070)"},
{0x8086, 0x1C3A, 0x8086, 0x200D, "DH61CR motherboard(0x8086-0x200D)"},
{0x8086, 0x1C3A, 0x8086, 0x7270, "Apple MacBookPro8,2 [Core i7, 15\", 2011](0x8086-0x7270)"},
{0x8086, 0x1C3B, 0xFFFF, 0xFFFF, "6 Series/C200 Series Chipset Family MEI Controller #2(0x1C3B)"},
{0x8086, 0x1C3C, 0xFFFF, 0xFFFF, "6 Series/C200 Series Chipset Family IDE-r Controller(0x1C3C)"},
{0x8086, 0x1C3D, 0xFFFF, 0xFFFF, "6 Series/C200 Series Chipset Family KT Controller(0x1C3D)"},
+{0x8086, 0x1C3D, 0x17AA, 0x3070, "ThinkCentre M91p(0x17AA-0x3070)"},
{0x8086, 0x1C40, 0xFFFF, 0xFFFF, "6 Series/C200 Series Chipset Family LPC Controller(0x1C40)"},
{0x8086, 0x1C41, 0xFFFF, 0xFFFF, "Mobile SFF 6 Series Chipset Family LPC Controller(0x1C41)"},
{0x8086, 0x1C42, 0xFFFF, 0xFFFF, "6 Series/C200 Series Chipset Family LPC Controller(0x1C42)"},
@@ -36610,6 +36955,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x1C4C, 0xFFFF, 0xFFFF, "Q65 Express Chipset LPC Controller(0x1C4C)"},
{0x8086, 0x1C4D, 0xFFFF, 0xFFFF, "QS67 Express Chipset LPC Controller(0x1C4D)"},
{0x8086, 0x1C4E, 0xFFFF, 0xFFFF, "Q67 Express Chipset LPC Controller(0x1C4E)"},
+{0x8086, 0x1C4E, 0x17AA, 0x3070, "ThinkCentre M91p(0x17AA-0x3070)"},
{0x8086, 0x1C4F, 0xFFFF, 0xFFFF, "QM67 Express Chipset LPC Controller(0x1C4F)"},
{0x8086, 0x1C4F, 0x1028, 0x04A3, "Precision M4600(0x1028-0x04A3)"},
{0x8086, 0x1C4F, 0x17AA, 0x21CF, "ThinkPad T520(0x17AA-0x21CF)"},
@@ -37232,6 +37578,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x244E, 0x1028, 0x0211, "Optiplex 755(0x1028-0x0211)"},
{0x8086, 0x244E, 0x1028, 0x02DA, "OptiPlex 980(0x1028-0x02DA)"},
{0x8086, 0x244E, 0x1028, 0x04F7, "PowerEdge R320 server(0x1028-0x04F7)"},
+{0x8086, 0x244E, 0x103C, 0x130A, "Z600 Workstation(0x103C-0x130A)"},
{0x8086, 0x244E, 0x103C, 0x2A3B, "Pavilion A1512X(0x103C-0x2A3B)"},
{0x8086, 0x244E, 0x103C, 0x2A6F, "Asus IPIBL-LB Motherboard(0x103C-0x2A6F)"},
{0x8086, 0x244E, 0x103C, 0x31FE, "ProLiant DL140 G3(0x103C-0x31FE)"},
@@ -37247,6 +37594,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x244E, 0x15D9, 0x9680, "X7DBN Motherboard(0x15D9-0x9680)"},
{0x8086, 0x244E, 0x1734, 0x11D6, "B75 [Ivy Bridge] chipset on Esprimo P510 D3171 motherboard(0x1734-0x11D6)"},
{0x8086, 0x244E, 0x1775, 0x11CC, "CC11/CL11(0x1775-0x11CC)"},
+{0x8086, 0x244E, 0x17AA, 0x3070, "ThinkCentre M91p(0x17AA-0x3070)"},
{0x8086, 0x244E, 0x8086, 0x7270, "Server Board S1200BTS(0x8086-0x7270)"},
{0x8086, 0x2450, 0xFFFF, 0xFFFF, "82801E ISA Bridge (LPC)(0x2450)"},
{0x8086, 0x2452, 0xFFFF, 0xFFFF, "82801E USB Controller(0x2452)"},
@@ -40741,6 +41089,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x4538, 0xFFFF, 0xFFFF, "Elkhart Lake PCI-e Root Complex(0x4538)"},
{0x8086, 0x4555, 0xFFFF, 0xFFFF, "Elkhart Lake [UHD Graphics Gen11 16EU](0x4555)"},
{0x8086, 0x4571, 0xFFFF, 0xFFFF, "Elkhart Lake [UHD Graphics Gen11 32EU](0x4571)"},
+{0x8086, 0x4601, 0xFFFF, 0xFFFF, "Alder Lake-U15 Host and DRAM Controller(0x4601)"},
{0x8086, 0x4602, 0xFFFF, 0xFFFF, "Alder Lake Host and DRAM Controller(0x4602)"},
{0x8086, 0x460D, 0xFFFF, 0xFFFF, "12th Gen Core Processor PCI Express x16 Controller #1(0x460D)"},
{0x8086, 0x461D, 0xFFFF, 0xFFFF, "Alder Lake Innovation Platform Framework Processor Participant(0x461D)"},
@@ -40790,6 +41139,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x46B0, 0xFFFF, 0xFFFF, "AlderLake-P [Iris Xe Graphics](0x46B0)"},
{0x8086, 0x46B1, 0xFFFF, 0xFFFF, "AlderLake-P [Iris Xe Graphics](0x46B1)"},
{0x8086, 0x46B3, 0xFFFF, 0xFFFF, "Alder Lake-UP3 GT1 [UHD Graphics](0x46B3)"},
+{0x8086, 0x46B3, 0x1025, 0x161D, "N22C6 [Extensa 15 EX215-55](0x1025-0x161D)"},
{0x8086, 0x46B6, 0xFFFF, 0xFFFF, "AlderLake-P [Iris Xe Graphics](0x46B6)"},
{0x8086, 0x46B8, 0xFFFF, 0xFFFF, "AlderLake-P [Iris Xe Graphics](0x46B8)"},
{0x8086, 0x46BA, 0xFFFF, 0xFFFF, "AlderLake-P [Iris Xe Graphics](0x46BA)"},
@@ -40799,6 +41149,8 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x46D0, 0xFFFF, 0xFFFF, "Alder Lake-N [UHD Graphics](0x46D0)"},
{0x8086, 0x46D1, 0xFFFF, 0xFFFF, "Alder Lake-N [UHD Graphics](0x46D1)"},
{0x8086, 0x46D2, 0xFFFF, 0xFFFF, "Alder Lake-N [UHD Graphics](0x46D2)"},
+{0x8086, 0x46D3, 0xFFFF, 0xFFFF, "Alder Lake-N [Intel Graphics](0x46D3)"},
+{0x8086, 0x46D4, 0xFFFF, 0xFFFF, "Alder Lake-N [Intel Graphics](0x46D4)"},
{0x8086, 0x4905, 0xFFFF, 0xFFFF, "DG1 [Iris Xe MAX Graphics](0x4905)"},
{0x8086, 0x4906, 0xFFFF, 0xFFFF, "DG1 [Iris Xe Pod](0x4906)"},
{0x8086, 0x4907, 0xFFFF, 0xFFFF, "SG1 [Server GPU SG-18M](0x4907)"},
@@ -41029,8 +41381,11 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x56BB, 0xFFFF, 0xFFFF, "DG2 [Intel Graphics](0x56BB)"},
{0x8086, 0x56BC, 0xFFFF, 0xFFFF, "DG2 [Intel Graphics](0x56BC)"},
{0x8086, 0x56BD, 0xFFFF, 0xFFFF, "DG2 [Intel Graphics](0x56BD)"},
+{0x8086, 0x56BE, 0xFFFF, 0xFFFF, "DG2 [Arc Graphics A750E](0x56BE)"},
+{0x8086, 0x56BF, 0xFFFF, 0xFFFF, "DG2 [Arc Graphics A580E](0x56BF)"},
{0x8086, 0x56C0, 0xFFFF, 0xFFFF, "ATS-M [Data Center GPU Flex 170](0x56C0)"},
{0x8086, 0x56C1, 0xFFFF, 0xFFFF, "ATS-M [Data Center GPU Flex 140](0x56C1)"},
+{0x8086, 0x56C2, 0xFFFF, 0xFFFF, "ATS-M [Data Center GPU Flex 170G](0x56C2)"},
{0x8086, 0x5780, 0xFFFF, 0xFFFF, "Thunderbolt 80/120G Bridge [Barlow Ridge Host 80G 2023](0x5780)"},
{0x8086, 0x5781, 0xFFFF, 0xFFFF, "Thunderbolt 80/120G NHI [Barlow Ridge Host 80G 2023](0x5781)"},
{0x8086, 0x5782, 0xFFFF, 0xFFFF, "Thunderbolt 80/120G USB Controller [Barlow Ridge Host 80G 2023](0x5782)"},
@@ -41044,7 +41399,8 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x579E, 0xFFFF, 0xFFFF, "Ethernet Connection E825-C for SFP(0x579E)"},
{0x8086, 0x57A4, 0xFFFF, 0xFFFF, "Thunderbolt Bridge [Barlow Ridge Hub 40G 2023](0x57A4)"},
{0x8086, 0x57A5, 0xFFFF, 0xFFFF, "Thunderbolt USB Controller [Barlow Ridge Hub 40G 2023](0x57A5)"},
-{0x8086, 0x57B1, 0xFFFF, 0xFFFF, "Ethernet Controller E610 1GBASE T(0x57B1)"},
+{0x8086, 0x57B0, 0xFFFF, 0xFFFF, "Ethernet Controller E610 10GBASE T(0x57B0)"},
+{0x8086, 0x57B1, 0xFFFF, 0xFFFF, "Ethernet Controller E610 2.5GBASE T(0x57B1)"},
{0x8086, 0x57B1, 0x8086, 0x0000, "Ethernet Converged Network Adapter E610(0x8086-0x0000)"},
{0x8086, 0x5845, 0xFFFF, 0xFFFF, "QEMU NVM Express Controller(0x5845)"},
{0x8086, 0x5845, 0x1AF4, 0x1100, "QEMU Virtual Machine(0x1AF4-0x1100)"},
@@ -41061,11 +41417,15 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x590B, 0xFFFF, 0xFFFF, "HD Graphics 610(0x590B)"},
{0x8086, 0x590C, 0xFFFF, 0xFFFF, "Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers(0x590C)"},
{0x8086, 0x590F, 0xFFFF, 0xFFFF, "Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers(0x590F)"},
+{0x8086, 0x590F, 0x1043, 0x8694, "H110I-PLUS Motherboard(0x1043-0x8694)"},
+{0x8086, 0x590F, 0x1462, 0x7994, "H110M ECO/GAMING(0x1462-0x7994)"},
{0x8086, 0x590F, 0x1462, 0x7A68, "B250 KRAIT GAMING (MS-7A68)(0x1462-0x7A68)"},
{0x8086, 0x590F, 0x1462, 0x7A72, "H270 PC MATE(0x1462-0x7A72)"},
{0x8086, 0x5910, 0xFFFF, 0xFFFF, "Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers(0x5910)"},
{0x8086, 0x5911, 0xFFFF, 0xFFFF, "Xeon E3-1200 v6/7th Gen Core Processor Gaussian Mixture Model(0x5911)"},
{0x8086, 0x5912, 0xFFFF, 0xFFFF, "HD Graphics 630(0x5912)"},
+{0x8086, 0x5912, 0x1043, 0x8694, "H110I-PLUS Motherboard(0x1043-0x8694)"},
+{0x8086, 0x5912, 0x1462, 0x7994, "H110M ECO/GAMING(0x1462-0x7994)"},
{0x8086, 0x5912, 0x1462, 0x7A72, "H270 PC MATE(0x1462-0x7A72)"},
{0x8086, 0x5914, 0xFFFF, 0xFFFF, "Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers(0x5914)"},
{0x8086, 0x5914, 0x17AA, 0x225D, "ThinkPad T480(0x17AA-0x225D)"},
@@ -41445,11 +41805,11 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x7AB4, 0xFFFF, 0xFFFF, "Alder Lake-S PCH PCI Express Root Port #13(0x7AB4)"},
{0x8086, 0x7AB8, 0xFFFF, 0xFFFF, "Alder Lake-S PCH PCI Express Root Port #1(0x7AB8)"},
{0x8086, 0x7AB9, 0xFFFF, 0xFFFF, "Alder Lake-S PCH PCI Express Root Port #2(0x7AB9)"},
-{0x8086, 0x7ABA, 0xFFFF, 0xFFFF, "Alder Lake-S PCH PCI Express Root Port #?-?-?-?-(0x7ABA)"},
+{0x8086, 0x7ABA, 0xFFFF, 0xFFFF, "Alder Lake-S PCH PCI Express Root Port #3(0x7ABA)"},
{0x8086, 0x7ABC, 0xFFFF, 0xFFFF, "Alder Lake-S PCH PCI Express Root Port #5(0x7ABC)"},
{0x8086, 0x7ABD, 0xFFFF, 0xFFFF, "Alder Lake-S PCH PCI Express Root Port #6(0x7ABD)"},
{0x8086, 0x7ABF, 0xFFFF, 0xFFFF, "Alder Lake-S PCH PCI Express Root Port #8(0x7ABF)"},
-{0x8086, 0x7AC4, 0xFFFF, 0xFFFF, "Alder Lake-S PCH PCI Express Root Port #?-?-?-?-(0x7AC4)"},
+{0x8086, 0x7AC4, 0xFFFF, 0xFFFF, "Alder Lake-S PCH PCI Express Root Port #21(0x7AC4)"},
{0x8086, 0x7AC8, 0xFFFF, 0xFFFF, "Alder Lake-S PCH PCI Express Root Port #25(0x7AC8)"},
{0x8086, 0x7ACC, 0xFFFF, 0xFFFF, "Alder Lake-S PCH Serial IO I2C Controller #0(0x7ACC)"},
{0x8086, 0x7ACD, 0xFFFF, 0xFFFF, "Alder Lake-S PCH Serial IO I2C Controller #1(0x7ACD)"},
@@ -41468,11 +41828,12 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x7D0B, 0xFFFF, 0xFFFF, "Volume Management Device NVMe RAID Controller Intel Corporation(0x7D0B)"},
{0x8086, 0x7D1D, 0xFFFF, 0xFFFF, "Meteor Lake NPU(0x7D1D)"},
{0x8086, 0x7D40, 0xFFFF, 0xFFFF, "Meteor Lake-M [Intel Graphics](0x7D40)"},
+{0x8086, 0x7D41, 0xFFFF, 0xFFFF, "Arrow Lake-U [Intel Graphics](0x7D41)"},
{0x8086, 0x7D45, 0xFFFF, 0xFFFF, "Meteor Lake-P [Intel Graphics](0x7D45)"},
{0x8086, 0x7D51, 0xFFFF, 0xFFFF, "Arrow Lake-P [Intel Graphics](0x7D51)"},
{0x8086, 0x7D55, 0xFFFF, 0xFFFF, "Meteor Lake-P [Intel Arc Graphics](0x7D55)"},
{0x8086, 0x7D60, 0xFFFF, 0xFFFF, "Meteor Lake-M [Intel Graphics](0x7D60)"},
-{0x8086, 0x7D67, 0xFFFF, 0xFFFF, "Arrow Lake [Intel Graphics](0x7D67)"},
+{0x8086, 0x7D67, 0xFFFF, 0xFFFF, "Arrow Lake-U [Intel Graphics](0x7D67)"},
{0x8086, 0x7DD1, 0xFFFF, 0xFFFF, "Arrow Lake-P [Intel Graphics](0x7DD1)"},
{0x8086, 0x7DD5, 0xFFFF, 0xFFFF, "Meteor Lake-P [Intel Graphics](0x7DD5)"},
{0x8086, 0x7E01, 0xFFFF, 0xFFFF, "Meteor Lake-P LPC/eSPI Controller(0x7E01)"},
@@ -41484,6 +41845,8 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0x7E27, 0xFFFF, 0xFFFF, "Meteor Lake-P Serial IO SPI Controller #0(0x7E27)"},
{0x8086, 0x7E28, 0xFFFF, 0xFFFF, "Meteor Lake-P HD Audio Controller(0x7E28)"},
{0x8086, 0x7E30, 0xFFFF, 0xFFFF, "Meteor Lake-P Serial IO SPI Controller #1(0x7E30)"},
+{0x8086, 0x7E40, 0xFFFF, 0xFFFF, "Meteor Lake PCH CNVi WiFi(0x7E40)"},
+{0x8086, 0x7E40, 0x8086, 0x0094, "Wi-Fi 6E AX211 160MHz(0x8086-0x0094)"},
{0x8086, 0x7E46, 0xFFFF, 0xFFFF, "Meteor Lake-P Serial IO SPI Controller #2(0x7E46)"},
{0x8086, 0x7E50, 0xFFFF, 0xFFFF, "Meteor Lake-P Serial IO I2C Controller #4(0x7E50)"},
{0x8086, 0x7E51, 0xFFFF, 0xFFFF, "Meteor Lake-P Serial IO I2C Controller #5(0x7E51)"},
@@ -42224,6 +42587,8 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0xA0F0, 0x8086, 0x0244, "Wi-Fi 6 AX101NGW(0x8086-0x0244)"},
{0x8086, 0xA0FC, 0xFFFF, 0xFFFF, "Tiger Lake-LP Integrated Sensor Hub(0xA0FC)"},
{0x8086, 0xA102, 0xFFFF, 0xFFFF, "Q170/Q150/B150/H170/H110/Z170/CM236 Chipset SATA Controller [AHCI Mode](0xA102)"},
+{0x8086, 0xA102, 0x1043, 0x8694, "H110I-PLUS Motherboard(0x1043-0x8694)"},
+{0x8086, 0xA102, 0x1462, 0x7994, "H110M ECO/GAMING(0x1462-0x7994)"},
{0x8086, 0xA103, 0xFFFF, 0xFFFF, "HM170/QM170 Chipset SATA Controller [AHCI Mode](0xA103)"},
{0x8086, 0xA103, 0x1028, 0x06E4, "XPS 15 9550(0x1028-0x06E4)"},
{0x8086, 0xA103, 0x103C, 0x825B, "OMEN-17-w001nv(0x103C-0x825B)"},
@@ -42236,11 +42601,14 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0xA112, 0xFFFF, 0xFFFF, "100 Series/C230 Series Chipset Family PCI Express Root Port #3(0xA112)"},
{0x8086, 0xA113, 0xFFFF, 0xFFFF, "100 Series/C230 Series Chipset Family PCI Express Root Port #4(0xA113)"},
{0x8086, 0xA114, 0xFFFF, 0xFFFF, "100 Series/C230 Series Chipset Family PCI Express Root Port #5(0xA114)"},
+{0x8086, 0xA114, 0x1043, 0x8694, "H110I-PLUS Motherboard(0x1043-0x8694)"},
{0x8086, 0xA115, 0xFFFF, 0xFFFF, "100 Series/C230 Series Chipset Family PCI Express Root Port #6(0xA115)"},
{0x8086, 0xA116, 0xFFFF, 0xFFFF, "100 Series/C230 Series Chipset Family PCI Express Root Port #7(0xA116)"},
{0x8086, 0xA117, 0xFFFF, 0xFFFF, "100 Series/C230 Series Chipset Family PCI Express Root Port #8(0xA117)"},
{0x8086, 0xA118, 0xFFFF, 0xFFFF, "100 Series/C230 Series Chipset Family PCI Express Root Port #9(0xA118)"},
+{0x8086, 0xA118, 0x1043, 0x8694, "H110I-PLUS Motherboard(0x1043-0x8694)"},
{0x8086, 0xA119, 0xFFFF, 0xFFFF, "100 Series/C230 Series Chipset Family PCI Express Root Port #10(0xA119)"},
+{0x8086, 0xA119, 0x1043, 0x8694, "H110I-PLUS Motherboard(0x1043-0x8694)"},
{0x8086, 0xA11A, 0xFFFF, 0xFFFF, "100 Series/C230 Series Chipset Family PCI Express Root Port #11(0xA11A)"},
{0x8086, 0xA11B, 0xFFFF, 0xFFFF, "100 Series/C230 Series Chipset Family PCI Express Root Port #12(0xA11B)"},
{0x8086, 0xA11C, 0xFFFF, 0xFFFF, "100 Series/C230 Series Chipset Family PCI Express Root Port #13(0xA11C)"},
@@ -42251,10 +42619,14 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0xA121, 0xFFFF, 0xFFFF, "100 Series/C230 Series Chipset Family Power Management Controller(0xA121)"},
{0x8086, 0xA121, 0x1028, 0x06E4, "XPS 15 9550(0x1028-0x06E4)"},
{0x8086, 0xA121, 0x103C, 0x825B, "OMEN-17-w001nv(0x103C-0x825B)"},
+{0x8086, 0xA121, 0x1043, 0x8694, "H110I-PLUS Motherboard(0x1043-0x8694)"},
+{0x8086, 0xA121, 0x1462, 0x7994, "H110M ECO/GAMING(0x1462-0x7994)"},
{0x8086, 0xA122, 0xFFFF, 0xFFFF, "Sunrise Point-H cAVS(0xA122)"},
{0x8086, 0xA123, 0xFFFF, 0xFFFF, "100 Series/C230 Series Chipset Family SMBus(0xA123)"},
{0x8086, 0xA123, 0x1028, 0x06E4, "XPS 15 9550(0x1028-0x06E4)"},
{0x8086, 0xA123, 0x103C, 0x825B, "OMEN-17-w001nv(0x103C-0x825B)"},
+{0x8086, 0xA123, 0x1043, 0x8694, "H110I-PLUS Motherboard(0x1043-0x8694)"},
+{0x8086, 0xA123, 0x1462, 0x7994, "H110M ECO/GAMING(0x1462-0x7994)"},
{0x8086, 0xA124, 0xFFFF, 0xFFFF, "100 Series/C230 Series Chipset Family SPI Controller(0xA124)"},
{0x8086, 0xA125, 0xFFFF, 0xFFFF, "100 Series/C230 Series Chipset Family Gigabit Ethernet Controller(0xA125)"},
{0x8086, 0xA126, 0xFFFF, 0xFFFF, "100 Series/C230 Series Chipset Family Trace Hub(0xA126)"},
@@ -42265,15 +42637,20 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0xA12F, 0xFFFF, 0xFFFF, "100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller(0xA12F)"},
{0x8086, 0xA12F, 0x1028, 0x06E4, "XPS 15 9550(0x1028-0x06E4)"},
{0x8086, 0xA12F, 0x103C, 0x825B, "OMEN-17-w001nv(0x103C-0x825B)"},
+{0x8086, 0xA12F, 0x1043, 0x8694, "H110I-PLUS Motherboard(0x1043-0x8694)"},
+{0x8086, 0xA12F, 0x1462, 0x7994, "H110M ECO/GAMING(0x1462-0x7994)"},
{0x8086, 0xA130, 0xFFFF, 0xFFFF, "100 Series/C230 Series Chipset Family USB Device Controller (OTG)(0xA130)"},
{0x8086, 0xA131, 0xFFFF, 0xFFFF, "100 Series/C230 Series Chipset Family Thermal Subsystem(0xA131)"},
{0x8086, 0xA131, 0x1028, 0x06E4, "XPS 15 9550(0x1028-0x06E4)"},
{0x8086, 0xA131, 0x103C, 0x825B, "OMEN-17-w001nv(0x103C-0x825B)"},
+{0x8086, 0xA131, 0x1462, 0x7994, "H110M ECO/GAMING(0x1462-0x7994)"},
{0x8086, 0xA133, 0xFFFF, 0xFFFF, "Sunrise Point-H Northpeak ACPI Function(0xA133)"},
{0x8086, 0xA135, 0xFFFF, 0xFFFF, "100 Series/C230 Series Chipset Family Integrated Sensor Hub(0xA135)"},
{0x8086, 0xA13A, 0xFFFF, 0xFFFF, "100 Series/C230 Series Chipset Family MEI Controller #1(0xA13A)"},
{0x8086, 0xA13A, 0x1028, 0x06E4, "XPS 15 9550(0x1028-0x06E4)"},
{0x8086, 0xA13A, 0x103C, 0x825B, "OMEN-17-w001nv(0x103C-0x825B)"},
+{0x8086, 0xA13A, 0x1043, 0x8694, "H110I-PLUS Motherboard(0x1043-0x8694)"},
+{0x8086, 0xA13A, 0x1462, 0x7994, "H110M ECO/GAMING(0x1462-0x7994)"},
{0x8086, 0xA13B, 0xFFFF, 0xFFFF, "100 Series/C230 Series Chipset Family MEI Controller #2(0xA13B)"},
{0x8086, 0xA13C, 0xFFFF, 0xFFFF, "100 Series/C230 Series Chipset Family IDE Redirection(0xA13C)"},
{0x8086, 0xA13D, 0xFFFF, 0xFFFF, "100 Series/C230 Series Chipset Family KT Redirection(0xA13D)"},
@@ -42282,6 +42659,8 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0xA141, 0xFFFF, 0xFFFF, "Sunrise Point-H LPC Controller(0xA141)"},
{0x8086, 0xA142, 0xFFFF, 0xFFFF, "Sunrise Point-H LPC Controller(0xA142)"},
{0x8086, 0xA143, 0xFFFF, 0xFFFF, "H110 Chipset LPC/eSPI Controller(0xA143)"},
+{0x8086, 0xA143, 0x1043, 0x8694, "H110I-PLUS Motherboard(0x1043-0x8694)"},
+{0x8086, 0xA143, 0x1462, 0x7994, "H110M ECO/GAMING(0x1462-0x7994)"},
{0x8086, 0xA144, 0xFFFF, 0xFFFF, "H170 Chipset LPC/eSPI Controller(0xA144)"},
{0x8086, 0xA145, 0xFFFF, 0xFFFF, "Z170 Chipset LPC/eSPI Controller(0xA145)"},
{0x8086, 0xA146, 0xFFFF, 0xFFFF, "Q170 Chipset LPC/eSPI Controller(0xA146)"},
@@ -42327,6 +42706,8 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0xA170, 0xFFFF, 0xFFFF, "100 Series/C230 Series Chipset Family HD Audio Controller(0xA170)"},
{0x8086, 0xA170, 0x1028, 0x06E4, "XPS 15 9550(0x1028-0x06E4)"},
{0x8086, 0xA170, 0x103C, 0x825B, "OMEN-17-w001nv(0x103C-0x825B)"},
+{0x8086, 0xA170, 0x1043, 0x86C7, "H110I-PLUS Motherboard(0x1043-0x86C7)"},
+{0x8086, 0xA170, 0x1462, 0xF994, "H110M ECO/GAMING(0x1462-0xF994)"},
{0x8086, 0xA171, 0xFFFF, 0xFFFF, "CM238 HD Audio Controller(0xA171)"},
{0x8086, 0xA182, 0xFFFF, 0xFFFF, "C620 Series Chipset Family SATA Controller [AHCI mode](0xA182)"},
{0x8086, 0xA186, 0xFFFF, 0xFFFF, "C620 Series Chipset Family SATA Controller [RAID mode](0xA186)"},
@@ -42468,6 +42849,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0xA304, 0x1028, 0x0869, "Vostro 3470(0x1028-0x0869)"},
{0x8086, 0xA305, 0xFFFF, 0xFFFF, "Z390 Chipset LPC/eSPI Controller(0xA305)"},
{0x8086, 0xA306, 0xFFFF, 0xFFFF, "Q370 Chipset LPC/eSPI Controller(0xA306)"},
+{0x8086, 0xA308, 0xFFFF, 0xFFFF, "300 Series Chipset Family LPC Controller(0xA308)"},
{0x8086, 0xA309, 0xFFFF, 0xFFFF, "Cannon Point-LP LPC Controller(0xA309)"},
{0x8086, 0xA30C, 0xFFFF, 0xFFFF, "QM370 Chipset LPC/eSPI Controller(0xA30C)"},
{0x8086, 0xA30D, 0xFFFF, 0xFFFF, "HM470 Chipset LPC/eSPI Controller(0xA30D)"},
@@ -42538,10 +42920,12 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0xA3EB, 0xFFFF, 0xFFFF, "Comet Lake PCI Express Root Port #21(0xA3EB)"},
{0x8086, 0xA3F0, 0xFFFF, 0xFFFF, "Comet Lake PCH-V cAVS(0xA3F0)"},
{0x8086, 0xA620, 0xFFFF, 0xFFFF, "6400/6402 Advanced Memory Buffer (AMB)(0xA620)"},
+{0x8086, 0xA703, 0xFFFF, 0xFFFF, "Raptor Lake-S Host Bridge/DRAM Controller(0xA703)"},
{0x8086, 0xA706, 0xFFFF, 0xFFFF, "Raptor Lake-P 6p+8e cores Host Bridge/DRAM Controller(0xA706)"},
{0x8086, 0xA706, 0x1028, 0x0C06, "Precision 3580(0x1028-0x0C06)"},
{0x8086, 0xA707, 0xFFFF, 0xFFFF, "Raptor Lake-P/U 4p+8e cores Host Bridge/DRAM Controller(0xA707)"},
{0x8086, 0xA708, 0xFFFF, 0xFFFF, "Raptor Lake-P/U 2p+8e cores Host Bridge/DRAM Controller(0xA708)"},
+{0x8086, 0xA70D, 0xFFFF, 0xFFFF, "Raptor Lake PCI Express 5.0 Graphics Port (PEG010)(0xA70D)"},
{0x8086, 0xA71D, 0xFFFF, 0xFFFF, "Raptor Lake Dynamic Platform and Thermal Framework Processor Participant(0xA71D)"},
{0x8086, 0xA71D, 0x1028, 0x0C06, "Precision 3580(0x1028-0x0C06)"},
{0x8086, 0xA71E, 0xFFFF, 0xFFFF, "Raptor Lake-P Thunderbolt 4 USB Controller(0xA71E)"},
@@ -42607,6 +42991,7 @@ static pci_id_t const pci_vid_8086[] = {
{0x8086, 0xABC0, 0xFFFF, 0xFFFF, "Omni-Path Fabric Switch Silicon 100 Series(0xABC0)"},
{0x8086, 0xAD0B, 0xFFFF, 0xFFFF, "Volume Management Device NVMe RAID Controller Intel Corporation(0xAD0B)"},
{0x8086, 0xAD1D, 0xFFFF, 0xFFFF, "Arrow Lake NPU(0xAD1D)"},
+{0x8086, 0xB03E, 0xFFFF, 0xFFFF, "Panther Lake NPU(0xB03E)"},
{0x8086, 0xB152, 0xFFFF, 0xFFFF, "21152 PCI-to-PCI Bridge(0xB152)"},
{0x8086, 0xB152, 0x8086, 0xB152, "21152 PCI-to-PCI Bridge(0x8086-0xB152)"},
{0x8086, 0xB154, 0xFFFF, 0xFFFF, "21154 PCI-to-PCI Bridge(0xB154)"},
@@ -42700,9 +43085,10 @@ static pci_id_t const pci_vid_8088[] = {
{0x8088, 0x0108, 0x8088, 0x0420, "Qual-Port Ethernet Network Adaptor SF400HT-S(0x8088-0x0420)"},
{0x8088, 0x0109, 0xFFFF, 0xFFFF, "WX1860-LC Gigabit Ethernet Controller(0x0109)"},
{0x8088, 0x010A, 0xFFFF, 0xFFFF, "WX1860A1 Gigabit Ethernet Controller(0x010A)"},
-{0x8088, 0x010A, 0x4C52, 0x2023, "LRES2034PT Single-port 1Gb Ethernet Network Adapter(0x4C52-0x2023)"},
{0x8088, 0x010A, 0x4C52, 0x2026, "LRES2026PF Single-port 1Gb Ethernet Network Adapter(0x4C52-0x2026)"},
+{0x8088, 0x010A, 0x4C52, 0x2034, "LRES2034PT Single-port 1Gb Ethernet Network Adapter(0x4C52-0x2034)"},
{0x8088, 0x010B, 0xFFFF, 0xFFFF, "WX1860AL1 Gigabit Ethernet Controller(0x010B)"},
+{0x8088, 0x010B, 0x4C52, 0x2215, "LRES2215PT Single-port 1Gb Ethernet Network Adapter(0x4C52-0x2215)"},
{0x8088, 0x010B, 0x8088, 0x0102, "Single-Port Ethernet Network Adaptor SF100HT(0x8088-0x0102)"},
{0x8088, 0x010B, 0x8088, 0x4102, "Single-Port Ethernet Network Adaptor SF100HT (WOL)(0x8088-0x4102)"},
{0x8088, 0x010B, 0x8088, 0x8102, "Single-Port Ethernet Network Adaptor SF100HT (NCSI)(0x8088-0x8102)"},
@@ -42715,7 +43101,7 @@ static pci_id_t const pci_vid_8088[] = {
{0x8088, 0x011A, 0xFFFF, 0xFFFF, "WX1860A1 Gigabit Ethernet Controller Virtual Function(0x011A)"},
{0x8088, 0x011B, 0xFFFF, 0xFFFF, "WX1860AL1 Gigabit Ethernet Controller Virtual Function(0x011B)"},
{0x8088, 0x1000, 0xFFFF, 0xFFFF, "Ethernet Controller RP1000 Virtual Function for 10GbE SFP+(0x1000)"},
-{0x8088, 0x1001, 0xFFFF, 0xFFFF, "Ethernet Controller RP1000 for 10GbE SFP+(0x1001)"},
+{0x8088, 0x1001, 0xFFFF, 0xFFFF, "Ethernet Controller SP1000A for 10GbE SFP+(0x1001)"},
{0x8088, 0x1001, 0x1BD4, 0x0084, "Ethernet Controller SP1000A for 10GbE SFP+(lldp)(0x1BD4-0x0084)"},
{0x8088, 0x1001, 0x1BD4, 0x0085, "Ethernet Controller SP1000A for 10GBASE-T(0x1BD4-0x0085)"},
{0x8088, 0x1001, 0x4C52, 0x1002, "LRES1002PF Dual-port 10Gb Ethernet Server Adapter(0x4C52-0x1002)"},
@@ -42725,7 +43111,7 @@ static pci_id_t const pci_vid_8088[] = {
{0x8088, 0x1001, 0x8088, 0x0300, "Ethernet Network Adaptor RP1000-A03 for 10GbE SFP+(0x8088-0x0300)"},
{0x8088, 0x1001, 0x8088, 0x0400, "Ethernet Network Adaptor RP1000-A04 for 10GbE SFP+(0x8088-0x0400)"},
{0x8088, 0x2000, 0xFFFF, 0xFFFF, "Ethernet Controller RP2000 Virtual Function for 10GbE SFP+(0x2000)"},
-{0x8088, 0x2001, 0xFFFF, 0xFFFF, "Ethernet Controller RP2000 for 10GbE SFP+(0x2001)"},
+{0x8088, 0x2001, 0xFFFF, 0xFFFF, "Ethernet Controller WX1820AL for 10GbE SFP+(0x2001)"},
{0x8088, 0x2001, 0x8088, 0x2000, "Ethernet Network Adaptor RP2000 for 10GbE SFP+(0x8088-0x2000)"},
{0x8088, 0x2001, 0x8088, 0x2300, "Ethernet Network Adaptor RP2000-A03 for 10GbE SFP+(0x8088-0x2300)"},
{0x8088, 0x2001, 0x8088, 0x2400, "Ethernet Network Adaptor RP2000-A04 for 10GbE SFP+(0x8088-0x2400)"},
@@ -42773,6 +43159,7 @@ static pci_id_t const pci_vid_8820[] = {
static pci_id_t const pci_vid_8848[] = {
{0x8848, 0xFFFF, 0xFFFF, 0xFFFF, "MUCSE(0x8848)"},
{0x8848, 0x1000, 0xFFFF, 0xFFFF, "Ethernet Controller N10 Series for 10GbE or 40GbE (Dual-port)(0x1000)"},
+{0x8848, 0x1000, 0x4C52, 0x3032, "LRES3032PF Dual-port 10Gb Ethernet Server Adapter for OCP(0x4C52-0x3032)"},
{0x8848, 0x1000, 0x8848, 0x8410, "Ethernet Network Adapter N10G-X2-DC for 10GbE SFP+ 2-port(0x8848-0x8410)"},
{0x8848, 0x1001, 0xFFFF, 0xFFFF, "Ethernet Controller N400 Series for 1GbE (Dual-port)(0x1001)"},
{0x8848, 0x1003, 0xFFFF, 0xFFFF, "Ethernet Controller N400 Series for 10GbE (Single-port)(0x1003)"},
@@ -42790,10 +43177,13 @@ static pci_id_t const pci_vid_8848[] = {
{0x8848, 0x1081, 0xFFFF, 0xFFFF, "Ethernet Controller N400 Series Virtual Function(0x1081)"},
{0x8848, 0x1083, 0xFFFF, 0xFFFF, "Ethernet Controller N400 Series Virtual Function(0x1083)"},
{0x8848, 0x8308, 0xFFFF, 0xFFFF, "Ethernet Controller N500 Series for 1GbE (Quad-port, Copper RJ45)(0x8308)"},
+{0x8848, 0x8308, 0x193D, 0x1088, "NIC-ETH3M0T-3S-4P(0x193D-0x1088)"},
{0x8848, 0x8308, 0x4C52, 0x1048, "LRES1048PT Quad-port 1Gb Ethernet Network Adapter(0x4C52-0x1048)"},
+{0x8848, 0x8308, 0x4C52, 0x3044, "LRES3044PT Quad-port 1Gb Ethernet Server Adapter for OCP(0x4C52-0x3044)"},
{0x8848, 0x8309, 0xFFFF, 0xFFFF, "Ethernet Controller N500 Series Virtual Function(0x8309)"},
{0x8848, 0x8318, 0xFFFF, 0xFFFF, "Ethernet Controller N500 Series for 1GbE (Dual-port, Copper RJ45)(0x8318)"},
{0x8848, 0x8318, 0x4C52, 0x1049, "LRES1049PT Dual-port 1Gb Ethernet Network Adapter(0x4C52-0x1049)"},
+{0x8848, 0x8318, 0x4C52, 0x3043, "LRES3043PT Dual-port 1Gb Ethernet Server Adapter for OCP(0x4C52-0x3043)"},
}; /* pci_vid_8848[] */
static pci_id_t const pci_vid_8866[] = {
@@ -42802,6 +43192,7 @@ static pci_id_t const pci_vid_8866[] = {
static pci_id_t const pci_vid_8888[] = {
{0x8888, 0xFFFF, 0xFFFF, 0xFFFF, "Silicon Magic(0x8888)"},
+{0x8888, 0x8504, 0xFFFF, 0xFFFF, "AVMatrix VC42(0x8504)"},
}; /* pci_vid_8888[] */
static pci_id_t const pci_vid_8912[] = {
@@ -43419,6 +43810,9 @@ static pci_id_t const pci_vid_9D32[] = {
{0x9D32, 0x2001, 0xFFFF, 0xFFFF, "STAR2000E NVMe SSD(0x2001)"},
{0x9D32, 0x2002, 0xFFFF, 0xFFFF, "STAR2000C NVMe SSD(0x2002)"},
{0x9D32, 0x2003, 0xFFFF, 0xFFFF, "STAR2000L NVMe SSD(0x2003)"},
+{0x9D32, 0x2004, 0xFFFF, 0xFFFF, "EAST 2000K SSD(0x2004)"},
+{0x9D32, 0x2008, 0xFFFF, 0xFFFF, "STAR2008 PCIE NVMe SSD Controller(0x2008)"},
+{0x9D32, 0x2010, 0xFFFF, 0xFFFF, "STAR2010 PCIE NVMe Secure SSD Controller(0x2010)"},
{0x9D32, 0xBB5B, 0xFFFF, 0xFFFF, "Asgard AN3+ NVMe SSD(0xBB5B)"},
{0x9D32, 0xFC22, 0xFFFF, 0xFFFF, "Asgard AN3+ NVMe SSD(0xFC22)"},
}; /* pci_vid_9D32[] */
@@ -43637,6 +44031,7 @@ static pci_id_t const pci_vid_C0A9[] = {
{0xC0A9, 0x5412, 0xFFFF, 0xFFFF, "P5 NVMe PCIe SSD[SlashP5](0x5412)"},
{0xC0A9, 0x5415, 0xFFFF, 0xFFFF, "T500 NVMe PCIe SSD(0x5415)"},
{0xC0A9, 0x5419, 0xFFFF, 0xFFFF, "T700 NVMe PCIe SSD(0x5419)"},
+{0xC0A9, 0x5421, 0xFFFF, 0xFFFF, "P3 Plus NVMe PCIe SSD (DRAM-less)(0x5421)"},
}; /* pci_vid_C0A9[] */
static pci_id_t const pci_vid_C0DE[] = {
@@ -44041,6 +44436,14 @@ static pci_id_t const pci_vid_F111[] = {
{0xF111, 0xFFFF, 0xFFFF, 0xFFFF, "Framework Computer Inc.(0xF111)"},
}; /* pci_vid_F111[] */
+static pci_id_t const pci_vid_F117[] = {
+{0xF117, 0xFFFF, 0xFFFF, 0xFFFF, "Cerio(0xF117)"},
+{0xF117, 0x1000, 0xFFFF, 0xFFFF, "Emulated PCIe Switch(0x1000)"},
+{0xF117, 0x1010, 0xFFFF, 0xFFFF, "Placeholder Device(0x1010)"},
+{0xF117, 0x1020, 0xFFFF, 0xFFFF, "Pseudo-Device(0x1020)"},
+{0xF117, 0x1030, 0xFFFF, 0xFFFF, "Test Device(0x1030)"},
+}; /* pci_vid_F117[] */
+
static pci_id_t const pci_vid_F15E[] = {
{0xF15E, 0xFFFF, 0xFFFF, 0xFFFF, "SiFive, Inc.(0xF15E)"},
{0xF15E, 0x0000, 0xFFFF, 0xFFFF, "FU740-C000 RISC-V SoC PCI Express x8 to AXI4 Bridge(0x0000)"},
@@ -44193,9 +44596,9 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x0E55, 1, pci_vid_0E55 },
{0x0EAC, 2, pci_vid_0EAC },
{0x0F62, 1, pci_vid_0F62 },
-{0x1000, 797, pci_vid_1000 },
+{0x1000, 798, pci_vid_1000 },
{0x1001, 10, pci_vid_1001 },
-{0x1002, 3246, pci_vid_1002 },
+{0x1002, 3249, pci_vid_1002 },
{0x1003, 2, pci_vid_1003 },
{0x1004, 34, pci_vid_1004 },
{0x1005, 8, pci_vid_1005 },
@@ -44225,7 +44628,7 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x101F, 1, pci_vid_101F },
{0x1020, 1, pci_vid_1020 },
{0x1021, 1, pci_vid_1021 },
-{0x1022, 688, pci_vid_1022 },
+{0x1022, 689, pci_vid_1022 },
{0x1023, 56, pci_vid_1023 },
{0x1024, 4, pci_vid_1024 },
{0x1025, 59, pci_vid_1025 },
@@ -44367,7 +44770,7 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x10B2, 1, pci_vid_10B2 },
{0x10B3, 3, pci_vid_10B3 },
{0x10B4, 3, pci_vid_10B4 },
-{0x10B5, 259, pci_vid_10B5 },
+{0x10B5, 271, pci_vid_10B5 },
{0x10B6, 25, pci_vid_10B6 },
{0x10B7, 132, pci_vid_10B7 },
{0x10B8, 21, pci_vid_10B8 },
@@ -44407,7 +44810,7 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x10DB, 1, pci_vid_10DB },
{0x10DC, 6, pci_vid_10DC },
{0x10DD, 3, pci_vid_10DD },
-{0x10DE, 3259, pci_vid_10DE },
+{0x10DE, 3316, pci_vid_10DE },
{0x10DF, 127, pci_vid_10DF },
{0x10E0, 7, pci_vid_10E0 },
{0x10E1, 5, pci_vid_10E1 },
@@ -44421,7 +44824,7 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x10E9, 1, pci_vid_10E9 },
{0x10EA, 10, pci_vid_10EA },
{0x10EB, 3, pci_vid_10EB },
-{0x10EC, 243, pci_vid_10EC },
+{0x10EC, 246, pci_vid_10EC },
{0x10ED, 2, pci_vid_10ED },
{0x10EE, 47, pci_vid_10EE },
{0x10EF, 2, pci_vid_10EF },
@@ -44666,7 +45069,7 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x11E0, 1, pci_vid_11E0 },
{0x11E1, 1, pci_vid_11E1 },
{0x11E2, 1, pci_vid_11E2 },
-{0x11E3, 5, pci_vid_11E3 },
+{0x11E3, 37, pci_vid_11E3 },
{0x11E4, 1, pci_vid_11E4 },
{0x11E5, 1, pci_vid_11E5 },
{0x11E6, 1, pci_vid_11E6 },
@@ -44716,7 +45119,7 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x1214, 1, pci_vid_1214 },
{0x1215, 1, pci_vid_1215 },
{0x1216, 1, pci_vid_1216 },
-{0x1217, 58, pci_vid_1217 },
+{0x1217, 59, pci_vid_1217 },
{0x1218, 1, pci_vid_1218 },
{0x1219, 1, pci_vid_1219 },
{0x121A, 45, pci_vid_121A },
@@ -44801,7 +45204,7 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x126C, 3, pci_vid_126C },
{0x126D, 1, pci_vid_126D },
{0x126E, 1, pci_vid_126E },
-{0x126F, 19, pci_vid_126F },
+{0x126F, 20, pci_vid_126F },
{0x1270, 1, pci_vid_1270 },
{0x1271, 1, pci_vid_1271 },
{0x1272, 1, pci_vid_1272 },
@@ -44906,7 +45309,7 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x12D5, 3, pci_vid_12D5 },
{0x12D6, 1, pci_vid_12D6 },
{0x12D7, 1, pci_vid_12D7 },
-{0x12D8, 27, pci_vid_12D8 },
+{0x12D8, 28, pci_vid_12D8 },
{0x12D9, 7, pci_vid_12D9 },
{0x12DA, 1, pci_vid_12DA },
{0x12DB, 1, pci_vid_12DB },
@@ -45005,7 +45408,7 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x1341, 1, pci_vid_1341 },
{0x1342, 1, pci_vid_1342 },
{0x1343, 1, pci_vid_1343 },
-{0x1344, 89, pci_vid_1344 },
+{0x1344, 137, pci_vid_1344 },
{0x1345, 1, pci_vid_1345 },
{0x1347, 1, pci_vid_1347 },
{0x1349, 1, pci_vid_1349 },
@@ -45260,7 +45663,7 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x144A, 15, pci_vid_144A },
{0x144B, 1, pci_vid_144B },
{0x144C, 1, pci_vid_144C },
-{0x144D, 164, pci_vid_144D },
+{0x144D, 165, pci_vid_144D },
{0x144E, 1, pci_vid_144E },
{0x144F, 1, pci_vid_144F },
{0x1450, 1, pci_vid_1450 },
@@ -45408,7 +45811,7 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x14E1, 1, pci_vid_14E1 },
{0x14E2, 1, pci_vid_14E2 },
{0x14E3, 1, pci_vid_14E3 },
-{0x14E4, 858, pci_vid_14E4 },
+{0x14E4, 860, pci_vid_14E4 },
{0x14E5, 1, pci_vid_14E5 },
{0x14E6, 1, pci_vid_14E6 },
{0x14E7, 1, pci_vid_14E7 },
@@ -45502,7 +45905,7 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x153F, 2, pci_vid_153F },
{0x1540, 1, pci_vid_1540 },
{0x1541, 1, pci_vid_1541 },
-{0x1542, 12, pci_vid_1542 },
+{0x1542, 13, pci_vid_1542 },
{0x1543, 3, pci_vid_1543 },
{0x1544, 1, pci_vid_1544 },
{0x1545, 1, pci_vid_1545 },
@@ -45612,11 +46015,11 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x15B0, 1, pci_vid_15B0 },
{0x15B1, 1, pci_vid_15B1 },
{0x15B2, 1, pci_vid_15B2 },
-{0x15B3, 255, pci_vid_15B3 },
+{0x15B3, 267, pci_vid_15B3 },
{0x15B4, 1, pci_vid_15B4 },
{0x15B5, 1, pci_vid_15B5 },
{0x15B6, 17, pci_vid_15B6 },
-{0x15B7, 31, pci_vid_15B7 },
+{0x15B7, 33, pci_vid_15B7 },
{0x15B8, 11, pci_vid_15B8 },
{0x15B9, 1, pci_vid_15B9 },
{0x15BA, 1, pci_vid_15BA },
@@ -45906,7 +46309,7 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x196A, 4, pci_vid_196A },
{0x196D, 1, pci_vid_196D },
{0x196E, 1, pci_vid_196E },
-{0x1971, 3, pci_vid_1971 },
+{0x1971, 5, pci_vid_1971 },
{0x1974, 7, pci_vid_1974 },
{0x1976, 1, pci_vid_1976 },
{0x1977, 1, pci_vid_1977 },
@@ -46016,9 +46419,10 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x1B3E, 4, pci_vid_1B3E },
{0x1B40, 1, pci_vid_1B40 },
{0x1B47, 3, pci_vid_1B47 },
-{0x1B4B, 51, pci_vid_1B4B },
+{0x1B4B, 52, pci_vid_1B4B },
{0x1B4C, 1, pci_vid_1B4C },
{0x1B55, 7, pci_vid_1B55 },
+{0x1B61, 1, pci_vid_1B61 },
{0x1B66, 2, pci_vid_1B66 },
{0x1B6F, 5, pci_vid_1B6F },
{0x1B73, 6, pci_vid_1B73 },
@@ -46040,7 +46444,7 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x1BCF, 2, pci_vid_1BCF },
{0x1BD0, 18, pci_vid_1BD0 },
{0x1BD4, 12, pci_vid_1BD4 },
-{0x1BEE, 3, pci_vid_1BEE },
+{0x1BEE, 18, pci_vid_1BEE },
{0x1BEF, 2, pci_vid_1BEF },
{0x1BF4, 3, pci_vid_1BF4 },
{0x1BF5, 2, pci_vid_1BF5 },
@@ -46058,8 +46462,8 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x1C3B, 3, pci_vid_1C3B },
{0x1C44, 3, pci_vid_1C44 },
{0x1C58, 7, pci_vid_1C58 },
-{0x1C5C, 44, pci_vid_1C5C },
-{0x1C5F, 106, pci_vid_1C5F },
+{0x1C5C, 45, pci_vid_1C5C },
+{0x1C5F, 114, pci_vid_1C5F },
{0x1C63, 2, pci_vid_1C63 },
{0x1C7E, 2, pci_vid_1C7E },
{0x1C7F, 2, pci_vid_1C7F },
@@ -46070,7 +46474,7 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x1CB5, 2, pci_vid_1CB5 },
{0x1CB8, 1, pci_vid_1CB8 },
{0x1CC1, 23, pci_vid_1CC1 },
-{0x1CC4, 48, pci_vid_1CC4 },
+{0x1CC4, 52, pci_vid_1CC4 },
{0x1CC5, 3, pci_vid_1CC5 },
{0x1CC7, 3, pci_vid_1CC7 },
{0x1CCF, 2, pci_vid_1CCF },
@@ -46102,7 +46506,7 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x1D62, 1, pci_vid_1D62 },
{0x1D65, 2, pci_vid_1D65 },
{0x1D69, 3, pci_vid_1D69 },
-{0x1D6A, 21, pci_vid_1D6A },
+{0x1D6A, 25, pci_vid_1D6A },
{0x1D6C, 42, pci_vid_1D6C },
{0x1D72, 1, pci_vid_1D72 },
{0x1D78, 62, pci_vid_1D78 },
@@ -46144,29 +46548,29 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x1DEE, 4, pci_vid_1DEE },
{0x1DEF, 27, pci_vid_1DEF },
{0x1DF3, 29, pci_vid_1DF3 },
-{0x1DF5, 2, pci_vid_1DF5 },
+{0x1DF5, 3, pci_vid_1DF5 },
{0x1DF7, 4, pci_vid_1DF7 },
{0x1DF8, 9, pci_vid_1DF8 },
{0x1DFC, 2, pci_vid_1DFC },
{0x1E0D, 1, pci_vid_1E0D },
-{0x1E0F, 101, pci_vid_1E0F },
+{0x1E0F, 102, pci_vid_1E0F },
{0x1E17, 1, pci_vid_1E17 },
{0x1E18, 1, pci_vid_1E18 },
{0x1E24, 8, pci_vid_1E24 },
{0x1E26, 1, pci_vid_1E26 },
-{0x1E36, 16, pci_vid_1E36 },
+{0x1E36, 17, pci_vid_1E36 },
{0x1E38, 2, pci_vid_1E38 },
{0x1E39, 1, pci_vid_1E39 },
{0x1E3A, 2, pci_vid_1E3A },
-{0x1E3B, 94, pci_vid_1E3B },
+{0x1E3B, 110, pci_vid_1E3B },
{0x1E3D, 1, pci_vid_1E3D },
{0x1E43, 4, pci_vid_1E43 },
{0x1E44, 1, pci_vid_1E44 },
-{0x1E49, 9, pci_vid_1E49 },
+{0x1E49, 11, pci_vid_1E49 },
{0x1E4B, 9, pci_vid_1E4B },
{0x1E4C, 3, pci_vid_1E4C },
{0x1E50, 1, pci_vid_1E50 },
-{0x1E52, 4, pci_vid_1E52 },
+{0x1E52, 9, pci_vid_1E52 },
{0x1E57, 3, pci_vid_1E57 },
{0x1E59, 2, pci_vid_1E59 },
{0x1E5D, 3, pci_vid_1E5D },
@@ -46187,7 +46591,7 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x1E95, 13, pci_vid_1E95 },
{0x1E96, 1, pci_vid_1E96 },
{0x1E9F, 1, pci_vid_1E9F },
-{0x1EA0, 4, pci_vid_1EA0 },
+{0x1EA0, 5, pci_vid_1EA0 },
{0x1EA7, 3, pci_vid_1EA7 },
{0x1EAB, 3, pci_vid_1EAB },
{0x1EAC, 3, pci_vid_1EAC },
@@ -46201,9 +46605,9 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x1EC9, 1, pci_vid_1EC9 },
{0x1ECA, 2, pci_vid_1ECA },
{0x1ED0, 1, pci_vid_1ED0 },
-{0x1ED2, 2, pci_vid_1ED2 },
+{0x1ED2, 6, pci_vid_1ED2 },
{0x1ED3, 1, pci_vid_1ED3 },
-{0x1ED5, 26, pci_vid_1ED5 },
+{0x1ED5, 27, pci_vid_1ED5 },
{0x1ED8, 3, pci_vid_1ED8 },
{0x1ED9, 1, pci_vid_1ED9 },
{0x1EE1, 6, pci_vid_1EE1 },
@@ -46243,6 +46647,7 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x1FDE, 3, pci_vid_1FDE },
{0x1FE0, 4, pci_vid_1FE0 },
{0x1FE4, 6, pci_vid_1FE4 },
+{0x1FE9, 1, pci_vid_1FE9 },
{0x1FF4, 4, pci_vid_1FF4 },
{0x1FF8, 3, pci_vid_1FF8 },
{0x1FF9, 1, pci_vid_1FF9 },
@@ -46250,6 +46655,8 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x2001, 1, pci_vid_2001 },
{0x2003, 2, pci_vid_2003 },
{0x2004, 1, pci_vid_2004 },
+{0x202C, 2, pci_vid_202C },
+{0x2036, 3, pci_vid_2036 },
{0x2046, 1, pci_vid_2046 },
{0x2048, 1, pci_vid_2048 },
{0x20F4, 1, pci_vid_20F4 },
@@ -46257,12 +46664,12 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x21B4, 1, pci_vid_21B4 },
{0x21C3, 1, pci_vid_21C3 },
{0x22B8, 2, pci_vid_22B8 },
-{0x22DB, 1, pci_vid_22DB },
+{0x22DB, 2, pci_vid_22DB },
{0x2304, 1, pci_vid_2304 },
{0x2321, 1, pci_vid_2321 },
{0x2348, 2, pci_vid_2348 },
{0x256C, 2, pci_vid_256C },
-{0x2646, 25, pci_vid_2646 },
+{0x2646, 27, pci_vid_2646 },
{0x270B, 1, pci_vid_270B },
{0x270F, 1, pci_vid_270F },
{0x2711, 1, pci_vid_2711 },
@@ -46320,7 +46727,7 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x4B43, 1, pci_vid_4B43 },
{0x4C48, 1, pci_vid_4C48 },
{0x4C4D, 3, pci_vid_4C4D },
-{0x4C52, 9, pci_vid_4C52 },
+{0x4C52, 11, pci_vid_4C52 },
{0x4C53, 6, pci_vid_4C53 },
{0x4CA1, 1, pci_vid_4CA1 },
{0x4D51, 2, pci_vid_4D51 },
@@ -46390,8 +46797,8 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x7FED, 1, pci_vid_7FED },
{0x8008, 4, pci_vid_8008 },
{0x807D, 1, pci_vid_807D },
-{0x8086, 8763, pci_vid_8086 },
-{0x8088, 76, pci_vid_8088 },
+{0x8086, 8879, pci_vid_8086 },
+{0x8088, 77, pci_vid_8088 },
{0x80EE, 3, pci_vid_80EE },
{0x8322, 1, pci_vid_8322 },
{0x8384, 1, pci_vid_8384 },
@@ -46400,9 +46807,9 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x8686, 3, pci_vid_8686 },
{0x8800, 2, pci_vid_8800 },
{0x8820, 2, pci_vid_8820 },
-{0x8848, 23, pci_vid_8848 },
+{0x8848, 27, pci_vid_8848 },
{0x8866, 1, pci_vid_8866 },
-{0x8888, 1, pci_vid_8888 },
+{0x8888, 2, pci_vid_8888 },
{0x8912, 1, pci_vid_8912 },
{0x8C4A, 2, pci_vid_8C4A },
{0x8E0E, 1, pci_vid_8E0E },
@@ -46419,7 +46826,7 @@ static pci_vid_index_t const pci_vid_index[] = {
{0x9850, 1, pci_vid_9850 },
{0x9902, 4, pci_vid_9902 },
{0x9A11, 1, pci_vid_9A11 },
-{0x9D32, 18, pci_vid_9D32 },
+{0x9D32, 21, pci_vid_9D32 },
{0xA000, 1, pci_vid_A000 },
{0xA0A0, 1, pci_vid_A0A0 },
{0xA0F1, 1, pci_vid_A0F1 },
@@ -46460,7 +46867,7 @@ static pci_vid_index_t const pci_vid_index[] = {
{0xBD11, 1, pci_vid_BD11 },
{0xBDBD, 37, pci_vid_BDBD },
{0xC001, 1, pci_vid_C001 },
-{0xC0A9, 8, pci_vid_C0A9 },
+{0xC0A9, 9, pci_vid_C0A9 },
{0xC0DE, 1, pci_vid_C0DE },
{0xC0FE, 1, pci_vid_C0FE },
{0xCA01, 2, pci_vid_CA01 },
@@ -46509,6 +46916,7 @@ static pci_vid_index_t const pci_vid_index[] = {
{0xF043, 1, pci_vid_F043 },
{0xF05B, 1, pci_vid_F05B },
{0xF111, 1, pci_vid_F111 },
+{0xF117, 5, pci_vid_F117 },
{0xF15E, 2, pci_vid_F15E },
{0xF1D0, 41, pci_vid_F1D0 },
{0xF5F5, 1, pci_vid_F5F5 },
@@ -46523,7 +46931,7 @@ static pci_vid_index_t const pci_vid_index[] = {
{0xFFFD, 2, pci_vid_FFFD },
{0xFFFE, 2, pci_vid_FFFE },
{0xFFFF, 1, pci_vid_FFFF },
-}; /* We have 2376 VIDs */
+}; /* We have 2381 VIDs */
static pci_vid_index_t const *get_vid_index(uint16_t vid)
{
diff --git a/epan/services-data.c b/epan/services-data.c
index a5f42924..ac0770e0 100644
--- a/epan/services-data.c
+++ b/epan/services-data.c
@@ -5804,7 +5804,7 @@ static ws_services_entry_t global_tcp_services_table[] = {
{ 10443, "cirrossp", "CirrosSP Workstation Communication" },
{ 10548, "serverdocs", "Apple Document Sharing Service" },
{ 10631, "printopia", "Printopia Serve" },
- { 10809, "nbd", "Linux Network Block Device" },
+ { 10809, "nbd", "Network Block Device" },
{ 10933, "octopustentacle", "Listen port used by the Octopus Deploy Tentacle deployment agent" },
{ 11103, "origo-sync", "OrigoDB Server Sync Interface" },
{ 11104, "netapp-icmgmt", "NetApp Intercluster Management" },
diff --git a/epan/wslua/init_wslua.c b/epan/wslua/init_wslua.c
index 9217a4ab..3e701ffc 100644
--- a/epan/wslua/init_wslua.c
+++ b/epan/wslua/init_wslua.c
@@ -969,7 +969,7 @@ add_table_symbol(const char *table, const char *name, int value)
lua_getglobal(L, table);
/* Set symbol in table. */
lua_pushstring(L, name);
- lua_pushinteger(L, value);
+ lua_pushnumber(L, value);
lua_settable(L, -3);
/* Pop table from stack. */
lua_pop(L, 1);
@@ -979,7 +979,7 @@ static void
add_global_symbol(const char *name, int value)
{
/* Set symbol in global environment. */
- lua_pushinteger(L, value);
+ lua_pushnumber(L, value);
lua_setglobal(L, name);
}
@@ -988,7 +988,7 @@ add_pi_severity_symbol(const char *name, int value)
{
lua_getglobal(L, WSLUA_EXPERT_TABLE);
lua_getfield(L, -1, WSLUA_EXPERT_SEVERITY_TABLE);
- lua_pushinteger(L, value);
+ lua_pushnumber(L, value);
lua_setfield(L, -2, name);
lua_pop(L, 2);
}
@@ -998,7 +998,7 @@ add_pi_group_symbol(const char *name, int value)
{
lua_getglobal(L, WSLUA_EXPERT_TABLE);
lua_getfield(L, -1, WSLUA_EXPERT_GROUP_TABLE);
- lua_pushinteger(L, value);
+ lua_pushnumber(L, value);
lua_setfield(L, -2, name);
lua_pop(L, 2);
}
@@ -1007,7 +1007,7 @@ static void
add_menu_group_symbol(const char *name, int value)
{
/* Set symbol in global environment. */
- lua_pushinteger(L, value);
+ lua_pushnumber(L, value);
char *str = g_strdup(name);
char *s = strstr(str, "_GROUP_");
if (s == NULL)
@@ -1392,6 +1392,7 @@ void wslua_init(register_cb cb, gpointer client_data) {
int file_count = 1;
static gboolean first_time = TRUE;
int i;
+ int error;
static hf_register_info hf[] = {
{ &hf_wslua_fake,
@@ -1704,7 +1705,28 @@ void wslua_init(register_cb cb, gpointer client_data) {
lua_tree = NULL;
lua_tvb = NULL;
- Proto_commit(L);
+ /* Unfortunately, by waiting to register the hfi and ei now, Lua
+ * can't figure out which file had the error and provide a traceback,
+ * so no special error handler.
+ */
+ lua_pushcfunction(L, Proto_commit);
+ error = lua_pcall(L, 0, 0, 0);
+ if (error) {
+ switch (error) {
+ case LUA_ERRRUN:
+ report_failure("Lua: Error initializing protocols:\n%s", lua_tostring(L, -1));
+ break;
+ case LUA_ERRMEM:
+ report_failure("Lua: Error initializing protocols: out of memory");
+ break;
+ case LUA_ERRERR:
+ report_failure("Lua: Error initializing protocols: error while retrieving error message");
+ break;
+ default:
+ report_failure("Lua: Error initializing protocols: unknown error %d", error);
+ break;
+ }
+ }
first_time = FALSE;
}
diff --git a/epan/wslua/lrexlib/pcre2/lpcre2.c b/epan/wslua/lrexlib/pcre2/lpcre2.c
index ee1926f8..f24cbec8 100644
--- a/epan/wslua/lrexlib/pcre2/lpcre2.c
+++ b/epan/wslua/lrexlib/pcre2/lpcre2.c
@@ -432,7 +432,7 @@ static int Lpcre2_jit_compile (lua_State *L) {
#define SET_INFO_FIELD(L,ud,what,name,valtype) { \
valtype val; \
if (0 == pcre2_pattern_info (ud->pr, what, &val)) { \
- lua_pushinteger (L, val); \
+ lua_pushnumber (L, val); \
lua_setfield (L, -2, name); \
} \
}
diff --git a/epan/wslua/make-taps.py b/epan/wslua/make-taps.py
index ed677ff5..14c5a397 100755
--- a/epan/wslua/make-taps.py
+++ b/epan/wslua/make-taps.py
@@ -34,18 +34,18 @@ def get_tap_info(tap_name, header_file, struct_name, enum_types):
types = {
'gchar[]': 'lua_pushstring(L,(const char*)v->STR);',
'gchar*': 'lua_pushstring(L,(const char*)v->STR);',
- 'guint': 'lua_pushinteger(L,(lua_Integer)v->STR);',
- 'guint8': 'lua_pushinteger(L,(lua_Integer)v->STR);',
- 'guint16': 'lua_pushinteger(L,(lua_Integer)v->STR);',
- 'guint32': 'lua_pushinteger(L,(lua_Integer)v->STR);',
- 'gint': 'lua_pushinteger(L,(lua_Integer)v->STR);',
- 'gint8': 'lua_pushinteger(L,(lua_Integer)v->STR);',
- 'gint16': 'lua_pushinteger(L,(lua_Integer)v->STR);',
- 'gint32': 'lua_pushinteger(L,(lua_Integer)v->STR);',
+ 'guint': 'lua_pushnumber(L,(lua_Number)v->STR);',
+ 'guint8': 'lua_pushnumber(L,(lua_Number)v->STR);',
+ 'guint16': 'lua_pushnumber(L,(lua_Number)v->STR);',
+ 'guint32': 'lua_pushnumber(L,(lua_Number)v->STR);',
+ 'gint': 'lua_pushnumber(L,(lua_Number)v->STR);',
+ 'gint8': 'lua_pushnumber(L,(lua_Number)v->STR);',
+ 'gint16': 'lua_pushnumber(L,(lua_Number)v->STR);',
+ 'gint32': 'lua_pushnumber(L,(lua_Number)v->STR);',
'gboolean': 'lua_pushboolean(L,(int)v->STR);',
'address': '{ Address a = (Address)g_malloc(sizeof(address)); copy_address(a, &(v->STR)); pushAddress(L,a); }',
'address*': '{ Address a = (Address)g_malloc(sizeof(address)); copy_address(a, v->STR); pushAddress(L,a); }',
- 'int': 'lua_pushinteger(L,(lua_Integer)v->STR);',
+ 'int': 'lua_pushnumber(L,(lua_Number)v->STR);',
'nstime_t': 'lua_pushnumber(L,(lua_Number)nstime_to_sec(&(v->STR)));',
'nstime_t*': 'lua_pushnumber(L,(lua_Number)nstime_to_sec(v->STR));',
}
@@ -79,7 +79,7 @@ def get_tap_info(tap_name, header_file, struct_name, enum_types):
for enum in enum_types:
m = re.search(fr'typedef\s+enum[^{{]*{{([^}}]*)}}[\s\n]*{enum}[\s\n]*;', buf, flags=re.DOTALL)
if m:
- types[enum] = f'lua_pushinteger(L,(lua_Integer)v->STR); /* {enum} */'
+ types[enum] = f'lua_pushnumber(L,(lua_Number)v->STR); /* {enum} */'
econsts = m.group(1).splitlines()
econsts = [re.sub(r'\s+', '', item) for item in econsts]
econsts = [re.sub(',', '', item) for item in econsts]
@@ -183,9 +183,9 @@ def main():
c_body += f'\n\t/*\n\t * {enum}\n\t */\n\tlua_newtable(L);\n'
for econst in enums[enum]:
c_body += f'''\
- lua_pushinteger(L,(lua_Integer){econst});
+ lua_pushnumber(L,(lua_Number){econst});
lua_setglobal(L,"{econst}");
- lua_pushinteger(L,(lua_Integer){econst});
+ lua_pushnumber(L,(lua_Number){econst});
lua_pushstring(L,"{econst}");
lua_settable(L,-3);
'''
diff --git a/epan/wslua/wslua.h b/epan/wslua/wslua.h
index 0f6a146e..c96f4f2c 100644
--- a/epan/wslua/wslua.h
+++ b/epan/wslua/wslua.h
@@ -188,8 +188,12 @@ typedef struct _wslua_proto_t {
gboolean expired;
} wslua_proto_t;
+/* a "DissectorTable" object can be different things under the hood,
+ * since its heuristic_new() can create a heur_dissector_list_t that
+ * needs to be deregistered. */
struct _wslua_distbl_t {
dissector_table_t table;
+ heur_dissector_list_t heur_list;
const gchar* name;
const gchar* ui_name;
gboolean created;
diff --git a/epan/wslua/wslua_byte_array.c b/epan/wslua/wslua_byte_array.c
index b0449912..6e6ae304 100644
--- a/epan/wslua/wslua_byte_array.c
+++ b/epan/wslua/wslua_byte_array.c
@@ -214,7 +214,7 @@ WSLUA_METHOD ByteArray_get_index(lua_State* L) {
luaL_argerror(L,2,"index out of range");
return 0;
}
- lua_pushinteger(L,ba->data[idx]);
+ lua_pushnumber(L,ba->data[idx]);
WSLUA_RETURN(1); /* The value [0-255] of the byte. */
}
@@ -255,7 +255,7 @@ WSLUA_METHOD ByteArray_le_int(lua_State* L) {
value |= (guint8)ba->data[offset + i];
}
- lua_pushinteger(L, value);
+ lua_pushnumber(L, value);
WSLUA_RETURN(1); /* The value of the little endian encoded signed integer beginning at given offset with given length. */
}
@@ -337,7 +337,7 @@ WSLUA_METHOD ByteArray_le_uint(lua_State* L) {
value |= (guint8)ba->data[offset + i];
}
- lua_pushinteger(L, value);
+ lua_pushnumber(L, value);
WSLUA_RETURN(1); /* The value of the little endian encoded unsigned integer beginning at given offset with given length. */
}
@@ -419,7 +419,7 @@ WSLUA_METHOD ByteArray_int(lua_State* L) {
value |= (guint8)ba->data[offset + i];
}
- lua_pushinteger(L, value);
+ lua_pushnumber(L, value);
WSLUA_RETURN(1); /* The value of the big endian encoded 32 bit signed integer beginning at given offset with given length. */
}
@@ -501,7 +501,7 @@ WSLUA_METHOD ByteArray_uint(lua_State* L) {
value |= (guint8)ba->data[offset + i];
}
- lua_pushinteger(L, value);
+ lua_pushnumber(L, value);
WSLUA_RETURN(1); /* The value of the big endian encoded 32 bit unsigned integer beginning at given offset with given length. */
}
@@ -551,7 +551,7 @@ WSLUA_METHOD ByteArray_len(lua_State* L) {
/* Obtain the length of a <<lua_class_ByteArray,`ByteArray`>>. */
ByteArray ba = checkByteArray(L,1);
- lua_pushinteger(L,(lua_Integer)ba->len);
+ lua_pushnumber(L,(lua_Number)ba->len);
WSLUA_RETURN(1); /* The length of the <<lua_class_ByteArray,`ByteArray`>>. */
}
diff --git a/epan/wslua/wslua_dissector.c b/epan/wslua/wslua_dissector.c
index 6181ffbf..4fb7a9a1 100644
--- a/epan/wslua/wslua_dissector.c
+++ b/epan/wslua/wslua_dissector.c
@@ -107,7 +107,7 @@ WSLUA_METHOD Dissector_call(lua_State* L) {
are normal conditions and possibly don't need the Lua traceback. */
if (error) { WSLUA_ERROR(Dissector_call,error); }
- lua_pushinteger(L,(lua_Integer)len);
+ lua_pushnumber(L,(lua_Number)len);
WSLUA_RETURN(1); /* Number of bytes dissected. Note that some dissectors always return number of bytes in incoming buffer, so be aware. */
}
@@ -213,6 +213,7 @@ WSLUA_CONSTRUCTOR DissectorTable_new (lua_State *L) {
dt->table = (type == FT_NONE) ?
register_decode_as_next_proto(proto_id, name, ui_name, NULL) :
register_dissector_table(name, ui_name, proto_id, type, base);
+ dt->heur_list = NULL;
dt->name = g_strdup(name);
dt->ui_name = g_strdup(ui_name);
dt->created = TRUE;
@@ -228,7 +229,11 @@ WSLUA_CONSTRUCTOR DissectorTable_new (lua_State *L) {
}
WSLUA_CONSTRUCTOR DissectorTable_heuristic_new(lua_State *L) {
- /* Creates a new heuristic `DissectorTable` for your dissector's use. Returns true iff table was created successfully. */
+ /* Creates a new heuristic `DissectorTable` for your dissector's use. Returns true if table was created successfully.
+ * XXX - Currently it always returns nil.
+
+ @since 4.2.0
+ */
#define WSLUA_ARG_DissectorTable_heuristic_new_TABLENAME 1 /* The short name of the table. Use lower-case alphanumeric, dot, and/or underscores. */
#define WSLUA_ARG_DissectorTable_heuristic_new_PROTO 2 /* The <<lua_class_Proto,`Proto`>> object that uses this dissector table. */
const gchar* name = (const gchar*)luaL_checkstring(L,WSLUA_ARG_DissectorTable_heuristic_new_TABLENAME);
@@ -242,7 +247,29 @@ WSLUA_CONSTRUCTOR DissectorTable_heuristic_new(lua_State *L) {
return 0;
}
- register_heur_dissector_list(name, proto_id);
+ DissectorTable dt;
+ dt = (DissectorTable)g_malloc(sizeof(struct _wslua_distbl_t));
+ dt->table = NULL;
+ dt->heur_list = register_heur_dissector_list(name, proto_id);
+ dt->name = g_strdup(name);
+ dt->ui_name = g_strdup(name);
+ dt->created = TRUE;
+ dt->expired = FALSE;
+
+ lua_rawgeti(L, LUA_REGISTRYINDEX, dissectortable_table_ref);
+ lua_pushstring(L, name);
+ pushDissectorTable(L, dt);
+ lua_settable(L, -3);
+
+#if 0
+ /* Return nil because this is not a regular DissectorTable that could
+ * be used with _try, _set, _add, etc., and so we need to build checks
+ * into the functions similar to File and CaptureInfo so that it
+ * doesn't get used as one. However, not returning it means that it
+ * doesn't get properly garbage collected. */
+ pushDissectorTable(L, dt);
+ WSLUA_RETURN(1); /* The newly created DissectorTable. */
+#endif
return 0;
}
@@ -347,6 +374,7 @@ WSLUA_CONSTRUCTOR DissectorTable_get (lua_State *L) {
if (table) {
DissectorTable dt = (DissectorTable)g_malloc(sizeof(struct _wslua_distbl_t));
dt->table = table;
+ dt->heur_list = NULL;
dt->name = g_strdup(name);
dt->ui_name = NULL;
dt->created = FALSE;
@@ -399,7 +427,7 @@ WSLUA_METHOD DissectorTable_add (lua_State *L) {
g_free (pattern);
} else if ( type == FT_UINT32 || type == FT_UINT16 || type == FT_UINT8 || type == FT_UINT24 ) {
if (lua_isnumber(L, WSLUA_ARG_DissectorTable_add_PATTERN)) {
- int port = (int)luaL_checkinteger(L, WSLUA_ARG_DissectorTable_add_PATTERN);
+ guint32 port = wslua_checkguint32(L, WSLUA_ARG_DissectorTable_add_PATTERN);
dissector_add_uint(dt->name, port, handle);
} else {
/* Not a number, try as range */
@@ -461,7 +489,7 @@ WSLUA_METHOD DissectorTable_set (lua_State *L) {
dissector_add_string(dt->name, pattern,handle);
} else if ( type == FT_UINT32 || type == FT_UINT16 || type == FT_UINT8 || type == FT_UINT24 ) {
if (lua_isnumber(L, WSLUA_ARG_DissectorTable_set_PATTERN)) {
- int port = (int)luaL_checkinteger(L, WSLUA_ARG_DissectorTable_set_PATTERN);
+ guint32 port = wslua_checkguint32(L, WSLUA_ARG_DissectorTable_set_PATTERN);
dissector_delete_all(dt->name, handle);
dissector_add_uint(dt->name, port, handle);
} else {
@@ -517,7 +545,7 @@ WSLUA_METHOD DissectorTable_remove (lua_State *L) {
g_free (pattern);
} else if ( type == FT_UINT32 || type == FT_UINT16 || type == FT_UINT8 || type == FT_UINT24 ) {
if (lua_isnumber(L, WSLUA_ARG_DissectorTable_remove_PATTERN)) {
- int port = (int)luaL_checkinteger(L, WSLUA_ARG_DissectorTable_remove_PATTERN);
+ guint32 port = wslua_checkguint32(L, WSLUA_ARG_DissectorTable_remove_PATTERN);
dissector_delete_uint(dt->name, port, handle);
} else {
/* Not a number, try as range */
@@ -597,7 +625,7 @@ WSLUA_METHOD DissectorTable_try (lua_State *L) {
handled = TRUE;
}
} else if ( type == FT_UINT32 || type == FT_UINT16 || type == FT_UINT8 || type == FT_UINT24 ) {
- int port = (int)luaL_checkinteger(L, WSLUA_ARG_DissectorTable_try_PATTERN);
+ guint32 port = wslua_checkguint32(L, WSLUA_ARG_DissectorTable_try_PATTERN);
len = dissector_try_uint(dt->table,port,tvb->ws_tvb,pinfo->ws_pinfo,ti->tree);
if (len > 0) {
@@ -618,7 +646,7 @@ WSLUA_METHOD DissectorTable_try (lua_State *L) {
if (error) { WSLUA_ERROR(DissectorTable_try,error); }
- lua_pushinteger(L,(lua_Integer)len);
+ lua_pushnumber(L,(lua_Number)len);
WSLUA_RETURN(1); /* Number of bytes dissected. Note that some dissectors always return number of bytes in incoming buffer, so be aware. */
}
@@ -640,7 +668,7 @@ WSLUA_METHOD DissectorTable_get_dissector (lua_State *L) {
const gchar* pattern = luaL_checkstring(L,WSLUA_ARG_DissectorTable_get_dissector_PATTERN);
handle = dissector_get_string_handle(dt->table,pattern);
} else if ( type == FT_UINT32 || type == FT_UINT16 || type == FT_UINT8 || type == FT_UINT24 ) {
- int port = (int)luaL_checkinteger(L, WSLUA_ARG_DissectorTable_get_dissector_PATTERN);
+ guint32 port = wslua_checkguint32(L, WSLUA_ARG_DissectorTable_get_dissector_PATTERN);
handle = dissector_get_uint_handle(dt->table,port);
}
@@ -770,7 +798,12 @@ int wslua_deregister_dissector_tables(lua_State* L) {
for (lua_pushnil(L); lua_next(L, -2); lua_pop(L, 1)) {
DissectorTable dt = checkDissectorTable(L, -1);
if (dt->created) {
- deregister_dissector_table(dt->name);
+ if (dt->table) {
+ deregister_dissector_table(dt->name);
+ }
+ if (dt->heur_list) {
+ deregister_heur_dissector_list(dt->name);
+ }
}
}
diff --git a/epan/wslua/wslua_field.c b/epan/wslua/wslua_field.c
index d7d3e9d7..17db1974 100644
--- a/epan/wslua/wslua_field.c
+++ b/epan/wslua/wslua_field.c
@@ -50,7 +50,7 @@ WSLUA_METAMETHOD FieldInfo__len(lua_State* L) {
*/
FieldInfo fi = checkFieldInfo(L,1);
- lua_pushinteger(L,fi->ws_fi->length);
+ lua_pushnumber(L,fi->ws_fi->length);
return 1;
}
@@ -61,7 +61,7 @@ WSLUA_METAMETHOD FieldInfo__unm(lua_State* L) {
*/
FieldInfo fi = checkFieldInfo(L,1);
- lua_pushinteger(L,fi->ws_fi->start);
+ lua_pushnumber(L,fi->ws_fi->start);
return 1;
}
@@ -91,13 +91,13 @@ WSLUA_METAMETHOD FieldInfo__call(lua_State* L) {
case FT_UINT24:
case FT_UINT32:
case FT_FRAMENUM:
- lua_pushinteger(L,(lua_Integer)(fvalue_get_uinteger(fi->ws_fi->value)));
+ lua_pushnumber(L,(lua_Number)(fvalue_get_uinteger(fi->ws_fi->value)));
return 1;
case FT_INT8:
case FT_INT16:
case FT_INT24:
case FT_INT32:
- lua_pushinteger(L,(lua_Integer)(fvalue_get_sinteger(fi->ws_fi->value)));
+ lua_pushnumber(L,(lua_Number)(fvalue_get_sinteger(fi->ws_fi->value)));
return 1;
case FT_FLOAT:
case FT_DOUBLE:
@@ -268,7 +268,7 @@ static int FieldInfo_get_type(lua_State* L) {
FieldInfo fi = checkFieldInfo(L,1);
if (fi->ws_fi->hfinfo) {
- lua_pushinteger(L, fi->ws_fi->hfinfo->type);
+ lua_pushnumber(L, fi->ws_fi->hfinfo->type);
}
else {
lua_pushnil(L);
@@ -710,7 +710,7 @@ static int Field_get_type(lua_State* L) {
Field f = checkField(L,1);
header_field_info* hfinfo = NULL;
- GET_HFINFO_MEMBER(lua_pushinteger, type);
+ GET_HFINFO_MEMBER(lua_pushnumber, type);
return 1;
}
diff --git a/epan/wslua/wslua_file.c b/epan/wslua/wslua_file.c
index ff74760f..d9f1ff99 100644
--- a/epan/wslua/wslua_file.c
+++ b/epan/wslua/wslua_file.c
@@ -152,7 +152,7 @@ static int File_read_number (lua_State *L, FILE_T ft) {
buff[buff_end] = '\0';
if (buff_end > 0 && num_digits > 0 && sscanf(buff, "%lf", &d) == 1) {
- lua_pushinteger(L, d);
+ lua_pushnumber(L, d);
return 1;
}
else {
@@ -355,7 +355,7 @@ WSLUA_METHOD File_seek(lua_State* L) {
return 2;
}
- lua_pushinteger(L, (lua_Integer)(file_tell(f->file)));
+ lua_pushnumber(L, (lua_Number)(file_tell(f->file)));
}
else {
offset = wtap_dump_file_seek(f->wdh, offset, mode[op], &err);
@@ -374,7 +374,7 @@ WSLUA_METHOD File_seek(lua_State* L) {
return 2;
}
- lua_pushinteger(L, (lua_Integer)(offset));
+ lua_pushnumber(L, (lua_Number)(offset));
}
WSLUA_RETURN(1); /* The current file cursor position as a number. */
diff --git a/epan/wslua/wslua_file_handler.c b/epan/wslua/wslua_file_handler.c
index 47f72d45..f0c9ad83 100644
--- a/epan/wslua/wslua_file_handler.c
+++ b/epan/wslua/wslua_file_handler.c
@@ -326,7 +326,7 @@ wslua_filehandler_seek_read_packet(wtap *wth, gint64 seek_off, wtap_rec *rec, Bu
fp = push_File(L, wth->random_fh);
fc = push_CaptureInfo(L, wth, FALSE);
fi = push_FrameInfo(L, rec, buf);
- lua_pushinteger(L, (lua_Integer)seek_off);
+ lua_pushnumber(L, (lua_Number)seek_off);
switch ( lua_pcall(L,4,1,1) ) {
case 0:
@@ -474,7 +474,7 @@ wslua_filehandler_can_write_encap(int encap, void* data)
INIT_FILEHANDLER_ROUTINE(can_write_encap,WTAP_ERR_UNWRITABLE_ENCAP,NULL,NULL);
- lua_pushinteger(L, encap);
+ lua_pushnumber(L, encap);
switch ( lua_pcall(L,1,1,1) ) {
case 0:
@@ -842,7 +842,7 @@ WSLUA_FUNCTION wslua_register_filehandler(lua_State* L) {
fh->registered = TRUE;
registered_file_handlers = g_slist_prepend(registered_file_handlers, fh);
- lua_pushinteger(L, fh->file_type);
+ lua_pushnumber(L, fh->file_type);
WSLUA_RETURN(1); /* the new type number for this file reader/write */
}
@@ -1207,7 +1207,7 @@ WSLUA_ATTRIBUTE_GET(FileHandler,supported_comment_types,{ \
break;\
} \
} \
- lua_pushinteger(L, (lua_Integer)supported_comment_types); \
+ lua_pushnumber(L, (lua_Number)supported_comment_types); \
});
WSLUA_ATTRIBUTE_SET(FileHandler,supported_comment_types, { \
guint supported_comment_types; \
diff --git a/epan/wslua/wslua_frame_info.c b/epan/wslua/wslua_frame_info.c
index 72701d6f..401abd73 100644
--- a/epan/wslua/wslua_frame_info.c
+++ b/epan/wslua/wslua_frame_info.c
@@ -89,7 +89,7 @@ WSLUA_METHOD FrameInfo_read_data(lua_State* L) {
g_free(err_info); /* is this right? */
}
else lua_pushnil(L);
- lua_pushinteger(L, err);
+ lua_pushnumber(L, err);
return 3;
}
@@ -120,7 +120,7 @@ static int FrameInfo_get_comment (lua_State* L) {
lua_createtable(L, n_comments, 0);
for (i = 0; i < n_comments; i++) {
comment = NULL;
- lua_pushinteger(L, i+1);
+ lua_pushnumber(L, i+1);
if (WTAP_OPTTYPE_SUCCESS ==
wtap_block_get_nth_string_option_value(block, OPT_COMMENT, i, &comment)) {
lua_pushstring(L, comment);
@@ -371,7 +371,7 @@ WSLUA_METHOD FrameInfoConst_write_data(lua_State* L) {
if (!wtap_dump_file_write(fh->wdh, fi->pd, (size_t)(len), &err)) {
lua_pushboolean(L, FALSE);
lua_pushfstring(L, "FrameInfoConst write_data() error: %s", g_strerror(err));
- lua_pushinteger(L, err);
+ lua_pushnumber(L, err);
return 3;
}
@@ -403,7 +403,7 @@ static int FrameInfoConst_get_comment (lua_State* L) {
lua_createtable(L, n_comments, 0);
for (i = 0; i < n_comments; i++) {
comment = NULL;
- lua_pushinteger(L, i+1);
+ lua_pushnumber(L, i+1);
if (WTAP_OPTTYPE_SUCCESS ==
wtap_block_get_nth_string_option_value(block, OPT_COMMENT, i, &comment)) {
lua_pushstring(L, comment);
diff --git a/epan/wslua/wslua_int64.c b/epan/wslua/wslua_int64.c
index e540d6d2..17c00f06 100644
--- a/epan/wslua/wslua_int64.c
+++ b/epan/wslua/wslua_int64.c
@@ -656,7 +656,7 @@ guint64 getUInt64(lua_State *L, int i)
case LUA_TNUMBER:
return wslua_checkguint64(L,i);
case LUA_TSTRING:
- return g_ascii_strtoull(luaL_checkstring(L,i), &end, 10);
+ return g_ascii_strtoull(luaL_checkstring(L,i), &end, 0);
case LUA_TUSERDATA:
if (isInt64(L, i)) {
return (UInt64) toInt64(L, i);
diff --git a/epan/wslua/wslua_pinfo.c b/epan/wslua/wslua_pinfo.c
index 3e60715e..a735d601 100644
--- a/epan/wslua/wslua_pinfo.c
+++ b/epan/wslua/wslua_pinfo.c
@@ -308,7 +308,7 @@ static int Pinfo_get_match(lua_State *L) {
if (pinfo->ws_pinfo->match_string) {
lua_pushstring(L,pinfo->ws_pinfo->match_string);
} else {
- lua_pushinteger(L,(lua_Integer)(pinfo->ws_pinfo->match_uint));
+ lua_pushnumber(L,(lua_Number)(pinfo->ws_pinfo->match_uint));
}
return 1;
diff --git a/epan/wslua/wslua_pref.c b/epan/wslua/wslua_pref.c
index 3d6ed540..234170d3 100644
--- a/epan/wslua/wslua_pref.c
+++ b/epan/wslua/wslua_pref.c
@@ -515,9 +515,9 @@ WSLUA_METAMETHOD Prefs__index(lua_State* L) {
if ( g_str_equal(prefs_p->name,name) ) {
switch (prefs_p->type) {
case PREF_BOOL: lua_pushboolean(L, prefs_p->value.b); break;
- case PREF_UINT: lua_pushinteger(L,(lua_Integer)prefs_p->value.u); break;
+ case PREF_UINT: lua_pushnumber(L,(lua_Number)prefs_p->value.u); break;
case PREF_STRING: lua_pushstring(L,prefs_p->value.s); break;
- case PREF_ENUM: lua_pushinteger(L,(lua_Integer)prefs_p->value.e); break;
+ case PREF_ENUM: lua_pushnumber(L,(lua_Number)prefs_p->value.e); break;
case PREF_RANGE:
{
char *push_str = range_convert_range(NULL, prefs_p->value.r);
diff --git a/epan/wslua/wslua_proto.c b/epan/wslua/wslua_proto.c
index 92a1d192..b7f170d7 100644
--- a/epan/wslua/wslua_proto.c
+++ b/epan/wslua/wslua_proto.c
@@ -767,7 +767,7 @@ int Proto_commit(lua_State* L) {
// XXX this will leak resources.
if (f->hfid != -2) {
- return luaL_error(L,"fields can be registered only once");
+ return luaL_error(L,"%s is already registered; fields can be registered only once", f->abbrev);
}
f->hfid = -1;
@@ -802,7 +802,7 @@ int Proto_commit(lua_State* L) {
eiri.eiinfo.summary = e->text;
if (e->ids.ei != EI_INIT_EI || e->ids.hf != -2) {
- return luaL_error(L,"expert fields can be registered only once");
+ return luaL_error(L,"%s is already registered; expert fields can be registered only once", e->abbrev);
}
e->ids.hf = -1;
diff --git a/epan/wslua/wslua_struct.c b/epan/wslua/wslua_struct.c
index 440a0900..7d62dc09 100644
--- a/epan/wslua/wslua_struct.c
+++ b/epan/wslua/wslua_struct.c
@@ -410,7 +410,7 @@ WSLUA_CONSTRUCTOR Struct_pack (lua_State *L) {
* given endianness and size. If the integer type is signed, this makes
* the Lua number be +/- correctly as well.
*/
-static lua_Integer getinteger (const gchar *buff, int endian,
+static lua_Number getinteger (const gchar *buff, int endian,
int issigned, int size) {
Uinttype l = 0;
int i;
@@ -427,12 +427,12 @@ static lua_Integer getinteger (const gchar *buff, int endian,
}
}
if (!issigned)
- return (lua_Integer)l;
+ return (lua_Number)l;
else { /* signed format */
Uinttype mask = (Uinttype)(~((Uinttype)0)) << (size*8 - 1);
if (l & mask) /* negative value? */
l |= mask; /* signal extension */
- return (lua_Integer)(Inttype)l;
+ return (lua_Number)(Inttype)l;
}
}
@@ -470,8 +470,8 @@ WSLUA_CONSTRUCTOR Struct_unpack (lua_State *L) {
case 'b': case 'B': case 'h': case 'H':
case 'l': case 'L': case 'T': case 'i': case 'I': { /* integer types */
int issigned = g_ascii_islower(opt);
- lua_Integer res = getinteger(data+pos, h.endian, issigned, (int)size);
- lua_pushinteger(L, res);
+ lua_Number res = getinteger(data+pos, h.endian, issigned, (int)size);
+ lua_pushnumber(L, res);
break;
}
case 'e': {
diff --git a/epan/wslua/wslua_tree.c b/epan/wslua/wslua_tree.c
index 5d8dc7c7..ff2ac781 100644
--- a/epan/wslua/wslua_tree.c
+++ b/epan/wslua/wslua_tree.c
@@ -123,7 +123,7 @@ try_add_packet_field(lua_State *L, TreeItem tree_item, TvbRange tvbr, const int
item = proto_tree_add_item_ret_int(tree_item->tree, hfid, tvbr->tvb->ws_tvb,
tvbr->offset, tvbr->len, encoding,
&ret);
- lua_pushinteger(L, (lua_Integer)ret);
+ lua_pushnumber(L, (lua_Number)ret);
lua_pushinteger(L, tvbr->offset + tvbr->len);
}
break;
@@ -152,7 +152,7 @@ try_add_packet_field(lua_State *L, TreeItem tree_item, TvbRange tvbr, const int
item = proto_tree_add_item_ret_uint(tree_item-> tree, hfid, tvbr->tvb->ws_tvb,
tvbr->offset, tvbr->len, encoding,
&ret);
- lua_pushinteger(L, (lua_Integer)ret);
+ lua_pushnumber(L, (lua_Number)ret);
lua_pushinteger(L, tvbr->offset + tvbr->len);
}
break;
@@ -502,7 +502,7 @@ static int TreeItem_add_item_any(lua_State *L, gboolean little_endian) {
switch(type) {
case FT_PROTOCOL:
item = proto_tree_add_item(tree_item->tree,hfid,tvbr->tvb->ws_tvb,tvbr->offset,tvbr->len,ENC_NA);
- lua_pushinteger(L,0);
+ lua_pushnumber(L,0);
lua_insert(L,1);
break;
case FT_BOOLEAN:
@@ -524,7 +524,7 @@ static int TreeItem_add_item_any(lua_State *L, gboolean little_endian) {
case FT_INT16:
case FT_INT24:
case FT_INT32:
- item = proto_tree_add_int(tree_item->tree,hfid,tvbr->tvb->ws_tvb,tvbr->offset,tvbr->len,wslua_checkguint32(L,1));
+ item = proto_tree_add_int(tree_item->tree,hfid,tvbr->tvb->ws_tvb,tvbr->offset,tvbr->len,wslua_checkgint32(L,1));
break;
case FT_FLOAT:
item = proto_tree_add_float(tree_item->tree,hfid,tvbr->tvb->ws_tvb,tvbr->offset,tvbr->len,(float)luaL_checknumber(L,1));
@@ -664,7 +664,7 @@ WSLUA_METHOD TreeItem_add(lua_State *L) {
which is invalid for this function). If the first argument is a non-<<lua_class_ProtoField,`ProtoField`>> and a non-<<lua_class_Proto,`Proto`>> then this argument can
be either a <<lua_class_TvbRange,`TvbRange`>> or a label, and the value is not in use.
- ==== Example
+ ====== Example
[source,lua]
----
diff --git a/epan/wslua/wslua_tvb.c b/epan/wslua/wslua_tvb.c
index f315e83e..031023d0 100644
--- a/epan/wslua/wslua_tvb.c
+++ b/epan/wslua/wslua_tvb.c
@@ -135,7 +135,7 @@ WSLUA_METHOD Tvb_reported_len(lua_State* L) {
/* Obtain the reported length (length on the network) of a <<lua_class_Tvb,`Tvb`>>. */
Tvb tvb = checkTvb(L,1);
- lua_pushinteger(L,tvb_reported_length(tvb->ws_tvb));
+ lua_pushnumber(L,tvb_reported_length(tvb->ws_tvb));
WSLUA_RETURN(1); /* The reported length of the <<lua_class_Tvb,`Tvb`>>. */
}
@@ -143,7 +143,7 @@ WSLUA_METHOD Tvb_captured_len(lua_State* L) {
/* Obtain the captured length (amount saved in the capture process) of a <<lua_class_Tvb,`Tvb`>>. */
Tvb tvb = checkTvb(L,1);
- lua_pushinteger(L,tvb_captured_length(tvb->ws_tvb));
+ lua_pushnumber(L,tvb_captured_length(tvb->ws_tvb));
WSLUA_RETURN(1); /* The captured length of the <<lua_class_Tvb,`Tvb`>>. */
}
@@ -152,18 +152,18 @@ WSLUA_METHOD Tvb_len(lua_State* L) {
Same as captured_len; kept only for backwards compatibility */
Tvb tvb = checkTvb(L,1);
- lua_pushinteger(L,tvb_captured_length(tvb->ws_tvb));
+ lua_pushnumber(L,tvb_captured_length(tvb->ws_tvb));
WSLUA_RETURN(1); /* The captured length of the <<lua_class_Tvb,`Tvb`>>. */
}
WSLUA_METHOD Tvb_reported_length_remaining(lua_State* L) {
/* Obtain the reported (not captured) length of packet data to end of a <<lua_class_Tvb,`Tvb`>> or 0 if the
offset is beyond the end of the <<lua_class_Tvb,`Tvb`>>. */
-#define Tvb_reported_length_remaining_OFFSET 2 /* offset */
+#define WSLUA_OPTARG_Tvb_reported_length_remaining_OFFSET 2 /* offset */
Tvb tvb = checkTvb(L,1);
- int offset = (int) luaL_optinteger(L, Tvb_reported_length_remaining_OFFSET, 0);
+ int offset = (int) luaL_optinteger(L, WSLUA_OPTARG_Tvb_reported_length_remaining_OFFSET, 0);
- lua_pushinteger(L,tvb_reported_length_remaining(tvb->ws_tvb, offset));
+ lua_pushnumber(L,tvb_reported_length_remaining(tvb->ws_tvb, offset));
WSLUA_RETURN(1); /* The captured length of the <<lua_class_Tvb,`Tvb`>>. */
}
@@ -210,7 +210,7 @@ WSLUA_METHOD Tvb_offset(lua_State* L) {
/* Returns the raw offset (from the beginning of the source <<lua_class_Tvb,`Tvb`>>) of a sub <<lua_class_Tvb,`Tvb`>>. */
Tvb tvb = checkTvb(L,1);
- lua_pushinteger(L,tvb_raw_offset(tvb->ws_tvb));
+ lua_pushnumber(L,tvb_raw_offset(tvb->ws_tvb));
WSLUA_RETURN(1); /* The raw offset of the <<lua_class_Tvb,`Tvb`>>. */
}
@@ -441,16 +441,16 @@ WSLUA_METHOD TvbRange_uint(lua_State* L) {
switch (tvbr->len) {
case 1:
- lua_pushinteger(L,tvb_get_guint8(tvbr->tvb->ws_tvb,tvbr->offset));
+ lua_pushnumber(L,tvb_get_guint8(tvbr->tvb->ws_tvb,tvbr->offset));
return 1;
case 2:
- lua_pushinteger(L,tvb_get_ntohs(tvbr->tvb->ws_tvb,tvbr->offset));
+ lua_pushnumber(L,tvb_get_ntohs(tvbr->tvb->ws_tvb,tvbr->offset));
return 1;
case 3:
- lua_pushinteger(L,tvb_get_ntoh24(tvbr->tvb->ws_tvb,tvbr->offset));
+ lua_pushnumber(L,tvb_get_ntoh24(tvbr->tvb->ws_tvb,tvbr->offset));
return 1;
case 4:
- lua_pushinteger(L,tvb_get_ntohl(tvbr->tvb->ws_tvb,tvbr->offset));
+ lua_pushnumber(L,tvb_get_ntohl(tvbr->tvb->ws_tvb,tvbr->offset));
WSLUA_RETURN(1); /* The unsigned integer value. */
default:
luaL_error(L,"TvbRange:uint() does not handle %d byte integers",tvbr->len);
@@ -474,16 +474,16 @@ WSLUA_METHOD TvbRange_le_uint(lua_State* L) {
switch (tvbr->len) {
case 1:
/* XXX unsigned anyway */
- lua_pushinteger(L,(lua_Integer)(guint)tvb_get_guint8(tvbr->tvb->ws_tvb,tvbr->offset));
+ lua_pushnumber(L,(lua_Number)(guint)tvb_get_guint8(tvbr->tvb->ws_tvb,tvbr->offset));
return 1;
case 2:
- lua_pushinteger(L,tvb_get_letohs(tvbr->tvb->ws_tvb,tvbr->offset));
+ lua_pushnumber(L,tvb_get_letohs(tvbr->tvb->ws_tvb,tvbr->offset));
return 1;
case 3:
- lua_pushinteger(L,tvb_get_letoh24(tvbr->tvb->ws_tvb,tvbr->offset));
+ lua_pushnumber(L,tvb_get_letoh24(tvbr->tvb->ws_tvb,tvbr->offset));
return 1;
case 4:
- lua_pushinteger(L,tvb_get_letohl(tvbr->tvb->ws_tvb,tvbr->offset));
+ lua_pushnumber(L,tvb_get_letohl(tvbr->tvb->ws_tvb,tvbr->offset));
WSLUA_RETURN(1); /* The unsigned integer value */
default:
luaL_error(L,"TvbRange:le_uint() does not handle %d byte integers",tvbr->len);
@@ -594,16 +594,16 @@ WSLUA_METHOD TvbRange_int(lua_State* L) {
switch (tvbr->len) {
case 1:
- lua_pushinteger(L,tvb_get_gint8(tvbr->tvb->ws_tvb,tvbr->offset));
+ lua_pushnumber(L,tvb_get_gint8(tvbr->tvb->ws_tvb,tvbr->offset));
return 1;
case 2:
- lua_pushinteger(L,tvb_get_ntohis(tvbr->tvb->ws_tvb,tvbr->offset));
+ lua_pushnumber(L,tvb_get_ntohis(tvbr->tvb->ws_tvb,tvbr->offset));
return 1;
case 3:
- lua_pushinteger(L,tvb_get_ntohi24(tvbr->tvb->ws_tvb,tvbr->offset));
+ lua_pushnumber(L,tvb_get_ntohi24(tvbr->tvb->ws_tvb,tvbr->offset));
return 1;
case 4:
- lua_pushinteger(L,tvb_get_ntohil(tvbr->tvb->ws_tvb,tvbr->offset));
+ lua_pushnumber(L,tvb_get_ntohil(tvbr->tvb->ws_tvb,tvbr->offset));
WSLUA_RETURN(1); /* The signed integer value. */
/*
* XXX:
@@ -633,16 +633,16 @@ WSLUA_METHOD TvbRange_le_int(lua_State* L) {
switch (tvbr->len) {
case 1:
- lua_pushinteger(L,tvb_get_gint8(tvbr->tvb->ws_tvb,tvbr->offset));
+ lua_pushnumber(L,tvb_get_gint8(tvbr->tvb->ws_tvb,tvbr->offset));
return 1;
case 2:
- lua_pushinteger(L,tvb_get_letohis(tvbr->tvb->ws_tvb,tvbr->offset));
+ lua_pushnumber(L,tvb_get_letohis(tvbr->tvb->ws_tvb,tvbr->offset));
return 1;
case 3:
- lua_pushinteger(L,tvb_get_letohi24(tvbr->tvb->ws_tvb,tvbr->offset));
+ lua_pushnumber(L,tvb_get_letohi24(tvbr->tvb->ws_tvb,tvbr->offset));
return 1;
case 4:
- lua_pushinteger(L,tvb_get_letohil(tvbr->tvb->ws_tvb,tvbr->offset));
+ lua_pushnumber(L,tvb_get_letohil(tvbr->tvb->ws_tvb,tvbr->offset));
WSLUA_RETURN(1); /* The signed integer value. */
default:
luaL_error(L,"TvbRange:le_int() does not handle %d byte integers",tvbr->len);
@@ -1237,13 +1237,13 @@ WSLUA_METHOD TvbRange_bitfield(lua_State* L) {
}
if (len <= 8) {
- lua_pushinteger(L,(lua_Integer)(guint)tvb_get_bits8(tvbr->tvb->ws_tvb,tvbr->offset*8 + pos, len));
+ lua_pushnumber(L,(lua_Number)(guint)tvb_get_bits8(tvbr->tvb->ws_tvb,tvbr->offset*8 + pos, len));
return 1;
} else if (len <= 16) {
- lua_pushinteger(L,tvb_get_bits16(tvbr->tvb->ws_tvb,tvbr->offset*8 + pos, len, FALSE));
+ lua_pushnumber(L,tvb_get_bits16(tvbr->tvb->ws_tvb,tvbr->offset*8 + pos, len, FALSE));
return 1;
} else if (len <= 32) {
- lua_pushinteger(L,tvb_get_bits32(tvbr->tvb->ws_tvb,tvbr->offset*8 + pos, len, FALSE));
+ lua_pushnumber(L,tvb_get_bits32(tvbr->tvb->ws_tvb,tvbr->offset*8 + pos, len, FALSE));
return 1;
} else if (len <= 64) {
pushUInt64(L,tvb_get_bits64(tvbr->tvb->ws_tvb,tvbr->offset*8 + pos, len, FALSE));
@@ -1334,7 +1334,7 @@ WSLUA_METHOD TvbRange_len(lua_State* L) {
luaL_error(L,"expired tvb");
return 0;
}
- lua_pushinteger(L,(lua_Integer)tvbr->len);
+ lua_pushnumber(L,(lua_Number)tvbr->len);
return 1;
}
@@ -1347,7 +1347,7 @@ WSLUA_METHOD TvbRange_offset(lua_State* L) {
luaL_error(L,"expired tvb");
return 0;
}
- lua_pushinteger(L,(lua_Integer)tvbr->offset);
+ lua_pushnumber(L,(lua_Number)tvbr->offset);
return 1;
}
diff --git a/epan/wslua/wslua_wtap.c b/epan/wslua/wslua_wtap.c
index 9fa27879..524ed7c3 100644
--- a/epan/wslua/wslua_wtap.c
+++ b/epan/wslua/wslua_wtap.c
@@ -85,7 +85,7 @@ WSLUA_FUNCTION wslua_wtap_name_to_file_type_subtype(lua_State* LS) {
if (filetype == -1)
lua_pushnil(LS);
else
- lua_pushinteger(LS,filetype);
+ lua_pushnumber(LS,filetype);
WSLUA_RETURN(1); /* The filetype value for the file type with that name, or nil if there is no such file type. */
}
@@ -96,7 +96,7 @@ WSLUA_FUNCTION wslua_wtap_pcap_file_type_subtype(lua_State* LS) {
@since 3.2.12, 3.4.4
*/
lua_Number filetype = wtap_pcap_file_type_subtype();
- lua_pushinteger(LS,filetype);
+ lua_pushnumber(LS,filetype);
WSLUA_RETURN(1); /* The filetype value for pcap files. */
}
@@ -107,7 +107,7 @@ WSLUA_FUNCTION wslua_wtap_pcap_nsec_file_type_subtype(lua_State* LS) {
@since 3.2.12, 3.4.4
*/
lua_Number filetype = wtap_pcap_nsec_file_type_subtype();
- lua_pushinteger(LS,filetype);
+ lua_pushnumber(LS,filetype);
WSLUA_RETURN(1); /* The filetype value for nanosecond-resolution pcap files. */
}
@@ -118,7 +118,7 @@ WSLUA_FUNCTION wslua_wtap_pcapng_file_type_subtype(lua_State* LS) {
@since 3.2.12, 3.4.4
*/
lua_Number filetype = wtap_pcapng_file_type_subtype();
- lua_pushinteger(LS,filetype);
+ lua_pushnumber(LS,filetype);
WSLUA_RETURN(1); /* The filetype value for pcapng files. */
}
@@ -148,7 +148,7 @@ extern void wslua_init_wtap_filetypes(lua_State* LS) {
* it.
*/
lua_pushstring(LS, entry->name);
- lua_pushinteger(LS, entry->ft);
+ lua_pushnumber(LS, entry->ft);
/*
* The -3 is the index, relative to the top of the stack, of
* the table; the two elements on top of it are the ft and
diff --git a/packaging/debian/changelog b/packaging/debian/changelog
index 0a5e254b..a9d1562f 100644
--- a/packaging/debian/changelog
+++ b/packaging/debian/changelog
@@ -1,4 +1,4 @@
-wireshark (4.2.4) unstable; urgency=low
+wireshark (4.2.5) unstable; urgency=low
* Self-made package
diff --git a/packaging/nsis/mingw64-qt-mapping.txt b/packaging/nsis/mingw64-qt-mapping.txt
index 40ca2ef6..71e1288c 100644
--- a/packaging/nsis/mingw64-qt-mapping.txt
+++ b/packaging/nsis/mingw64-qt-mapping.txt
@@ -24,7 +24,9 @@
"lib/qt6/plugins/multimedia/windowsmediaplugin.dll" "multimedia/windowsmediaplugin.dll"
"lib/qt6/plugins/networkinformation/qnetworklistmanager.dll" "networkinformation/qnetworklistmanager.dll"
"lib/qt6/plugins/platforms/qwindows.dll" "platforms/qwindows.dll"
+# 6.7 renamed QWindowsVistaStylePlugin to QModernWindowsStylePlugin
"lib/qt6/plugins/styles/qwindowsvistastyle.dll" "styles/qwindowsvistastyle.dll"
+"lib/qt6/plugins/styles/qmodernwindowsstyle.dll" "styles/qmodernwindowsstyle.dll"
"lib/qt6/plugins/tls/qcertonlybackend.dll" "tls/qcertonlybackend.dll"
"lib/qt6/plugins/tls/qopensslbackend.dll" "tls/qopensslbackend.dll"
"lib/qt6/plugins/tls/qschannelbackend.dll" "tls/qschannelbackend.dll"
diff --git a/packaging/nsis/windeployqt-to-nsis.py b/packaging/nsis/windeployqt-to-nsis.py
index f3e3e9a5..2339cf34 100644
--- a/packaging/nsis/windeployqt-to-nsis.py
+++ b/packaging/nsis/windeployqt-to-nsis.py
@@ -90,6 +90,12 @@ with open(args.outfile, 'w') as f:
path = path.strip('"')
if args.sysroot:
path = os.path.join(args.sysroot, path)
+ if args.mapping and not os.path.isfile(path):
+ # This hack is because Qt 6.7 renamed QWindowsVistaStylePlugin
+ # to QModernWindowsStylePlugin. (This explicit mapping because
+ # windeployqt6 doesn't work well with cross-compiling is
+ # brittle.)
+ continue
file_path = 'File "{}"'.format(path)
print(file_path, file=f)
diff --git a/packaging/source/git-export-release.sh.in b/packaging/source/git-export-release.sh.in
index 51adfb73..a0f876a4 100755
--- a/packaging/source/git-export-release.sh.in
+++ b/packaging/source/git-export-release.sh.in
@@ -44,7 +44,7 @@ TARBALL="${DESTDIR}/wireshark-${PROJECT_VERSION}.tar.xz"
# A tarball produced by 'git archive' will have the $Format string
# substituted due to the use of 'export-subst' in .gitattributes.
# shellcheck disable=SC2016
-COMMIT='1fe5bce8d665c0d64e1af63545421c67596db165'
+COMMIT='4aa814ac25a18ea48d4002351ed45d4b245b0c08'
if [[ $COMMIT != \$F* ]] ; then
# This file was extracted from a tarball produced by git archive
diff --git a/plugins/epan/mate/mate_runtime.c b/plugins/epan/mate/mate_runtime.c
index 41d9c0de..8cda791a 100644
--- a/plugins/epan/mate/mate_runtime.c
+++ b/plugins/epan/mate/mate_runtime.c
@@ -18,6 +18,7 @@
typedef struct _mate_range mate_range;
struct _mate_range {
+ tvbuff_t *ds_tvb;
guint start;
guint end;
};
@@ -643,19 +644,84 @@ static void analyze_pdu(mate_config* mc, mate_pdu* pdu) {
}
}
+static proto_node *
+proto_tree_find_node_from_finfo(proto_tree *tree, field_info *finfo)
+{
+ proto_node *pnode = tree;
+ proto_node *child;
+ proto_node *current;
+
+ if (PNODE_FINFO(pnode) == finfo) {
+ return pnode;
+ }
+
+ child = pnode->first_child;
+ while (child != NULL) {
+ current = child;
+ child = current->next;
+ if ((pnode = proto_tree_find_node_from_finfo((proto_tree *)current, finfo))) {
+ return pnode;
+ }
+ }
+
+ return NULL;
+}
+
+/* This returns true if there's no point in searching for the avp among the
+ * ancestor nodes in the tree. That includes if the field is within one
+ * of the ranges, or if the field and all the ranges share the same
+ * data source.
+ */
+static bool
+add_avp(const char *name, field_info *fi, const field_info *ancestor_fi, tmp_pdu_data *data)
+{
+ AVP* avp;
+ char* s;
+ mate_range* curr_range;
+ unsigned start, end;
+ tvbuff_t *ds_tvb;
+ bool all_same_ds = true;
+
+ start = ancestor_fi->start;
+ end = ancestor_fi->start + ancestor_fi->length;
+ ds_tvb = ancestor_fi->ds_tvb;
+
+ for (unsigned j = 0; j < data->ranges->len; j++) {
+
+ curr_range = (mate_range*) g_ptr_array_index(data->ranges,j);
+
+ if (curr_range->ds_tvb == ds_tvb) {
+ if (curr_range->end >= end && curr_range->start <= start) {
+ avp = new_avp_from_finfo(name, fi);
+ if (*dbg_pdu > 4) {
+ s = avp_to_str(avp);
+ dbg_print(dbg_pdu,0,dbg_facility,"add_avp: got %s",s);
+ g_free(s);
+ }
+
+ if (! insert_avp(data->pdu->avpl, avp) ) {
+ delete_avp(avp);
+ }
+ return true;
+ }
+ } else {
+ all_same_ds = false;
+ }
+ }
+
+ return all_same_ds;
+}
+
static void get_pdu_fields(gpointer k, gpointer v, gpointer p) {
int hfid = *((int*) k);
gchar* name = (gchar*) v;
tmp_pdu_data* data = (tmp_pdu_data*) p;
GPtrArray* fis;
field_info* fi;
- guint i,j;
- mate_range* curr_range;
+ guint i;
guint start;
guint end;
- AVP* avp;
- gchar* s;
-
+ tvbuff_t *ds_tvb;
fis = proto_get_finfo_ptr_array(data->tree, hfid);
@@ -666,37 +732,35 @@ static void get_pdu_fields(gpointer k, gpointer v, gpointer p) {
start = fi->start;
end = fi->start + fi->length;
+ ds_tvb = fi->ds_tvb;
dbg_print(dbg_pdu,5,dbg_facility,"get_pdu_fields: found field %s, %i-%i, length %i", fi->hfinfo->abbrev, start, end, fi->length);
- for (j = 0; j < data->ranges->len; j++) {
-
- curr_range = (mate_range*) g_ptr_array_index(data->ranges,j);
-
- if (curr_range->end >= end && curr_range->start <= start) {
- avp = new_avp_from_finfo(name, fi);
-
- if (*dbg_pdu > 4) {
- s = avp_to_str(avp);
- dbg_print(dbg_pdu,0,dbg_facility,"get_pdu_fields: got %s",s);
- g_free(s);
- }
-
- if (! insert_avp(data->pdu->avpl,avp) ) {
- delete_avp(avp);
+ if (!add_avp(name, fi, fi, data)) {
+ /* The field came from a different data source than one of the
+ * ranges (protocol, transport protocol, payload). Search for
+ * the tree node with the field and look to see if one of its
+ * parents is contained within one of the ranges.
+ * (The field, and the hfis for the ranges, were marked as
+ * interesting so this should always work, albeit slower than above.)
+ */
+ for (proto_node *pnode = proto_tree_find_node_from_finfo(data->tree, fi);
+ pnode; pnode = pnode->parent) {
+ field_info *ancestor_fi = PNODE_FINFO(pnode);
+ if (ancestor_fi && ancestor_fi->ds_tvb != ds_tvb) {
+ /* Only check anew when the data source changes. */
+ ds_tvb = ancestor_fi->ds_tvb;
+ if (add_avp(name, fi, ancestor_fi, data)) {
+ /* Go to next field in fis */
+ break;
+ }
}
-
}
}
}
}
}
-static void ptr_array_free(gpointer data, gpointer user_data _U_)
-{
- g_free(data);
-}
-
static mate_pdu* new_pdu(mate_cfg_pdu* cfg, guint32 framenum, field_info* proto, proto_tree* tree) {
mate_pdu* pdu = (mate_pdu*)g_slice_new(mate_max_size);
field_info* cfi;
@@ -732,12 +796,13 @@ static mate_pdu* new_pdu(mate_cfg_pdu* cfg, guint32 framenum, field_info* proto,
pdu->is_stop = FALSE;
pdu->after_release = FALSE;
- data.ranges = g_ptr_array_new();
+ data.ranges = g_ptr_array_new_with_free_func(g_free);
data.pdu = pdu;
data.tree = tree;
/* first we create the proto range */
proto_range = g_new(mate_range, 1);
+ proto_range->ds_tvb = proto->ds_tvb;
proto_range->start = proto->start;
proto_range->end = proto->start + proto->length;
g_ptr_array_add(data.ranges,proto_range);
@@ -764,6 +829,7 @@ static mate_pdu* new_pdu(mate_cfg_pdu* cfg, guint32 framenum, field_info* proto,
if ( range_fi ) {
range = (mate_range *)g_malloc(sizeof(*range));
+ range->ds_tvb = range_fi->ds_tvb;
range->start = range_fi->start;
range->end = range_fi->start + range_fi->length;
g_ptr_array_add(data.ranges,range);
@@ -801,6 +867,7 @@ static mate_pdu* new_pdu(mate_cfg_pdu* cfg, guint32 framenum, field_info* proto,
if ( range_fi ) {
range = (mate_range *)g_malloc(sizeof(*range));
+ range->ds_tvb = range_fi->ds_tvb;
range->start = range_fi->start;
range->end = range_fi->start + range_fi->length;
g_ptr_array_add(data.ranges,range);
@@ -819,7 +886,6 @@ static mate_pdu* new_pdu(mate_cfg_pdu* cfg, guint32 framenum, field_info* proto,
apply_transforms(pdu->cfg->transforms,pdu->avpl);
- g_ptr_array_foreach(data.ranges, ptr_array_free, NULL);
g_ptr_array_free(data.ranges,TRUE);
return pdu;
diff --git a/plugins/epan/mate/packet-mate.c b/plugins/epan/mate/packet-mate.c
index 97774cd1..2b36659e 100644
--- a/plugins/epan/mate/packet-mate.c
+++ b/plugins/epan/mate/packet-mate.c
@@ -368,6 +368,15 @@ proto_reg_handoff_mate(void)
*/
set_postdissector_wanted_hfids(mate_handle,
mc->wanted_hfids);
+ /* XXX: Due to #17877, any protocol added to the tree with length -1
+ * that changes its length later (and there are many, such as TCP)
+ * doesn't actually change its length unless the tree is visible,
+ * which means that entire range checking work in MATE to split up
+ * multiple PDUs of the target protocol in the same frame doesn't
+ * work. Set the tree as visible as with Lua postdissectors that
+ * need all fields. It's overkill and bad for performance, though.
+ */
+ epan_set_always_visible(TRUE);
initialize_mate_runtime(mc);
}
diff --git a/reordercap.c b/reordercap.c
index ed4a3649..a8aba004 100644
--- a/reordercap.c
+++ b/reordercap.c
@@ -276,27 +276,6 @@ main(int argc, char *argv[])
}
DEBUG_PRINT("file_type_subtype is %d\n", wtap_file_type_subtype(wth));
- wtap_dump_params_init(&params, wth);
-
- /* Open outfile (same filetype/encap as input file) */
- if (strcmp(outfile, "-") == 0) {
- pdh = wtap_dump_open_stdout(wtap_file_type_subtype(wth),
- WTAP_UNCOMPRESSED, &params, &err, &err_info);
- } else {
- pdh = wtap_dump_open(outfile, wtap_file_type_subtype(wth),
- WTAP_UNCOMPRESSED, &params, &err, &err_info);
- }
- g_free(params.idb_inf);
- params.idb_inf = NULL;
-
- if (pdh == NULL) {
- cfile_dump_open_failure_message(outfile, err, err_info,
- wtap_file_type_subtype(wth));
- wtap_dump_params_cleanup(&params);
- ret = OUTPUT_FILE_ERROR;
- goto clean_exit;
- }
-
/* Allocate the array of frame pointers. */
frames = g_ptr_array_new();
@@ -332,40 +311,75 @@ main(int argc, char *argv[])
printf("%u frames, %u out of order\n", frames->len, wrong_order_count);
+ wtap_dump_params_init(&params, wth);
+
/* Sort the frames */
+ /* XXX - Does this handle multiple SHBs correctly? */
if (wrong_order_count > 0) {
g_ptr_array_sort(frames, frames_compare);
}
- /* Write out each sorted frame in turn */
- wtap_rec_init(&rec);
- ws_buffer_init(&buf, 1514);
- for (i = 0; i < frames->len; i++) {
- FrameRecord_t *frame = (FrameRecord_t *)frames->pdata[i];
- /* Avoid writing if already sorted and configured to */
- if (write_output_regardless || (wrong_order_count > 0)) {
+ /* Avoid writing if already sorted and configured to */
+ if (write_output_regardless || (wrong_order_count > 0)) {
+ /* Open outfile (same filetype/encap as input file) */
+ if (strcmp(outfile, "-") == 0) {
+ pdh = wtap_dump_open_stdout(wtap_file_type_subtype(wth),
+ WTAP_UNCOMPRESSED, &params, &err, &err_info);
+ } else {
+ pdh = wtap_dump_open(outfile, wtap_file_type_subtype(wth),
+ WTAP_UNCOMPRESSED, &params, &err, &err_info);
+ }
+ g_free(params.idb_inf);
+ params.idb_inf = NULL;
+
+ if (pdh == NULL) {
+ cfile_dump_open_failure_message(outfile, err, err_info,
+ wtap_file_type_subtype(wth));
+ wtap_dump_params_cleanup(&params);
+ ret = OUTPUT_FILE_ERROR;
+ goto clean_exit;
+ }
+
+
+ /* Write out each sorted frame in turn */
+ wtap_rec_init(&rec);
+ ws_buffer_init(&buf, 1514);
+ for (i = 0; i < frames->len; i++) {
+ FrameRecord_t *frame = (FrameRecord_t *)frames->pdata[i];
+
frame_write(frame, wth, pdh, &rec, &buf, infile, outfile);
+
+ g_slice_free(FrameRecord_t, frame);
}
- g_slice_free(FrameRecord_t, frame);
- }
- wtap_rec_cleanup(&rec);
- ws_buffer_free(&buf);
- if (!write_output_regardless && (wrong_order_count == 0)) {
+ wtap_rec_cleanup(&rec);
+ ws_buffer_free(&buf);
+
+
+
+ /* Close outfile */
+ if (!wtap_dump_close(pdh, NULL, &err, &err_info)) {
+ cfile_close_failure_message(outfile, err, err_info);
+ wtap_dump_params_cleanup(&params);
+ ret = OUTPUT_FILE_ERROR;
+ goto clean_exit;
+ }
+ } else {
printf("Not writing output file because input file is already in order.\n");
+
+ /* Free frame memory */
+ for (i = 0; i < frames->len; i++) {
+ FrameRecord_t *frame = (FrameRecord_t *)frames->pdata[i];
+
+ g_slice_free(FrameRecord_t, frame);
+ }
}
+
/* Free the whole array */
g_ptr_array_free(frames, TRUE);
- /* Close outfile */
- if (!wtap_dump_close(pdh, NULL, &err, &err_info)) {
- cfile_close_failure_message(outfile, err, err_info);
- wtap_dump_params_cleanup(&params);
- ret = OUTPUT_FILE_ERROR;
- goto clean_exit;
- }
wtap_dump_params_cleanup(&params);
/* Finally, close infile and release resources. */
diff --git a/resources/file_dlg_win32.rc b/resources/file_dlg_win32.rc
index f674aef0..34dbf60d 100644
--- a/resources/file_dlg_win32.rc
+++ b/resources/file_dlg_win32.rc
@@ -46,13 +46,13 @@ FONT 8, "MS Shell Dlg"
{
}
-WIRESHARK_EXPORT_SPECIFIED_PACKETS_FILENAME_TEMPLATE DIALOGEX 0, 0, 453, 124
+WIRESHARK_EXPORT_SPECIFIED_PACKETS_FILENAME_TEMPLATE DIALOGEX 0, 0, 453, 136
STYLE WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | DS_3DLOOK | DS_CONTROL
FONT 8, "MS Shell Dlg"
{
CHECKBOX "Compress with gzip", EWFD_GZIP_CB, 67, 0, 100, 8, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
- GROUPBOX "Packet Range", -1, 67, 15, 270, 102
+ GROUPBOX "Packet Range", -1, 67, 15, 270, 114
CONTROL "Captured", EWFD_CAPTURED_BTN, "Button", BS_AUTORADIOBUTTON | WS_GROUP, 232, 26, 45, 10
CONTROL "Displayed", EWFD_DISPLAYED_BTN, "Button", BS_AUTORADIOBUTTON, 282, 26, 47, 10
@@ -64,6 +64,7 @@ FONT 8, "MS Shell Dlg"
CONTROL "Range:", EWFD_RANGE_BTN, "Button", BS_AUTORADIOBUTTON, 73, 86, 35, 10
CONTROL "", EWFD_RANGE_EDIT, RICHEDIT_CLASS, ES_AUTOHSCROLL, 112, 85, 110, 12, WS_EX_CLIENTEDGE
CONTROL "Remove Ignored packets", EWFD_REMOVE_IGN_CB, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 73, 98, 100, 10
+ CONTROL "Include depended upon packets", EWFD_INCLUDE_DPD_CB, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 73, 110, 125, 10
LTEXT "0", EWFD_ALL_PKTS_CAP, 232, 39, 39, 8, SS_RIGHT
LTEXT "0", EWFD_SEL_PKT_CAP, 232, 51, 39, 8, SS_RIGHT
@@ -71,6 +72,7 @@ FONT 8, "MS Shell Dlg"
LTEXT "0", EWFD_FIRST_LAST_CAP, 232, 75, 39, 8, SS_RIGHT
LTEXT "0", EWFD_RANGE_CAP, 232, 87, 39, 8, SS_RIGHT
LTEXT "0", EWFD_IGNORED_CAP, 232, 99, 39, 8, SS_RIGHT
+ LTEXT "0", EWFD_DEPENDED_CAP, 232, 111, 39, 8, SS_RIGHT
LTEXT "0", EWFD_ALL_PKTS_DISP, 282, 39, 41, 8, SS_RIGHT
LTEXT "0", EWFD_SEL_PKT_DISP, 282, 51, 41, 8, SS_RIGHT
@@ -78,6 +80,7 @@ FONT 8, "MS Shell Dlg"
LTEXT "0", EWFD_FIRST_LAST_DISP, 282, 75, 41, 8, SS_RIGHT
LTEXT "0", EWFD_RANGE_DISP, 282, 87, 41, 8, SS_RIGHT
LTEXT "0", EWFD_IGNORED_DISP, 282, 99, 41, 8, SS_RIGHT
+ LTEXT "0", EWFD_DEPENDED_DISP, 282, 111, 41, 8, SS_RIGHT
}
WIRESHARK_MERGEFILENAME_TEMPLATE DIALOGEX 0, 0, 450, 80
@@ -104,11 +107,11 @@ FONT 8, "MS Shell Dlg"
// 164/211, 79, 40/150, 8
}
-WIRESHARK_EXPORTFILENAME_TEMPLATE DIALOGEX 0, 0, 469, 109
+WIRESHARK_EXPORTFILENAME_TEMPLATE DIALOGEX 0, 0, 469, 121
STYLE WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | DS_3DLOOK | DS_CONTROL
FONT 8, "MS Shell Dlg"
{
- GROUPBOX "Packet Range", -1, 67, 0, 270, 106
+ GROUPBOX "Packet Range", -1, 67, 0, 270, 118
CONTROL "Captured", EWFD_CAPTURED_BTN, "Button", BS_AUTORADIOBUTTON | WS_GROUP, 232, 11, 45, 10
CONTROL "Displayed", EWFD_DISPLAYED_BTN, "Button", BS_AUTORADIOBUTTON, 282, 11, 47, 10
@@ -120,6 +123,7 @@ FONT 8, "MS Shell Dlg"
CONTROL "Range:", EWFD_RANGE_BTN, "Button", BS_AUTORADIOBUTTON, 73, 71, 35, 10
CONTROL "", EWFD_RANGE_EDIT, RICHEDIT_CLASS, ES_AUTOHSCROLL, 112, 70, 110, 12, WS_EX_CLIENTEDGE
CONTROL "Remove Ignored packets", EWFD_REMOVE_IGN_CB, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 73, 83, 100, 10
+ CONTROL "Include depended upon packets", EWFD_INCLUDE_DPD_CB, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 73, 95, 125, 10
LTEXT "0", EWFD_ALL_PKTS_CAP, 232, 24, 39, 8, SS_RIGHT
LTEXT "0", EWFD_SEL_PKT_CAP, 232, 36, 39, 8, SS_RIGHT
@@ -127,6 +131,7 @@ FONT 8, "MS Shell Dlg"
LTEXT "0", EWFD_FIRST_LAST_CAP, 232, 60, 39, 8, SS_RIGHT
LTEXT "0", EWFD_RANGE_CAP, 232, 72, 39, 8, SS_RIGHT
LTEXT "0", EWFD_IGNORED_CAP, 232, 84, 39, 8, SS_RIGHT
+ LTEXT "0", EWFD_DEPENDED_CAP, 232, 96, 39, 8, SS_RIGHT
LTEXT "0", EWFD_ALL_PKTS_DISP, 282, 24, 41, 8, SS_RIGHT
LTEXT "0", EWFD_SEL_PKT_DISP, 282, 36, 41, 8, SS_RIGHT
@@ -134,6 +139,7 @@ FONT 8, "MS Shell Dlg"
LTEXT "0", EWFD_FIRST_LAST_DISP, 282, 60, 41, 8, SS_RIGHT
LTEXT "0", EWFD_RANGE_DISP, 282, 72, 41, 8, SS_RIGHT
LTEXT "0", EWFD_IGNORED_DISP, 282, 84, 41, 8, SS_RIGHT
+ LTEXT "0", EWFD_DEPENDED_DISP, 282, 96, 41, 8, SS_RIGHT
GROUPBOX "Packet Format", EWFD_PKT_FORMAT_GB, 344, 0, 134, 106
CONTROL "Packet summary line", EWFD_PKT_SUMMARY_CB, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 350, 15, 84, 10
diff --git a/sharkd_session.c b/sharkd_session.c
index 8c378260..9e84cbc1 100644
--- a/sharkd_session.c
+++ b/sharkd_session.c
@@ -399,6 +399,7 @@ json_prep(char* buf, const jsmntok_t* tokens, int count)
{"dumpconf", "pref", 2, JSMN_STRING, SHARKD_JSON_STRING, SHARKD_OPTIONAL},
{"follow", "follow", 2, JSMN_STRING, SHARKD_JSON_STRING, SHARKD_MANDATORY},
{"follow", "filter", 2, JSMN_STRING, SHARKD_JSON_STRING, SHARKD_MANDATORY},
+ {"follow", "sub_stream", 2, JSMN_PRIMITIVE, SHARKD_JSON_UINTEGER, SHARKD_OPTIONAL},
{"frame", "frame", 2, JSMN_PRIMITIVE, SHARKD_JSON_UINTEGER, SHARKD_MANDATORY},
{"frame", "proto", 2, JSMN_PRIMITIVE, SHARKD_JSON_BOOLEAN, SHARKD_OPTIONAL},
{"frame", "ref_frame", 2, JSMN_PRIMITIVE, SHARKD_JSON_UINTEGER, SHARKD_OPTIONAL},
@@ -631,7 +632,7 @@ json_prep(char* buf, const jsmntok_t* tokens, int count)
{
sharkd_json_error(
rpcid, -32600, NULL,
- "The data type for member %s is not a valid", attr_name
+ "The data type for member %s is not valid", attr_name
);
return FALSE;
}
@@ -3917,8 +3918,10 @@ sharkd_session_process_tap(char *buf, const jsmntok_t *tokens, int count)
* Process follow request
*
* Input:
- * (m) follow - follow protocol request (e.g. HTTP)
- * (m) filter - filter request (e.g. tcp.stream == 1)
+ * (m) follow - follow protocol request (e.g. HTTP)
+ * (m) filter - filter request (e.g. tcp.stream == 1)
+ * (m) stream - stream index number
+ * (o) sub_stream - follow sub-stream index number (e.g. for HTTP/2 and QUIC streams)
*
* Output object with attributes:
*
@@ -3939,6 +3942,7 @@ sharkd_session_process_follow(char *buf, const jsmntok_t *tokens, int count)
{
const char *tok_follow = json_find_attr(buf, tokens, count, "follow");
const char *tok_filter = json_find_attr(buf, tokens, count, "filter");
+ const char *tok_sub_stream = json_find_attr(buf, tokens, count, "sub_stream");
register_follow_t *follower;
GString *tap_error;
@@ -3957,8 +3961,15 @@ sharkd_session_process_follow(char *buf, const jsmntok_t *tokens, int count)
return;
}
+ guint64 substream_id = SUBSTREAM_UNUSED;
+ if (tok_sub_stream)
+ {
+ ws_strtou64(tok_sub_stream, NULL, &substream_id);
+ }
+
/* follow_reset_stream ? */
follow_info = g_new0(follow_info_t, 1);
+ follow_info->substream_id = substream_id;
/* gui_data, filter_out_filter not set, but not used by dissector */
tap_error = register_tap_listener(get_follow_tap_string(follower), follow_info, tok_filter, 0, NULL, get_follow_tap_handler(follower), NULL, NULL);
@@ -4143,7 +4154,8 @@ static bool
sharkd_follower_visit_layers_cb(const void *key _U_, void *value, void *user_data)
{
register_follow_t *follower = (register_follow_t *) value;
- packet_info *pi = (packet_info *) user_data;
+ epan_dissect_t *edt = (epan_dissect_t *) user_data;
+ packet_info *pi = &edt->pi;
const int proto_id = get_follow_proto_id(follower);
@@ -4155,7 +4167,7 @@ sharkd_follower_visit_layers_cb(const void *key _U_, void *value, void *user_dat
const char *layer_proto = proto_get_protocol_short_name(find_protocol_by_id(proto_id));
char *follow_filter;
- follow_filter = get_follow_conv_func(follower)(NULL, pi, &ignore_stream, &ignore_sub_stream);
+ follow_filter = get_follow_conv_func(follower)(edt, pi, &ignore_stream, &ignore_sub_stream);
json_dumper_begin_array(&dumper);
json_dumper_value_string(&dumper, layer_proto);
@@ -4168,6 +4180,41 @@ sharkd_follower_visit_layers_cb(const void *key _U_, void *value, void *user_dat
return FALSE;
}
+static bool
+sharkd_followers_visit_layers_cb(const void *key _U_, void *value, void *user_data)
+{
+ register_follow_t *follower = (register_follow_t *) value;
+ epan_dissect_t *edt = (epan_dissect_t *) user_data;
+ packet_info *pi = &edt->pi;
+
+ const int proto_id = get_follow_proto_id(follower);
+
+ guint stream;
+ guint sub_stream = (guint) SUBSTREAM_UNUSED;
+
+ if (proto_is_frame_protocol(pi->layers, proto_get_protocol_filter_name(proto_id)))
+ {
+ const char *layer_proto = proto_get_protocol_short_name(find_protocol_by_id(proto_id));
+ char *follow_filter;
+
+ follow_filter = get_follow_conv_func(follower)(edt, pi, (guint *) &stream, (guint *) &sub_stream);
+
+ sharkd_json_object_open(NULL);
+ sharkd_json_value_string("protocol", layer_proto);
+ sharkd_json_value_string("filter", follow_filter);
+ sharkd_json_value_anyf("stream", "%d", stream);
+ if (sub_stream != (guint) SUBSTREAM_UNUSED)
+ {
+ sharkd_json_value_anyf("sub_stream", "%d", sub_stream);
+ }
+ sharkd_json_object_close();
+
+ g_free(follow_filter);
+ }
+
+ return FALSE;
+}
+
struct sharkd_frame_request_data
{
gboolean display_hidden;
@@ -4327,7 +4374,11 @@ sharkd_session_process_frame_cb(epan_dissect_t *edt, proto_tree *tree, struct ep
}
sharkd_json_array_open("fol");
- follow_iterate_followers(sharkd_follower_visit_layers_cb, pi);
+ follow_iterate_followers(sharkd_follower_visit_layers_cb, edt);
+ sharkd_json_array_close();
+
+ sharkd_json_array_open("followers");
+ follow_iterate_followers(sharkd_followers_visit_layers_cb, edt);
sharkd_json_array_close();
sharkd_json_result_epilogue();
@@ -4709,6 +4760,11 @@ sharkd_session_process_intervals(char *buf, const jsmntok_t *tokens, int count)
* (o) fol - array of follow filters:
* [0] - protocol
* [1] - filter string
+ * (o) followers - array of followers with attributes:
+ * protocol - protocol string
+ * filter - filter string
+ * stream - stream index number
+ * sub_stream - sub-stream index number (optional, e.g. for HTTP/2 and QUIC streams)
* (o) i - if frame is ignored
* (o) m - if frame is marked
* (o) bg - color filter - background color in hex
diff --git a/test/captures/quic-with-secrets.pcapng b/test/captures/quic-with-secrets.pcapng
new file mode 100644
index 00000000..4968365a
--- /dev/null
+++ b/test/captures/quic-with-secrets.pcapng
Binary files differ
diff --git a/test/lua/protofield.lua b/test/lua/protofield.lua
index 9d2223f6..f9ce2dc0 100644
--- a/test/lua/protofield.lua
+++ b/test/lua/protofield.lua
@@ -14,7 +14,7 @@ local n_frames = 4
local taptests = {
[FRAME]=n_frames,
[PER_FRAME]=n_frames*8,
- [OTHER]=50,
+ [OTHER]=52,
}
testlib.init(taptests)
@@ -67,6 +67,9 @@ testlib.test(OTHER,"ProtoField-new-bool-mask-none", success)
success = pcall(ProtoField.new, "boolean", "test.boolean6", ftypes.BOOLEAN, nil, base.NONE, nil)
testlib.test(OTHER,"ProtoField-new-bool-mask-nil", success)
+success = pcall(ProtoField.new, "boolean", "test.boolean7", ftypes.BOOLEAN, nil, base.HEX, "0x00FFFFFF00000000")
+testlib.test(OTHER,"ProtoField-new-bool-mask-hex", success)
+
success = pcall(ProtoField.bool, "test.boolean10", nil, 64, nil, 0x1)
testlib.test(OTHER,"ProtoField-bool-mask-trivial", success)
@@ -109,6 +112,9 @@ testlib.test(OTHER,"ProtoField-new-uint64-mask-none", success)
success = pcall(ProtoField.new, "uint64", "test.uint64_6", ftypes.UINT64, nil, base.NONE, nil)
testlib.test(OTHER,"ProtoField-new-uint64-mask-nil", success)
+success = pcall(ProtoField.new, "uint64", "test.uint64_7", ftypes.UINT64, nil, base.HEX, "0x00FFFFFF00000000")
+testlib.test(OTHER,"ProtoField-new-uint64-mask-hex", success)
+
success = pcall(ProtoField.uint64, "test.uint64_10", nil, base.HEX, nil, 0x1)
testlib.test(OTHER,"ProtoField-uint64-mask-trivial", success)
diff --git a/test/suite_sharkd.py b/test/suite_sharkd.py
index d8c1ef2f..9d883647 100644
--- a/test/suite_sharkd.py
+++ b/test/suite_sharkd.py
@@ -1107,6 +1107,9 @@ class TestSharkd:
{"jsonrpc":"2.0", "id":4, "method":"follow",
"params":{"follow": "HTTP", "filter": "garbage filter"}
},
+ {"jsonrpc":"2.0", "id":5, "method":"follow",
+ "params":{"follow": "HTTP", "filter": "http", "sub_stream": "garbage sub_stream"}
+ },
), (
{"jsonrpc":"2.0","id":1,"result":{"status":"OK"}},
{"jsonrpc":"2.0","id":2,"error":{"code":-32600,"message":"Mandatory parameter follow is missing"}},
@@ -1114,6 +1117,9 @@ class TestSharkd:
{"jsonrpc":"2.0","id":4,
"error":{"code":-12002,"message":"sharkd_session_process_follow() name=HTTP error=Filter \"garbage filter\" is invalid - \"filter\" was unexpected in this context."}
},
+ {"jsonrpc":"2.0","id":5,
+ "error":{"code":-32600,"message":"The data type for member sub_stream is not valid"}
+ },
))
def test_sharkd_req_follow_no_match(self, check_sharkd_session, capture_file):
@@ -1151,6 +1157,28 @@ class TestSharkd:
},
))
+ def test_sharkd_req_follow_http2(self, check_sharkd_session, capture_file):
+ check_sharkd_session((
+ {"jsonrpc":"2.0", "id":1, "method":"load",
+ "params":{"file": capture_file('quic-with-secrets.pcapng')}
+ },
+ {"jsonrpc":"2.0", "id":2, "method":"follow",
+ "params":{"follow": "HTTP2", "filter": "tcp.stream eq 0 and http2.streamid eq 1", "sub_stream": 1}
+ },
+ ), (
+ {"jsonrpc":"2.0","id":1,"result":{"status":"OK"}},
+ {"jsonrpc":"2.0","id":2,
+ "result":{
+ "shost": "2606:4700:10::6816:826", "sport": "443", "sbytes": 656,
+ "chost": "2001:db8:1::1", "cport": "57098", "cbytes": 109643,
+ "payloads": [
+ {"n": 12, "d": MatchRegExp(r'^.*VuLVVTLGVuO3E9MC45Cgo.*$')},
+ {"n": 19, "s": 1, "d": MatchRegExp(r'^.*7IG1hPTg2NDAwCgo.*$')},
+ {"n": 44, "s": 1, "d": MatchRegExp(r'^.*Pgo8L2h0bWw.*$')},
+ ]}
+ },
+ ))
+
def test_sharkd_req_iograph_bad(self, check_sharkd_session, capture_file):
check_sharkd_session((
{"jsonrpc":"2.0", "id":1, "method":"load",
@@ -1230,7 +1258,30 @@ class TestSharkd:
},
), (
{"jsonrpc":"2.0","id":1,"result":{"status":"OK"}},
- {"jsonrpc":"2.0","id":2,"result":{"fol": [["UDP", "udp.stream eq 1"]]}},
+ {"jsonrpc":"2.0","id":2,"result":{
+ "fol": [["UDP", "udp.stream eq 1"]],
+ "followers": [{"protocol": "UDP","filter": "udp.stream eq 1","stream": 1}]
+ }},
+ ))
+
+ def test_sharkd_req_frame_http2(self, check_sharkd_session, capture_file):
+ check_sharkd_session((
+ {"jsonrpc":"2.0", "id":1, "method":"load",
+ "params":{"file": capture_file('quic-with-secrets.pcapng')}
+ },
+ {"jsonrpc":"2.0", "id":2, "method":"frame",
+ "params":{"frame": 12}
+ },
+ ), (
+ {"jsonrpc":"2.0","id":1,"result":{"status":"OK"}},
+ {"jsonrpc":"2.0","id":2,"result":{
+ "fol": [["HTTP2", "tcp.stream eq 0 and http2.streamid eq 1"],["TCP","tcp.stream eq 0"],["TLS","tcp.stream eq 0"]],
+ "followers": [
+ {"protocol": "HTTP2","filter": "tcp.stream eq 0 and http2.streamid eq 1","stream": 0, "sub_stream": 1},
+ {"protocol": "TCP","filter": "tcp.stream eq 0","stream": 0},
+ {"protocol": "TLS","filter": "tcp.stream eq 0","stream": 0},
+ ]
+ }},
))
def test_sharkd_req_frame_proto(self, check_sharkd_session, capture_file):
@@ -1283,7 +1334,7 @@ class TestSharkd:
{"jsonrpc":"2.0","id":1,"result":{"status":"OK"}},
{"jsonrpc":"2.0","id":2,"error":{"code":-3002,"message":"Frame number is out of range"}},
{"jsonrpc":"2.0","id":3,"result":{"status":"OK"}},
- {"jsonrpc":"2.0","id":4,"result":{"comment":["foo\nbar"],"fol": MatchAny(list)}},
+ {"jsonrpc":"2.0","id":4,"result":{"comment":["foo\nbar"],"fol": MatchAny(list), "followers": MatchAny(list)}},
))
def test_sharkd_req_setconf_bad(self, check_sharkd_session):
diff --git a/tools/macos-setup.sh b/tools/macos-setup.sh
index ec25bf71..0017ffcf 100755
--- a/tools/macos-setup.sh
+++ b/tools/macos-setup.sh
@@ -62,6 +62,14 @@ fi
# XXX: tar, since macOS 10.9, can uncompress xz'ed tarballs,
# so perhaps we could get rid of this now?
#
+# DO NOT UPDATE THIS TO A COMPROMISED VERSION; see
+#
+# https://www.openwall.com/lists/oss-security/2024/03/29/4
+#
+# https://access.redhat.com/security/cve/CVE-2024-3094
+#
+# https://nvd.nist.gov/vuln/detail/CVE-2024-3094
+#
XZ_VERSION=5.2.5
#
diff --git a/tools/make-version.py b/tools/make-version.py
index 69470995..ee660c19 100755
--- a/tools/make-version.py
+++ b/tools/make-version.py
@@ -44,8 +44,8 @@ GIT_ABBREV_LENGTH = 12
# If the text "$Format" is still present, it means that
# git archive did not replace the $Format string, which
# means that this not a git archive.
-GIT_EXPORT_SUBST_H = '1fe5bce8d665c0d64e1af63545421c67596db165'
-GIT_EXPORT_SUBST_D = 'tag: wireshark-4.2.4, tag: v4.2.4, refs/merge-requests/15008/head, refs/keep-around/1fe5bce8d665c0d64e1af63545421c67596db165'
+GIT_EXPORT_SUBST_H = '4aa814ac25a18ea48d4002351ed45d4b245b0c08'
+GIT_EXPORT_SUBST_D = 'tag: wireshark-4.2.5, tag: v4.2.5, refs/merge-requests/15651/head, refs/keep-around/4aa814ac25a18ea48d4002351ed45d4b245b0c08'
IS_GIT_ARCHIVE = not GIT_EXPORT_SUBST_H.startswith('$Format')
diff --git a/tools/win-setup.ps1 b/tools/win-setup.ps1
index 741c44d5..93c1bb61 100644
--- a/tools/win-setup.ps1
+++ b/tools/win-setup.ps1
@@ -75,7 +75,7 @@ $X64Archives = @{
"bcg729/bcg729-1.0.4-win64ws.zip" = "9a095fda4c39860d96f0c568830faa6651cd17635f68e27aa6de46c689aa0ee2";
"brotli/brotli-1.0.9-1-win64ws.zip" = "3f8d24aec8668201994327ff8d8542fe507d1d468a500a1aec50d0415f695aab";
"c-ares/c-ares-1.27.0-1-x64-windows-ws.zip" = "c9f1fb4836d55ae3aca0be077d2363678454820f9efad5c09371351a8770b5fc";
- "gnutls/gnutls-3.8.3-1-x64-mingw-dynamic-ws.zip" = "0d8f99029319e1967fd916586eecfd776a9b564614468b233b6eda8bc23ca20d";
+ "gnutls/gnutls-3.8.4-2-x64-mingw-dynamic-ws.zip" = "e875c6c34f633c487ce390e25a4d26a3e27d3dca3f9fdfa1d8fd66026d1e257c";
"krb5/krb5-1.20.1-1-x64-windows-ws.zip" = "a1e5c582afce6e2f72f0f5bd66df2c0f3cc984532a1da5314fc89d7b7f29cdbf";
"libgcrypt/libgcrypt-1.10.2-2-x64-mingw-dynamic-ws.zip" = "477cfce91d791b34df75a5ad83626f1ac2ee147eff7965e52266a4fc3da0f920";
"libilbc/libilbc-2.0.2-4-x64-windows-ws.zip" = "4f35a1ffa03c89bf473f38249282a7867b203988d2b6d3d2f0924764619fd5f5";
@@ -86,7 +86,7 @@ $X64Archives = @{
"lua/lua-5.2.4-unicode-win64-vc14.zip" = "e8968d2c7871ce1ea82cbd29ac1b3a2c59d3dec25e483c5e12de85df66f5d928";
"lz4/lz4-1.9.3-1-win64ws.zip" = "7129515893ffdc439f4ffe9673c4bc43f9042e910bb2607e68dde6b99a1ab058";
"minizip/minizip-1.3-1-x64-windows-ws.zip" = "eb0bb5fffda5328e192d0d7951ff0254e64dcd736d46909fde7db792c1c53bcc";
- "nghttp2/nghttp2-1.57.0-1-x64-windows-ws.zip" = "94afb12d63d0830dc25e5605c30a6a91fe1f7284c1e6ddfff177d961d5b52bbd";
+ "nghttp2/nghttp2-1.61.0-1-x64-windows-ws.zip" = "c9f9976ae890acdee24f4a0a6514b345c4e34121e11f0439ba5d90ba6b122d31";
"nghttp3/nghttp3-1.0.0-1-x64-windows-ws.zip" = "219a0024b79627c00fa1c134085678edbfac72b7b5eaf45db84f36e2553e1638";
"opus/opus-1.3.1-3-win64ws.zip" = "1f7a55a6d2d7215dffa4a43bca8ca05024bd4ba1ac3d0d0c405fd38b09cc2205";
"sbc/sbc-2.0-1-x64-windows-ws.zip" = "d1a58f977dcffa168b11b280bd10228191582d263b7c901e50cde7c1c43d9c04";
@@ -98,11 +98,12 @@ $X64Archives = @{
"zstd/zstd-1.5.2-1-win64ws.zip" = "d920afe636951cfcf144824d9c075d1f2c13387f4739152fe185fd9c09fc58f2";
}
+
$Arm64Archives = @{
"bcg729/bcg729-1.1.1-1-win64armws.zip" = "f4d76b9acf0d0e12e87a020e9805d136a0e8775e061eeec23910a10828153625";
"brotli/brotli-1.0.9-1-win64armws.zip" = "5ba1b62ebc514d55c3eae85a00ff107e587b6e7cb1275e2d33fcddcd49f8e2af";
"c-ares/c-ares-1.27.0-1-arm64-windows-ws.zip" = "d96bd88aeed45350b2d14f023bd6d9e5dc63aa3bb0b47da85e4e125d6f74bfcf";
- "gnutls/gnutls-3.8.3-1-arm64-mingw-dynamic-ws.zip" = "b9f0ee9cfe5012241aa5b9832212ea31408edf9bfc968762a2cfb091202fcc4b";
+ "gnutls/gnutls-3.8.4-2-arm64-mingw-dynamic-ws.zip" = "17f28b4a47857db86d9c3f9b7ba12528c8e6368524314fb0fe5ea9303f1a58f9";
"krb5/krb5-1.20.1-1-arm64-windows-ws.zip" = "6afe3185ea7621224544683a89d7c724d32bef6f1b552738dbc713ceb2151437";
"libgcrypt/libgcrypt-1.10.2-2-arm64-mingw-dynamic-ws.zip" = "cd42fa2739a204e129d655e1b0dda83ceb27399812b8b2eccddae4a9ecd8d0ce";
"libilbc/libilbc-2.0.2-4-arm64-windows-ws.zip" = "00a506cc1aac8a2e31856e463a555d899b5a6ccf376485a124104858ccf0be6d";
@@ -113,7 +114,7 @@ $Arm64Archives = @{
"lua/lua-5.2.4-unicode-arm64-windows-vc17.zip" = "5848e23352e35b69f4cdabaca3754c2c5fb11e5461bb92b71e059e558e4b2d12";
"lz4/lz4-1.9.4-1-win64armws.zip" = "59a3ed3f9161be7614a89afd2ca21c43f26dd916afd4aa7bfdc4b148fb10d485";
"minizip/minizip-1.3-1-arm64-windows-ws.zip" = "e5b35d064ff10f1ab1ee9193a0965fd1eb3d1e16eab5a905ab3fea9b14fb5afe";
- "nghttp2/nghttp2-1.57.0-1-arm64-windows-ws.zip" = "3f264dc0ccb48850e07ec136dede5b0ad0e39e31ff2d2e6ab215348ce2d9e570";
+ "nghttp2/nghttp2-1.61.0-1-arm64-windows-ws.zip" = "628822778c1ae540943f4b48bcfd22551826318a66b8082eebc4e99943e743b3";
"nghttp3/nghttp3-1.0.0-1-arm64-windows-ws.zip" = "cf53090b514d3193d75b81562235ae1e7a8a9d462e37f515f9a9a29c6b469236";
"opus/opus-1.4-1-win64armws.zip" = "51d10381360d5691b2022dde5b284266d9b0ce9a3c9bd7e86f9a4ff1a4f7d904";
"sbc/sbc-2.0-1-arm64-windows-ws.zip" = "83cfe4a8b6fa5bae253ecacc1c02e6e4c61b4ad9ad0e5e63f0f30422fb6eac96";
diff --git a/ui/logray/logray_main_window_slots.cpp b/ui/logray/logray_main_window_slots.cpp
index f0882ed5..bf9c05bc 100644
--- a/ui/logray/logray_main_window_slots.cpp
+++ b/ui/logray/logray_main_window_slots.cpp
@@ -2057,7 +2057,7 @@ void LograyMainWindow::editTimeShift()
connect(this, SIGNAL(setCaptureFile(capture_file*)),
ts_dialog, SLOT(setCaptureFile(capture_file*)));
- connect(ts_dialog, SIGNAL(timeShifted()), packet_list_, SLOT(applyTimeShift()));
+ connect(ts_dialog, &TimeShiftDialog::timeShifted, packet_list_, &PacketList::applyTimeShift, Qt::QueuedConnection);
ts_dialog->setWindowModality(Qt::ApplicationModal);
ts_dialog->setAttribute(Qt::WA_DeleteOnClose);
diff --git a/ui/qt/export_dissection_dialog.cpp b/ui/qt/export_dissection_dialog.cpp
index 7f2664ec..5b09efcd 100644
--- a/ui/qt/export_dissection_dialog.cpp
+++ b/ui/qt/export_dissection_dialog.cpp
@@ -172,6 +172,12 @@ void ExportDissectionDialog::show()
void ExportDissectionDialog::dialogAccepted(const QStringList &selected)
{
if (selected.length() > 0) {
+ /* writing might take a while, so hide ourselves so the user
+ * can't click on anything here (this dialog will be closed
+ * and deleted once this function is done), but can access
+ * the ProgressDialog in the main window to cancel the export.
+ */
+ hide();
cf_print_status_t status;
QString file_name = selected[0];
diff --git a/ui/qt/models/column_list_model.cpp b/ui/qt/models/column_list_model.cpp
index a0e5c8ba..102ffc31 100644
--- a/ui/qt/models/column_list_model.cpp
+++ b/ui/qt/models/column_list_model.cpp
@@ -278,7 +278,7 @@ void ColumnListModel::populate()
QVariant ColumnListModel::data(const QModelIndex &index, int role) const
{
- if (! index.isValid() || index.column() >= store_.count())
+ if (! index.isValid() || index.row() >= store_.count())
return QVariant();
ListElement ne = store_.at(index.row());
diff --git a/ui/qt/models/packet_list_model.cpp b/ui/qt/models/packet_list_model.cpp
index 0ed61d74..8cc00691 100644
--- a/ui/qt/models/packet_list_model.cpp
+++ b/ui/qt/models/packet_list_model.cpp
@@ -186,26 +186,74 @@ void PacketListModel::clear() {
void PacketListModel::invalidateAllColumnStrings()
{
+ // https://bugreports.qt.io/browse/QTBUG-58580
+ // https://bugreports.qt.io/browse/QTBUG-124173
+ // https://codereview.qt-project.org/c/qt/qtbase/+/285280
+ //
+ // In Qt 6, QAbstractItemView::dataChanged determines how much of the
+ // viewport rectangle is covered by the changed indices and only updates
+ // that much. Unfortunately, if the number of indices is very large,
+ // computing the union of the intersecting rectangle takes much longer
+ // than unconditionally updating the entire viewport. It increases linearly
+ // with the total number of packets in the list, unlike updating the
+ // viewport, which scales with the size of the viewport but is unaffected
+ // by undisplayed packets.
+ //
+ // In particular, if the data for all of the model is invalidated, we
+ // know we want to update the entire viewport and very much do not
+ // want to waste time calculating the affected area. (This can take
+ // 1 s with 1.4 M packets, 9 s with 12 M packets.)
+ //
+ // Issuing layoutAboutToBeChanged() and layoutChanged() causes the
+ // QTreeView to clear all the information for each of the view items,
+ // but without clearing the current and selected items (unlike
+ // [begin|end]ResetModel.)
+ //
+ // Theoretically this is less efficient because dataChanged() has a list
+ // of what roles changed and the other signals do not; in practice,
+ // neither QTreeView::dataChanged nor QAbstractItemView::dataChanged
+ // actually use the roles parameter, and just reset everything.
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ emit layoutAboutToBeChanged();
+#endif
PacketListRecord::invalidateAllRecords();
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ emit layoutChanged();
+#else
emit dataChanged(index(0, 0), index(rowCount() - 1, columnCount() - 1),
QVector<int>() << Qt::DisplayRole);
+#endif
}
void PacketListModel::resetColumns()
{
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ emit layoutAboutToBeChanged();
+#endif
if (cap_file_) {
PacketListRecord::resetColumns(&cap_file_->cinfo);
}
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ emit layoutChanged();
+#else
emit dataChanged(index(0, 0), index(rowCount() - 1, columnCount() - 1));
+#endif
emit headerDataChanged(Qt::Horizontal, 0, columnCount() - 1);
}
void PacketListModel::resetColorized()
{
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ emit layoutAboutToBeChanged();
+#endif
PacketListRecord::resetColorization();
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ emit layoutChanged();
+#else
emit dataChanged(index(0, 0), index(rowCount() - 1, columnCount() - 1),
QVector<int>() << Qt::BackgroundRole << Qt::ForegroundRole);
+#endif
}
void PacketListModel::toggleFrameMark(const QModelIndexList &indeces)
@@ -239,6 +287,9 @@ void PacketListModel::toggleFrameMark(const QModelIndexList &indeces)
void PacketListModel::setDisplayedFrameMark(gboolean set)
{
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ emit layoutAboutToBeChanged();
+#endif
foreach (PacketListRecord *record, visible_rows_) {
if (set) {
cf_mark_frame(cap_file_, record->frameData());
@@ -246,8 +297,12 @@ void PacketListModel::setDisplayedFrameMark(gboolean set)
cf_unmark_frame(cap_file_, record->frameData());
}
}
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ emit layoutChanged();
+#else
emit dataChanged(index(0, 0), index(rowCount() - 1, columnCount() - 1),
QVector<int>() << Qt::BackgroundRole << Qt::ForegroundRole);
+#endif
}
void PacketListModel::toggleFrameIgnore(const QModelIndexList &indeces)
@@ -281,6 +336,9 @@ void PacketListModel::toggleFrameIgnore(const QModelIndexList &indeces)
void PacketListModel::setDisplayedFrameIgnore(gboolean set)
{
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ emit layoutAboutToBeChanged();
+#endif
foreach (PacketListRecord *record, visible_rows_) {
if (set) {
cf_ignore_frame(cap_file_, record->frameData());
@@ -288,8 +346,12 @@ void PacketListModel::setDisplayedFrameIgnore(gboolean set)
cf_unignore_frame(cap_file_, record->frameData());
}
}
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ emit layoutChanged();
+#else
emit dataChanged(index(0, 0), index(rowCount() - 1, columnCount() - 1),
QVector<int>() << Qt::BackgroundRole << Qt::ForegroundRole << Qt::DisplayRole);
+#endif
}
void PacketListModel::toggleFrameRefTime(const QModelIndex &rt_index)
@@ -302,6 +364,9 @@ void PacketListModel::toggleFrameRefTime(const QModelIndex &rt_index)
frame_data *fdata = record->frameData();
if (!fdata) return;
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ emit layoutAboutToBeChanged();
+#endif
if (fdata->ref_time) {
fdata->ref_time=0;
cap_file_->ref_time_count--;
@@ -332,7 +397,11 @@ void PacketListModel::unsetAllFrameRefTime()
cap_file_->ref_time_count = 0;
cf_reftime_packets(cap_file_);
PacketListRecord::resetColumns(&cap_file_->cinfo);
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ emit layoutChanged();
+#else
emit dataChanged(index(0, 0), index(rowCount() - 1, columnCount() - 1));
+#endif
}
void PacketListModel::addFrameComment(const QModelIndexList &indices, const QByteArray &comment)
diff --git a/ui/qt/packet_list.cpp b/ui/qt/packet_list.cpp
index a065eacc..ae6f0f51 100644
--- a/ui/qt/packet_list.cpp
+++ b/ui/qt/packet_list.cpp
@@ -1038,6 +1038,8 @@ void PacketList::setRecentColumnWidth(int col)
void PacketList::drawCurrentPacket()
{
+ // XXX - Update for multi-select? If more than one packet is Selected,
+ // this changes it so that only the Current packet is Selected.
QModelIndex current_index = currentIndex();
if (selectionModel() && current_index.isValid()) {
selectionModel()->clearSelection();
diff --git a/ui/qt/packet_range_group_box.cpp b/ui/qt/packet_range_group_box.cpp
index 143da613..dab44333 100644
--- a/ui/qt/packet_range_group_box.cpp
+++ b/ui/qt/packet_range_group_box.cpp
@@ -113,12 +113,23 @@ void PacketRangeGroupBox::updateCounts() {
pr_ui_->selectedDisplayedLabel->setEnabled(displayed_checked);
if (range_->include_dependents) {
- pr_ui_->selectedCapturedLabel->setText(QString::number(range_->selected_plus_depends_cnt));
- pr_ui_->selectedDisplayedLabel->setText(QString::number(range_->displayed_selected_plus_depends_cnt));
+ label_count = range_->selected_plus_depends_cnt;
} else {
- pr_ui_->selectedCapturedLabel->setText(QString::number(range_->selection_range_cnt));
- pr_ui_->selectedDisplayedLabel->setText(QString::number(range_->displayed_selection_range_cnt));
+ label_count = range_->selection_range_cnt;
}
+ if (range_->remove_ignored) {
+ label_count -= range_->ignored_selection_range_cnt;
+ }
+ pr_ui_->selectedCapturedLabel->setText(QString::number(label_count));
+ if (range_->include_dependents) {
+ label_count = range_->displayed_selected_plus_depends_cnt;
+ } else {
+ label_count = range_->displayed_selection_range_cnt;
+ }
+ if (range_->remove_ignored) {
+ label_count -= range_->displayed_ignored_selection_range_cnt;
+ }
+ pr_ui_->selectedDisplayedLabel->setText(QString::number(label_count));
} else {
if (range_->process == range_process_selected) {
pr_ui_->allButton->setChecked(true);
diff --git a/ui/qt/rtp_player_dialog.cpp b/ui/qt/rtp_player_dialog.cpp
index 7d0ad62d..60418cc8 100644
--- a/ui/qt/rtp_player_dialog.cpp
+++ b/ui/qt/rtp_player_dialog.cpp
@@ -393,13 +393,13 @@ RtpPlayerDialog::~RtpPlayerDialog()
{
std::lock_guard<std::mutex> lock(init_mutex_);
if (pinstance_ != nullptr) {
- cleanupMarkerStream();
for (int row = 0; row < ui->streamTreeWidget->topLevelItemCount(); row++) {
QTreeWidgetItem *ti = ui->streamTreeWidget->topLevelItem(row);
RtpAudioStream *audio_stream = ti->data(stream_data_col_, Qt::UserRole).value<RtpAudioStream*>();
if (audio_stream)
delete audio_stream;
}
+ cleanupMarkerStream();
delete ui;
pinstance_ = nullptr;
}
@@ -1288,7 +1288,9 @@ void RtpPlayerDialog::playFinished(RtpAudioStream *stream, QAudio::Error error)
}
playing_streams_.removeOne(stream);
if (playing_streams_.isEmpty()) {
- marker_stream_->stop();
+ if (marker_stream_) {
+ marker_stream_->stop();
+ }
updateWidgets();
}
}
diff --git a/ui/qt/sequence_dialog.cpp b/ui/qt/sequence_dialog.cpp
index 2f5b5ede..e5fb7b87 100644
--- a/ui/qt/sequence_dialog.cpp
+++ b/ui/qt/sequence_dialog.cpp
@@ -66,14 +66,14 @@ typedef struct {
SequenceInfo *info;
} sequence_items_t;
-SequenceDialog::SequenceDialog(QWidget &parent, CaptureFile &cf, SequenceInfo *info) :
+SequenceDialog::SequenceDialog(QWidget &parent, CaptureFile &cf, SequenceInfo *info, bool voipFeatures) :
WiresharkDialog(parent, cf),
ui(new Ui::SequenceDialog),
info_(info),
num_items_(0),
packet_num_(0),
sequence_w_(1),
- voipFeaturesEnabled(false)
+ voipFeaturesEnabled(voipFeatures)
{
QAction *action;
@@ -189,6 +189,11 @@ SequenceDialog::SequenceDialog(QWidget &parent, CaptureFile &cf, SequenceInfo *i
close_bt->setDefault(true);
}
+ enableVoIPFeatures();
+
+ // Enable or disable VoIP features before adding the ProgressFrame,
+ // because the layout position depends on whether player_button_ is
+ // visible.
ProgressFrame::addToButtonBox(ui->buttonBox, &parent);
loadGeometry(parent.width(), parent.height() * 4 / 5);
@@ -200,10 +205,7 @@ SequenceDialog::SequenceDialog(QWidget &parent, CaptureFile &cf, SequenceInfo *i
connect(sp, SIGNAL(mousePress(QMouseEvent*)), this, SLOT(diagramClicked(QMouseEvent*)));
connect(sp, SIGNAL(mouseMove(QMouseEvent*)), this, SLOT(mouseMoved(QMouseEvent*)));
connect(sp, SIGNAL(mouseWheel(QWheelEvent*)), this, SLOT(mouseWheeled(QWheelEvent*)));
-
- // Button must be enabled by VoIP dialogs
- player_button_->setVisible(false);
- player_button_->setEnabled(false);
+ connect(sp, &QCustomPlot::afterLayout, this, &SequenceDialog::layoutAxisLabels);
}
SequenceDialog::~SequenceDialog()
@@ -214,10 +216,10 @@ SequenceDialog::~SequenceDialog()
void SequenceDialog::enableVoIPFeatures()
{
- voipFeaturesEnabled = true;
- player_button_->setVisible(true);
- ui->actionSelectRtpStreams->setVisible(true);
- ui->actionDeselectRtpStreams->setVisible(true);
+ player_button_->setVisible(voipFeaturesEnabled);
+ ui->actionSelectRtpStreams->setVisible(voipFeaturesEnabled);
+ ui->actionDeselectRtpStreams->setVisible(voipFeaturesEnabled);
+ // Buttons and actions are enabled when valid call selected
}
void SequenceDialog::updateWidgets()
@@ -535,12 +537,20 @@ void SequenceDialog::panAxes(int x_pixels, int y_pixels)
double v_pan = 0.0;
h_pan = sp->xAxis2->range().size() * x_pixels / sp->xAxis2->axisRect()->width();
+ // The nodes are placed on integer x values from 0 to num_nodes - 1.
+ // We allow 0.5 of margin around a node (also reflected in the
+ // horizontalScrollBar range.)
if (h_pan < 0) {
h_pan = qMax(h_pan, min_left_ - sp->xAxis2->range().lower);
} else {
- h_pan = qMin(h_pan, info_->sainfo()->num_nodes - sp->xAxis2->range().upper);
+ h_pan = qMin(h_pan, info_->sainfo()->num_nodes - 0.5 - sp->xAxis2->range().upper);
}
+ if (sp->yAxis->rangeReversed()) {
+ // For reversed axes, lower still references the mathemathetically
+ // smaller number than upper, so reverse the direction.
+ y_pixels = -y_pixels;
+ }
v_pan = sp->yAxis->range().size() * y_pixels / sp->yAxis->axisRect()->height();
if (v_pan < 0) {
v_pan = qMax(v_pan, min_top_ - sp->yAxis->range().lower);
@@ -548,7 +558,7 @@ void SequenceDialog::panAxes(int x_pixels, int y_pixels)
v_pan = qMin(v_pan, num_items_ - sp->yAxis->range().upper);
}
- if (h_pan && !(sp->xAxis2->range().contains(min_left_) && sp->xAxis2->range().contains(info_->sainfo()->num_nodes))) {
+ if (h_pan && !(sp->xAxis2->range().contains(min_left_) && sp->xAxis2->range().contains(info_->sainfo()->num_nodes - 0.5))) {
sp->xAxis2->moveRange(h_pan);
sp->replot();
}
@@ -586,13 +596,21 @@ void SequenceDialog::resetAxes(bool keep_lower)
ui->verticalScrollBar->setRange((rmin - 1.0) * 100, (num_items_ - 0.5 - rmin) * 100);
yAxisChanged(sp->yAxis->range());
+ sp->replot(QCustomPlot::rpQueuedReplot);
+}
+
+void SequenceDialog::layoutAxisLabels()
+{
// It would be exceedingly handy if we could do one or both of the
// following:
// - Position an axis label above its axis inline with the tick labels.
// - Anchor a QCPItemText to one of the corners of a QCPAxis.
- // Neither of those appear to be possible, so we first call replot in
- // order to lay out our X axes, place our labels, the call replot again.
- sp->replot(QCustomPlot::rpQueuedReplot);
+ // Neither of those appear to be possible, so we place our labels using
+ // absolute positioning immediately after the layout size and positions
+ // are set, and right before the replot (or print) draw step occurs,
+ // using the new QCustomPlot 2.1.0 QCustomPlot::afterLayout signal.
+
+ QCustomPlot *sp = ui->sequencePlot;
QRect axis_rect = sp->axisRect()->rect();
@@ -606,8 +624,6 @@ void SequenceDialog::resetAxes(bool keep_lower)
+ sp->yAxis2->tickLabelPadding()
+ sp->yAxis2->offset(),
axis_rect.top() / 2);
-
- sp->replot(QCustomPlot::rpRefreshHint);
}
void SequenceDialog::resetView()
diff --git a/ui/qt/sequence_dialog.h b/ui/qt/sequence_dialog.h
index 8c321907..f9935d5b 100644
--- a/ui/qt/sequence_dialog.h
+++ b/ui/qt/sequence_dialog.h
@@ -49,9 +49,8 @@ class SequenceDialog : public WiresharkDialog
Q_OBJECT
public:
- explicit SequenceDialog(QWidget &parent, CaptureFile &cf, SequenceInfo *info = NULL);
+ explicit SequenceDialog(QWidget &parent, CaptureFile &cf, SequenceInfo *info = NULL, bool voipFeatures = false);
~SequenceDialog();
- void enableVoIPFeatures();
protected:
void showEvent(QShowEvent *event);
@@ -78,6 +77,7 @@ private slots:
void fillDiagram();
void resetView();
void exportDiagram();
+ void layoutAxisLabels();
void on_buttonBox_clicked(QAbstractButton *button);
void on_actionGoToPacket_triggered();
@@ -123,6 +123,7 @@ private:
QPointer<RtpStreamDialog> rtp_stream_dialog_; // Singleton pattern used
bool voipFeaturesEnabled;
+ void enableVoIPFeatures();
void zoomXAxis(bool in);
void panAxes(int x_pixels, int y_pixels);
void resetAxes(bool keep_lower = false);
diff --git a/ui/qt/tcp_stream_dialog.cpp b/ui/qt/tcp_stream_dialog.cpp
index 88f6b757..8d668f62 100644
--- a/ui/qt/tcp_stream_dialog.cpp
+++ b/ui/qt/tcp_stream_dialog.cpp
@@ -45,6 +45,8 @@
// - ACK & RWIN segment ticks in tcptrace graph
// - Add missing elements (retrans, URG, SACK, etc) to tcptrace. It probably makes
// sense to subclass QCPGraph for this.
+// - Allow switching the tracer between graphs when there are two / selecting
+// the other graph, at the very least if base_graph_ is disabled.
// The GTK+ version computes a 20 (or 21!) segment moving average. Comment
// out the line below to use that. By default we use a 1 second MA.
@@ -73,6 +75,7 @@ const QString segment_length_label_ = QObject::tr("Segment Length (B)");
const QString sequence_number_label_ = QObject::tr("Sequence Number (B)");
const QString time_s_label_ = QObject::tr("Time (s)");
const QString window_size_label_ = QObject::tr("Window Size (B)");
+const QString cwnd_label_ = QObject::tr("Unacked (Outstanding) Bytes (B)");
QCPErrorBarsNotSelectable::QCPErrorBarsNotSelectable(QCPAxis *keyAxis, QCPAxis *valueAxis) :
QCPErrorBars(keyAxis, valueAxis)
@@ -292,7 +295,7 @@ TCPStreamDialog::TCPStreamDialog(QWidget *parent, capture_file *cf, tcp_graph_ty
sack2_eb_->setDataPlottable(sack2_graph_);
// RWin graph - displays upper extent of RWIN advertised on reverse packets
- rwin_graph_ = sp->addGraph();
+ rwin_graph_ = sp->addGraph(sp->xAxis, sp->yAxis2);
rwin_graph_->setPen(QPen(QBrush(graph_color_3), pen_width));
rwin_graph_->setLineStyle(QCPGraph::lsStepLeft);
@@ -1579,9 +1582,18 @@ void TCPStreamDialog::fillWindowScale()
}
}
}
+ /* base_graph_ is the one that the tracer is on and allows selecting
+ * segments. XXX - Is the congestion window more interesting to see
+ * the exact value and select?
+ */
base_graph_->setData(cwnd_time, cwnd_size);
rwin_graph_->setData(rel_time, win_size);
- sp->yAxis->setLabel(window_size_label_);
+ sp->yAxis->setLabel(cwnd_label_);
+
+ sp->yAxis2->setLabel(window_size_label_);
+ sp->yAxis2->setLabelColor(QColor(graph_color_3));
+ sp->yAxis2->setTickLabelColor(QColor(graph_color_3));
+ sp->yAxis2->setVisible(true);
}
QString TCPStreamDialog::streamDescription()
diff --git a/ui/qt/utils/data_printer.cpp b/ui/qt/utils/data_printer.cpp
index a96e1ed4..3c3e910a 100644
--- a/ui/qt/utils/data_printer.cpp
+++ b/ui/qt/utils/data_printer.cpp
@@ -38,13 +38,45 @@ void DataPrinter::toClipboard(DataPrinter::DumpType type, IDataPrintable * print
// Beginning quote
clipboard_text += QString("\"");
for (int i = 0; i < printData.length(); i++) {
- /* ASCII printable */
- int ch = printData[i];
- if (ch >= 32 && ch <= 126) {
- clipboard_text += QChar(ch);
- }
- else {
- clipboard_text += QString("\\x%1").arg((uint8_t) printData[i], 2, 16, QChar('0'));
+ // backslash and double quote are printable but
+ // must be escaped in a C string.
+ char ch = printData[i];
+ switch (ch) {
+ case '\"':
+ clipboard_text += QString("\\\"");
+ break;
+ case '\\':
+ clipboard_text += QString("\\\\");
+ break;
+ case '\a':
+ clipboard_text += QString("\\a");
+ break;
+ case '\b':
+ clipboard_text += QString("\\b");
+ break;
+ case '\f':
+ clipboard_text += QString("\\f");
+ break;
+ case '\n':
+ clipboard_text += QString("\\n");
+ break;
+ case '\r':
+ clipboard_text += QString("\\r");
+ break;
+ case '\t':
+ clipboard_text += QString("\\t");
+ break;
+ case '\v':
+ clipboard_text += QString("\\v");
+ break;
+ default:
+ // ASCII printable
+ if (ch >= 32 && ch <= 126) {
+ clipboard_text += QChar(ch);
+ }
+ else {
+ clipboard_text += QString("\\%1").arg((uint8_t) printData[i], 3, 8, QChar('0'));
+ }
}
}
// End quote
@@ -57,6 +89,8 @@ void DataPrinter::toClipboard(DataPrinter::DumpType type, IDataPrintable * print
case DP_PrintableText:
for (int i = 0; i < printData.length(); i++) {
QChar ch(printData[i]);
+ // This interprets ch as Latin-1. We might want to use ASCII
+ // printable only.
if (ch.isSpace() || ch.isPrint()) {
clipboard_text += ch;
}
diff --git a/ui/qt/voip_calls_dialog.cpp b/ui/qt/voip_calls_dialog.cpp
index b8a54bd7..dd5910f8 100644
--- a/ui/qt/voip_calls_dialog.cpp
+++ b/ui/qt/voip_calls_dialog.cpp
@@ -603,7 +603,7 @@ void VoipCallsDialog::showSequence()
cur_ga_item = gxx_list_next(cur_ga_item);
}
- SequenceDialog *sequence_dialog = new SequenceDialog(parent_, cap_file_, sequence_info_);
+ SequenceDialog *sequence_dialog = new SequenceDialog(parent_, cap_file_, sequence_info_, true);
// Bypass this dialog and forward signals to parent
connect(sequence_dialog, SIGNAL(rtpStreamsDialogSelectRtpStreams(QVector<rtpstream_id_t *>)), &parent_, SLOT(rtpStreamsDialogSelectRtpStreams(QVector<rtpstream_id_t *>)));
connect(sequence_dialog, SIGNAL(rtpStreamsDialogDeselectRtpStreams(QVector<rtpstream_id_t *>)), &parent_, SLOT(rtpStreamsDialogDeselectRtpStreams(QVector<rtpstream_id_t *>)));
@@ -612,7 +612,6 @@ void VoipCallsDialog::showSequence()
connect(sequence_dialog, SIGNAL(rtpPlayerDialogRemoveRtpStreams(QVector<rtpstream_id_t *>)), &parent_, SLOT(rtpPlayerDialogRemoveRtpStreams(QVector<rtpstream_id_t *>)));
sequence_dialog->setAttribute(Qt::WA_DeleteOnClose);
- sequence_dialog->enableVoIPFeatures();
sequence_dialog->show();
}
diff --git a/ui/qt/wireshark_de.ts b/ui/qt/wireshark_de.ts
index 28d3c38b..a42e3c32 100644
--- a/ui/qt/wireshark_de.ts
+++ b/ui/qt/wireshark_de.ts
@@ -8086,6 +8086,10 @@ Um zum Beispiel eine neue Datei zu jeder vollen Stunde zu haben, 1 Stunde angebe
<translation>Window Größe (B)</translation>
</message>
<message>
+ <source>Unacked (Outstanding) Bytes (B)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<source>[no capture file]</source>
<translation>[keine Mitschnittdatei]</translation>
</message>
diff --git a/ui/qt/wireshark_en.ts b/ui/qt/wireshark_en.ts
index 2dab6ca4..4478363c 100644
--- a/ui/qt/wireshark_en.ts
+++ b/ui/qt/wireshark_en.ts
@@ -8025,6 +8025,10 @@ For example, use 1 hour to have a new file created every hour on the hour.</sour
<translation type="unfinished"></translation>
</message>
<message>
+ <source>Unacked (Outstanding) Bytes (B)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<source>[no capture file]</source>
<translation type="unfinished"></translation>
</message>
diff --git a/ui/qt/wireshark_es.ts b/ui/qt/wireshark_es.ts
index 3f5a016c..dc082029 100644
--- a/ui/qt/wireshark_es.ts
+++ b/ui/qt/wireshark_es.ts
@@ -8006,6 +8006,10 @@ Por ejemplo, use 1 hora para tener creado un nuevo archivo cada hora en punto.</
<translation type="unfinished"></translation>
</message>
<message>
+ <source>Unacked (Outstanding) Bytes (B)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<source>[no capture file]</source>
<translation>[no hay archivo de captura]</translation>
</message>
diff --git a/ui/qt/wireshark_fr.ts b/ui/qt/wireshark_fr.ts
index 29e8c5ac..7c63477f 100644
--- a/ui/qt/wireshark_fr.ts
+++ b/ui/qt/wireshark_fr.ts
@@ -8034,6 +8034,10 @@ Pas exemple, inquiquez 1 heure pour avoir un nouveau fichier créé toutes les h
<translation>Taille de fenetres (b)</translation>
</message>
<message>
+ <source>Unacked (Outstanding) Bytes (B)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<source>[no capture file]</source>
<translation>[pas de fichier de capture]</translation>
</message>
diff --git a/ui/qt/wireshark_it.ts b/ui/qt/wireshark_it.ts
index 772d32cd..18daca04 100644
--- a/ui/qt/wireshark_it.ts
+++ b/ui/qt/wireshark_it.ts
@@ -8086,6 +8086,10 @@ Ad esempio, usa 1 ora per fare in modo che un nuovo file sia creato ogni ora.</t
<translation>Dimensione della finestra (B)</translation>
</message>
<message>
+ <source>Unacked (Outstanding) Bytes (B)</source>
+ <translation>Byte senza ack (eccezionali) (B)</translation>
+ </message>
+ <message>
<source>[no capture file]</source>
<translation>[nessun file di cattura]</translation>
</message>
diff --git a/ui/qt/wireshark_ja_JP.ts b/ui/qt/wireshark_ja_JP.ts
index 0d1e1f7f..610d74df 100644
--- a/ui/qt/wireshark_ja_JP.ts
+++ b/ui/qt/wireshark_ja_JP.ts
@@ -8062,6 +8062,10 @@ For example, use 1 hour to have a new file created every hour on the hour.</sour
<translation>ウインドウサイズ(バイト)</translation>
</message>
<message>
+ <source>Unacked (Outstanding) Bytes (B)</source>
+ <translation>ACKされていない(未処理の)バイト(B)</translation>
+ </message>
+ <message>
<source>[no capture file]</source>
<translation>[キャプチャファイルなし]</translation>
</message>
diff --git a/ui/qt/wireshark_ko.ts b/ui/qt/wireshark_ko.ts
index 94c1648f..8a2f795f 100644
--- a/ui/qt/wireshark_ko.ts
+++ b/ui/qt/wireshark_ko.ts
@@ -8059,6 +8059,10 @@ For example, use 1 hour to have a new file created every hour on the hour.</sour
<translation>윈도 크기(바이트)</translation>
</message>
<message>
+ <source>Unacked (Outstanding) Bytes (B)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<source>[no capture file]</source>
<translation>[캡처 파일 없음]</translation>
</message>
diff --git a/ui/qt/wireshark_main_window_slots.cpp b/ui/qt/wireshark_main_window_slots.cpp
index 74943adc..a348bd47 100644
--- a/ui/qt/wireshark_main_window_slots.cpp
+++ b/ui/qt/wireshark_main_window_slots.cpp
@@ -2235,7 +2235,7 @@ void WiresharkMainWindow::editTimeShift()
connect(this, SIGNAL(setCaptureFile(capture_file*)),
ts_dialog, SLOT(setCaptureFile(capture_file*)));
- connect(ts_dialog, SIGNAL(timeShifted()), packet_list_, SLOT(applyTimeShift()));
+ connect(ts_dialog, &TimeShiftDialog::timeShifted, packet_list_, &PacketList::applyTimeShift, Qt::QueuedConnection);
ts_dialog->setWindowModality(Qt::ApplicationModal);
ts_dialog->setAttribute(Qt::WA_DeleteOnClose);
diff --git a/ui/qt/wireshark_pl.ts b/ui/qt/wireshark_pl.ts
index efd144dc..65abbd71 100644
--- a/ui/qt/wireshark_pl.ts
+++ b/ui/qt/wireshark_pl.ts
@@ -1262,7 +1262,7 @@
</message>
<message>
<source>Show and hide interfaces, add comments, and manage pipes and remote interfaces.</source>
- <translation>Pokaż lub ukryj interfejsy, dodaj komentarze i zarządzaj interfejsami pipe oraz zdalnymi.</translation>
+ <translation>Pokaż lub ukryj interfejsy, dodaj komentarze i zarządzaj potokami oraz zdalnymi interfejsami.</translation>
</message>
<message>
<source>Manage Interfaces…</source>
@@ -4885,7 +4885,7 @@ For example, use 1 hour to have a new file created every hour on the hour.</sour
</message>
<message>
<source>Pipe</source>
- <translation type="unfinished"></translation>
+ <translation>Potok</translation>
</message>
<message>
<source>STDIN</source>
@@ -5013,7 +5013,7 @@ For example, use 1 hour to have a new file created every hour on the hour.</sour
</message>
<message>
<source>Local Pipe Path</source>
- <translation type="unfinished"></translation>
+ <translation>Ścieżka lokalnego potoku</translation>
</message>
<message>
<source>Comment</source>
@@ -6676,19 +6676,19 @@ For example, use 1 hour to have a new file created every hour on the hour.</sour
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Add a pipe to capture from or remove an existing pipe from the list.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Dodaj lub usuń rurę z listy.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Dodaj lub usuń potok z listy.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<source>Pipes</source>
- <translation>Rury</translation>
+ <translation>Potoki</translation>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Add a new pipe using default settings.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Dodaj nową rurę używając domyślnych ustawień.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Dodaj nowy potok używając domyślnych ustawień.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Remove the selected pipe from the list.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Usuń wybraną rurę z listy.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Usuń wybrany potok z listy.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<source>Remote Interfaces</source>
@@ -6716,7 +6716,7 @@ For example, use 1 hour to have a new file created every hour on the hour.</sour
</message>
<message>
<source>This version of Wireshark does not save pipe settings.</source>
- <translation>Ta wersja Wiresharka nie obsługuje ustawień rur.</translation>
+ <translation>Ta wersja programu Wireshark nie obsługuje ustawień potoków.</translation>
</message>
<message>
<source>This version of Wireshark does not save remote settings.</source>
@@ -6728,7 +6728,7 @@ For example, use 1 hour to have a new file created every hour on the hour.</sour
</message>
<message>
<source>New Pipe</source>
- <translation>Nowa rura</translation>
+ <translation>Nowy potok</translation>
</message>
</context>
<context>
@@ -7323,7 +7323,7 @@ For example, use 1 hour to have a new file created every hour on the hour.</sour
<name>PathSelectionDelegate</name>
<message>
<source>Open a pipe</source>
- <translation type="unfinished"></translation>
+ <translation>Otwórz potok</translation>
</message>
</context>
<context>
@@ -8102,6 +8102,10 @@ For example, use 1 hour to have a new file created every hour on the hour.</sour
<translation>Rozmiar okna (B)</translation>
</message>
<message>
+ <source>Unacked (Outstanding) Bytes (B)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<source>[no capture file]</source>
<translation>[nie załadowano pliku przechytywania]</translation>
</message>
diff --git a/ui/qt/wireshark_ru.ts b/ui/qt/wireshark_ru.ts
index 20dc0e3a..870d0df6 100644
--- a/ui/qt/wireshark_ru.ts
+++ b/ui/qt/wireshark_ru.ts
@@ -8055,6 +8055,10 @@ For example, use 1 hour to have a new file created every hour on the hour.</sour
<translation>Размер окна (Б)</translation>
</message>
<message>
+ <source>Unacked (Outstanding) Bytes (B)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<source>[no capture file]</source>
<translation>[нет файла захвата]</translation>
</message>
diff --git a/ui/qt/wireshark_sv.ts b/ui/qt/wireshark_sv.ts
index abe7fef8..d9936d05 100644
--- a/ui/qt/wireshark_sv.ts
+++ b/ui/qt/wireshark_sv.ts
@@ -8035,6 +8035,10 @@ Till exempel, använd 1 timma för att en ny fil skall skapas varje timma vid he
<translation>Fönsterstorlek (B)</translation>
</message>
<message>
+ <source>Unacked (Outstanding) Bytes (B)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<source>[no capture file]</source>
<translation>[ingen fångstfil]</translation>
</message>
diff --git a/ui/qt/wireshark_tr_TR.ts b/ui/qt/wireshark_tr_TR.ts
index 06f0cafa..1328942d 100644
--- a/ui/qt/wireshark_tr_TR.ts
+++ b/ui/qt/wireshark_tr_TR.ts
@@ -8015,6 +8015,10 @@ For example, use 1 hour to have a new file created every hour on the hour.</sour
<translation>Pencere Boyutu (B)</translation>
</message>
<message>
+ <source>Unacked (Outstanding) Bytes (B)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<source>[no capture file]</source>
<translation>[yakalama dosyası yok]</translation>
</message>
diff --git a/ui/qt/wireshark_uk.ts b/ui/qt/wireshark_uk.ts
index 12517ff4..4720152d 100644
--- a/ui/qt/wireshark_uk.ts
+++ b/ui/qt/wireshark_uk.ts
@@ -7996,6 +7996,10 @@ For example, use 1 hour to have a new file created every hour on the hour.</sour
<translation>Розмір Вікна (Б)</translation>
</message>
<message>
+ <source>Unacked (Outstanding) Bytes (B)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<source>[no capture file]</source>
<translation type="unfinished"></translation>
</message>
diff --git a/ui/qt/wireshark_zh_CN.ts b/ui/qt/wireshark_zh_CN.ts
index 38dfcbbd..13b953b6 100644
--- a/ui/qt/wireshark_zh_CN.ts
+++ b/ui/qt/wireshark_zh_CN.ts
@@ -8010,6 +8010,10 @@ For example, use 1 hour to have a new file created every hour on the hour.</sour
<translation>窗口大小 (B)</translation>
</message>
<message>
+ <source>Unacked (Outstanding) Bytes (B)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<source>[no capture file]</source>
<translation>[无捕获文件]</translation>
</message>
diff --git a/ui/win32/file_dlg_win32.cpp b/ui/win32/file_dlg_win32.cpp
index a301912e..6261c915 100644
--- a/ui/win32/file_dlg_win32.cpp
+++ b/ui/win32/file_dlg_win32.cpp
@@ -1383,7 +1383,8 @@ range_update_dynamics(HWND dlg_hwnd, packet_range_t *range) {
bool filtered_active = false;
TCHAR static_val[STATIC_LABEL_CHARS];
uint32_t ignored_cnt = 0, displayed_ignored_cnt = 0;
- uint32_t displayed_cnt;
+ uint32_t depended_cnt = 0, displayed_depended_cnt = 0;
+ uint32_t label_cnt;
bool range_valid = true;
cur_ctrl = GetDlgItem(dlg_hwnd, EWFD_DISPLAYED_BTN);
@@ -1393,43 +1394,50 @@ range_update_dynamics(HWND dlg_hwnd, packet_range_t *range) {
/* RANGE_SELECT_ALL */
cur_ctrl = GetDlgItem(dlg_hwnd, EWFD_ALL_PKTS_CAP);
EnableWindow(cur_ctrl, !filtered_active);
+ label_cnt = g_cf->count;
if (range->remove_ignored) {
- StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%u"), g_cf->count - range->ignored_cnt);
- } else {
- StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%u"), g_cf->count);
+ label_cnt -= range->ignored_cnt;
}
+ StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%u"), label_cnt);
SetWindowText(cur_ctrl, static_val);
cur_ctrl = GetDlgItem(dlg_hwnd, EWFD_ALL_PKTS_DISP);
EnableWindow(cur_ctrl, filtered_active);
if (range->include_dependents)
- displayed_cnt = range->displayed_plus_dependents_cnt;
+ label_cnt = range->displayed_plus_dependents_cnt;
else
- displayed_cnt = range->displayed_cnt;
+ label_cnt = range->displayed_cnt;
if (range->remove_ignored) {
- StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%u"), displayed_cnt - range->displayed_ignored_cnt);
- } else {
- StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%u"), displayed_cnt);
+ label_cnt -= range->displayed_ignored_cnt;
}
+ StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%u"), label_cnt);
SetWindowText(cur_ctrl, static_val);
/* RANGE_SELECT_CURR */
cur_ctrl = GetDlgItem(dlg_hwnd, EWFD_SEL_PKT_CAP);
EnableWindow(cur_ctrl, range->selection_range_cnt > 0 && !filtered_active);
- if (range->remove_ignored) {
- StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%d"), range->selection_range_cnt - range->ignored_selection_range_cnt);
+ if (range->include_dependents) {
+ label_cnt = range->selected_plus_depends_cnt;
} else {
- StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%d"), range->selection_range_cnt);
+ label_cnt = range->selection_range_cnt;
}
+ if (range->remove_ignored) {
+ label_cnt -= range->ignored_selection_range_cnt;
+ }
+ StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%d"), label_cnt);
SetWindowText(cur_ctrl, static_val);
cur_ctrl = GetDlgItem(dlg_hwnd, EWFD_SEL_PKT_DISP);
EnableWindow(cur_ctrl, range->displayed_selection_range_cnt > 0 && filtered_active);
- if (range->remove_ignored) {
- StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%d"), range->displayed_selection_range_cnt - range->displayed_ignored_selection_range_cnt);
+ if (range->include_dependents) {
+ label_cnt = range->displayed_selected_plus_depends_cnt;
} else {
- StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%d"), range->displayed_selection_range_cnt);
+ label_cnt = range->displayed_selection_range_cnt;
+ }
+ if (range->remove_ignored) {
+ label_cnt -= range->displayed_ignored_selection_range_cnt;
}
+ StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%d"), label_cnt);
SetWindowText(cur_ctrl, static_val);
/* RANGE_SELECT_MARKED */
@@ -1438,20 +1446,28 @@ range_update_dynamics(HWND dlg_hwnd, packet_range_t *range) {
cur_ctrl = GetDlgItem(dlg_hwnd, EWFD_MARKED_CAP);
EnableWindow(cur_ctrl, g_cf->marked_count && !filtered_active);
- if (range->remove_ignored) {
- StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%u"), g_cf->marked_count - range->ignored_marked_cnt);
+ if (range->include_dependents) {
+ label_cnt = range->marked_plus_depends_cnt;
} else {
- StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%u"), g_cf->marked_count);
+ label_cnt = g_cf->marked_count;
+ }
+ if (range->remove_ignored) {
+ label_cnt -= range->ignored_marked_cnt;
}
+ StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%d"), label_cnt);
SetWindowText(cur_ctrl, static_val);
cur_ctrl = GetDlgItem(dlg_hwnd, EWFD_MARKED_DISP);
EnableWindow(cur_ctrl, g_cf->marked_count && filtered_active);
- if (range->remove_ignored) {
- StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%u"), range->displayed_marked_cnt - range->displayed_ignored_marked_cnt);
+ if (range->include_dependents) {
+ label_cnt = range->displayed_marked_plus_depends_cnt;
} else {
- StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%u"), range->displayed_marked_cnt);
+ label_cnt = range->displayed_marked_cnt;
+ }
+ if (range->remove_ignored) {
+ label_cnt -= range->displayed_ignored_marked_cnt;
}
+ StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%d"), label_cnt);
SetWindowText(cur_ctrl, static_val);
/* RANGE_SELECT_MARKED_RANGE */
@@ -1460,20 +1476,28 @@ range_update_dynamics(HWND dlg_hwnd, packet_range_t *range) {
cur_ctrl = GetDlgItem(dlg_hwnd, EWFD_FIRST_LAST_CAP);
EnableWindow(cur_ctrl, range->mark_range_cnt && !filtered_active);
- if (range->remove_ignored) {
- StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%u"), range->mark_range_cnt - range->ignored_mark_range_cnt);
+ if (range->include_dependents) {
+ label_cnt = range->mark_range_plus_depends_cnt;
} else {
- StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%u"), range->mark_range_cnt);
+ label_cnt = range->mark_range_cnt;
+ }
+ if (range->remove_ignored) {
+ label_cnt -= range->ignored_mark_range_cnt;
}
+ StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%d"), label_cnt);
SetWindowText(cur_ctrl, static_val);
cur_ctrl = GetDlgItem(dlg_hwnd, EWFD_FIRST_LAST_DISP);
EnableWindow(cur_ctrl, range->displayed_mark_range_cnt && filtered_active);
- if (range->remove_ignored) {
- StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%u"), range->displayed_mark_range_cnt - range->displayed_ignored_mark_range_cnt);
+ if (range->include_dependents) {
+ label_cnt = range->displayed_mark_range_plus_depends_cnt;
} else {
- StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%u"), range->displayed_mark_range_cnt);
+ label_cnt = range->displayed_mark_range_cnt;
}
+ if (range->remove_ignored) {
+ label_cnt -= range->displayed_ignored_mark_range_cnt;
+ }
+ StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%d"), label_cnt);
SetWindowText(cur_ctrl, static_val);
/* RANGE_SELECT_USER */
@@ -1484,20 +1508,29 @@ range_update_dynamics(HWND dlg_hwnd, packet_range_t *range) {
cur_ctrl = GetDlgItem(dlg_hwnd, EWFD_RANGE_CAP);
EnableWindow(cur_ctrl, !filtered_active);
- if (range->remove_ignored) {
- StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%u"), range->user_range_cnt - range->ignored_user_range_cnt);
+ if (range->include_dependents) {
+ label_cnt = range->user_range_plus_depends_cnt;
} else {
- StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%u"), range->user_range_cnt);
+ label_cnt = range->user_range_cnt;
}
+ if (range->remove_ignored) {
+ label_cnt -= range->ignored_user_range_cnt;
+ }
+ StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%d"), label_cnt);
SetWindowText(cur_ctrl, static_val);
cur_ctrl = GetDlgItem(dlg_hwnd, EWFD_RANGE_DISP);
EnableWindow(cur_ctrl, filtered_active);
+ if (range->include_dependents) {
+ label_cnt = range->displayed_user_range_plus_depends_cnt;
+ } else {
+ label_cnt = range->displayed_user_range_cnt;
+ }
if (range->remove_ignored) {
- StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%u"), range->displayed_user_range_cnt - range->displayed_ignored_user_range_cnt);
+ label_cnt -= range->displayed_ignored_user_range_cnt;
} else {
- StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%u"), range->displayed_user_range_cnt);
}
+ StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%u"), label_cnt);
SetWindowText(cur_ctrl, static_val);
break;
case CVT_SYNTAX_ERROR:
@@ -1562,6 +1595,49 @@ range_update_dynamics(HWND dlg_hwnd, packet_range_t *range) {
StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%u"), displayed_ignored_cnt);
SetWindowText(cur_ctrl, static_val);
+ /* RANGE_REMOVE_IGNORED_PACKETS */
+ switch(range->process) {
+ case(range_process_all):
+ depended_cnt = 0;
+ displayed_depended_cnt = range->displayed_plus_dependents_cnt - range->displayed_cnt;
+ break;
+ case(range_process_selected):
+ depended_cnt = range->selected_plus_depends_cnt - range->selection_range_cnt;
+ displayed_depended_cnt = range->displayed_selected_plus_depends_cnt - range->displayed_selection_range_cnt;
+ break;
+ case(range_process_marked):
+ depended_cnt = range->marked_plus_depends_cnt - range->cf->marked_count;
+ displayed_depended_cnt = range->displayed_marked_plus_depends_cnt - range->displayed_marked_cnt;
+ break;
+ case(range_process_marked_range):
+ depended_cnt = range->mark_range_plus_depends_cnt - range->mark_range_cnt;
+ displayed_depended_cnt = range->displayed_mark_range_plus_depends_cnt - range->displayed_mark_range_cnt;
+ break;
+ case(range_process_user_range):
+ depended_cnt = range->user_range_plus_depends_cnt - range->user_range_cnt;
+ displayed_depended_cnt = range->displayed_user_range_plus_depends_cnt - range->displayed_user_range_cnt;
+ break;
+ default:
+ ws_assert_not_reached();
+ }
+
+ cur_ctrl = GetDlgItem(dlg_hwnd, EWFD_INCLUDE_DPD_CB);
+ if (filtered_active) {
+ EnableWindow(cur_ctrl, displayed_depended_cnt);
+ } else {
+ EnableWindow(cur_ctrl, depended_cnt);
+ }
+
+ cur_ctrl = GetDlgItem(dlg_hwnd, EWFD_DEPENDED_CAP);
+ EnableWindow(cur_ctrl, depended_cnt && !filtered_active);
+ StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%u"), depended_cnt);
+ SetWindowText(cur_ctrl, static_val);
+
+ cur_ctrl = GetDlgItem(dlg_hwnd, EWFD_DEPENDED_DISP);
+ EnableWindow(cur_ctrl, displayed_depended_cnt && filtered_active);
+ StringCchPrintf(static_val, STATIC_LABEL_CHARS, _T("%u"), displayed_depended_cnt);
+ SetWindowText(cur_ctrl, static_val);
+
cur_ctrl = GetDlgItem(GetParent(dlg_hwnd), IDOK);
EnableWindow(cur_ctrl, range_valid);
}
@@ -1610,6 +1686,10 @@ range_handle_wm_initdialog(HWND dlg_hwnd, packet_range_t *range) {
ws_assert_not_reached();
}
SendMessage(cur_ctrl, BM_SETCHECK, true, 0);
+
+ /* Set the include depended upon checkbox */
+ cur_ctrl = GetDlgItem(dlg_hwnd, EWFD_INCLUDE_DPD_CB);
+ SendMessage(cur_ctrl, BM_SETCHECK, range->include_dependents, 0);
}
static void
@@ -1678,6 +1758,14 @@ range_handle_wm_command(HWND dlg_hwnd, HWND ctrl, WPARAM w_param, packet_range_t
}
range_update_dynamics(dlg_hwnd, range);
break;
+ case (BN_CLICKED << 16) | EWFD_INCLUDE_DPD_CB:
+ if (SendMessage(ctrl, BM_GETCHECK, 0, 0) == BST_CHECKED) {
+ range->include_dependents = true;
+ } else {
+ range->include_dependents = false;
+ }
+ range_update_dynamics(dlg_hwnd, range);
+ break;
}
}
diff --git a/ui/win32/file_dlg_win32.h b/ui/win32/file_dlg_win32.h
index 0edee0bb..2bb2fb4d 100644
--- a/ui/win32/file_dlg_win32.h
+++ b/ui/win32/file_dlg_win32.h
@@ -142,20 +142,23 @@ void win32_export_file (HWND h_wnd, const wchar_t *title, capture_file *cf, expo
#define EWFD_RANGE_BTN 1006
#define EWFD_RANGE_EDIT 1007
#define EWFD_REMOVE_IGN_CB 1008
-
-#define EWFD_ALL_PKTS_CAP 1009
-#define EWFD_SEL_PKT_CAP 1010
-#define EWFD_MARKED_CAP 1011
-#define EWFD_FIRST_LAST_CAP 1012
-#define EWFD_RANGE_CAP 1013
-#define EWFD_IGNORED_CAP 1014
-
-#define EWFD_ALL_PKTS_DISP 1015
-#define EWFD_SEL_PKT_DISP 1016
-#define EWFD_MARKED_DISP 1017
-#define EWFD_FIRST_LAST_DISP 1018
-#define EWFD_RANGE_DISP 1019
-#define EWFD_IGNORED_DISP 1020
+#define EWFD_INCLUDE_DPD_CB 1009
+
+#define EWFD_ALL_PKTS_CAP 1010
+#define EWFD_SEL_PKT_CAP 1011
+#define EWFD_MARKED_CAP 1012
+#define EWFD_FIRST_LAST_CAP 1013
+#define EWFD_RANGE_CAP 1014
+#define EWFD_IGNORED_CAP 1015
+#define EWFD_DEPENDED_CAP 1016
+
+#define EWFD_ALL_PKTS_DISP 1017
+#define EWFD_SEL_PKT_DISP 1018
+#define EWFD_MARKED_DISP 1019
+#define EWFD_FIRST_LAST_DISP 1020
+#define EWFD_RANGE_DISP 1021
+#define EWFD_IGNORED_DISP 1022
+#define EWFD_DEPENDED_DISP 1023
/* Merge dialog defines. Overlays Open dialog defines above. */
#define EWFD_MERGE_PREPEND_BTN 1050
diff --git a/wiretap/CMakeLists.txt b/wiretap/CMakeLists.txt
index f267c647..fe5ef693 100644
--- a/wiretap/CMakeLists.txt
+++ b/wiretap/CMakeLists.txt
@@ -175,7 +175,7 @@ set_target_properties(wiretap PROPERTIES
PREFIX "lib"
COMPILE_DEFINITIONS "WS_BUILD_DLL"
LINK_FLAGS "${WS_LINK_FLAGS}"
- VERSION "14.1.4" SOVERSION 14
+ VERSION "14.1.5" SOVERSION 14
FOLDER "DLLs"
INSTALL_RPATH "${LIBRARY_INSTALL_RPATH}"
)
diff --git a/wiretap/blf.c b/wiretap/blf.c
index 9c08c5ec..176db32f 100644
--- a/wiretap/blf.c
+++ b/wiretap/blf.c
@@ -5,7 +5,7 @@
*
* File format support for the Binary Log File (BLF) file format from
* Vector Informatik decoder
- * Copyright (c) 2021-2022 by Dr. Lars Voelker <lars.voelker@technica-engineering.de>
+ * Copyright (c) 2021-2024 by Dr. Lars Voelker <lars.voelker@technica-engineering.de>
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
@@ -420,15 +420,11 @@ fix_endianness_blf_flexrayrcvmessage(blf_flexrayrcvmessage_t *header) {
}
static void
-fix_endianness_blf_linmessage(blf_linmessage_t *header) {
- header->channel = GUINT16_FROM_LE(header->channel);
-}
-
-static void
-fix_endianness_blf_linmessage_trailer(blf_linmessage_trailer_t *header) {
- header->crc = GUINT16_FROM_LE(header->crc);
+fix_endianness_blf_linmessage(blf_linmessage_t* message) {
+ message->channel = GUINT16_FROM_LE(message->channel);
+ message->crc = GUINT16_FROM_LE(message->crc);
/* skip the optional part
- header->res2 = GUINT32_FROM_LE(header->res2);
+ message->res2 = GUINT32_FROM_LE(message->res2);
*/
}
@@ -877,14 +873,11 @@ blf_read_bytes(blf_params_t *params, guint64 real_pos, void *target_buffer, unsi
/* this is only called once on open to figure out the layout of the file */
static gboolean
-blf_scan_file_for_logcontainers(blf_params_t *params) {
+blf_scan_file_for_logcontainers(blf_params_t *params, int *err, gchar **err_info) {
blf_blockheader_t header;
blf_logcontainerheader_t logcontainer_header;
blf_log_container_t tmp;
- int err;
- gchar *err_info;
-
guint64 current_start_pos;
guint64 current_real_start = 0;
@@ -893,15 +886,16 @@ blf_scan_file_for_logcontainers(blf_params_t *params) {
/* Find Object */
while (1) {
- if (!wtap_read_bytes_or_eof(params->fh, &header, sizeof header, &err, &err_info)) {
+ if (!wtap_read_bytes_or_eof(params->fh, &header, sizeof header, err, err_info)) {
ws_debug("we found end of file");
/* lets ignore some bytes at the end since some implementations think it is ok to add a few zero bytes */
- if (err == WTAP_ERR_SHORT_READ) {
- err = 0;
+ if (*err == WTAP_ERR_SHORT_READ) {
+ *err = 0;
}
- return TRUE;
+ /* Either succeed on an EOF or fail. */
+ return *err == 0;
}
fix_endianness_blf_blockheader(&header);
@@ -912,36 +906,53 @@ blf_scan_file_for_logcontainers(blf_params_t *params) {
break;
}
- /* we are moving back and try again but 1 byte later */
- /* TODO: better understand how this paddings works... */
+ /*
+ * we are moving back and try again but 1 byte later
+ * TODO: better understand how this paddings works...
+ * Note that, in at least one capture - the Example.blf
+ * file attached to
+ * https://gitlab.com/wireshark/wireshark/-/issues/19269 -
+ * one of the log container objects is aligned on a 2-byte
+ * bundary but *not* on a 4-byte boundary, with 3 bytes
+ * of padding.
+ */
current_start_pos++;
- if (file_seek(params->fh, current_start_pos, SEEK_SET, &err) < 0) {
+ if (file_seek(params->fh, current_start_pos, SEEK_SET, err) < 0) {
return FALSE;
}
}
+ if (header.header_length < sizeof(blf_blockheader_t)) {
+ *err = WTAP_ERR_BAD_FILE;
+ *err_info = ws_strdup("blf: log container header length too short");
+ return FALSE;
+ }
+
if (header.header_type != BLF_HEADER_TYPE_DEFAULT) {
- ws_debug("unknown header type, I know only BLF_HEADER_TYPE_DEFAULT (1)");
+ *err = WTAP_ERR_UNSUPPORTED;
+ *err_info = ws_strdup_printf("blf: unknown header type (%u), I know only BLF_HEADER_TYPE_DEFAULT (1)", header.header_type);
+ return FALSE;
+ }
+
+ if (header.object_length < header.header_length) {
+ *err = WTAP_ERR_BAD_FILE;
+ *err_info = ws_strdup("blf: log container header object length less than log container header length");
return FALSE;
}
switch (header.object_type) {
case BLF_OBJTYPE_LOG_CONTAINER:
- if (header.header_length < sizeof(blf_blockheader_t)) {
- ws_debug("log container header length too short");
- return FALSE;
- }
-
/* skip unknown header part if needed */
if (header.header_length - sizeof(blf_blockheader_t) > 0) {
/* seek over unknown header part */
- if (file_seek(params->fh, current_start_pos + header.header_length, SEEK_SET, &err) < 0) {
+ if (file_seek(params->fh, current_start_pos + header.header_length, SEEK_SET, err) < 0) {
ws_debug("cannot seek file for skipping unknown header bytes in log container");
return FALSE;
}
}
- if (!wtap_read_bytes_or_eof(params->fh, &logcontainer_header, sizeof(blf_logcontainerheader_t), &err, &err_info)) {
+ /* Read the log container header */
+ if (!wtap_read_bytes_or_eof(params->fh, &logcontainer_header, sizeof(blf_logcontainerheader_t), err, err_info)) {
ws_debug("not enough bytes for log container header");
return FALSE;
}
@@ -961,7 +972,7 @@ blf_scan_file_for_logcontainers(blf_params_t *params) {
/* set up next start position */
current_real_start += logcontainer_header.uncompressed_size;
- if (file_seek(params->fh, current_start_pos + MAX(MAX(16, header.object_length), header.header_length), SEEK_SET, &err) < 0) {
+ if (file_seek(params->fh, current_start_pos + MAX(MAX(16, header.object_length), header.header_length), SEEK_SET, err) < 0) {
ws_debug("cannot seek file for skipping log container bytes");
return FALSE;
}
@@ -973,7 +984,7 @@ blf_scan_file_for_logcontainers(blf_params_t *params) {
ws_debug("we found a non BLF log container on top level. this is unexpected.");
/* TODO: maybe create "fake Log Container" for this */
- if (file_seek(params->fh, current_start_pos + MAX(MAX(16, header.object_length), header.header_length), SEEK_SET, &err) < 0) {
+ if (file_seek(params->fh, current_start_pos + MAX(MAX(16, header.object_length), header.header_length), SEEK_SET, err) < 0) {
return FALSE;
}
}
@@ -1261,7 +1272,7 @@ static guint8 canfd_dlc_to_length[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 12, 16, 20, 2
static gboolean
blf_can_fill_buf_and_rec(blf_params_t *params, int *err, gchar **err_info, guint32 canid, guint8 payload_length, guint8 payload_length_valid, guint64 start_position,
- guint32 flags, guint64 object_timestamp, guint16 channel) {
+ guint32 flags, guint64 object_timestamp, guint16 channel, guint8 canfd_flags) {
guint8 tmpbuf[8];
guint caplen, len;
@@ -1270,7 +1281,7 @@ blf_can_fill_buf_and_rec(blf_params_t *params, int *err, gchar **err_info, guint
tmpbuf[2] = (canid & 0x0000ff00) >> 8;
tmpbuf[3] = (canid & 0x000000ff);
tmpbuf[4] = payload_length;
- tmpbuf[5] = 0;
+ tmpbuf[5] = canfd_flags;
tmpbuf[6] = 0;
tmpbuf[7] = 0;
@@ -1327,7 +1338,7 @@ blf_read_canmessage(blf_params_t *params, int *err, gchar **err_info, gint64 blo
payload_length = 0;
}
- if (!blf_can_fill_buf_and_rec(params, err, err_info, canid, payload_length, payload_length, data_start + sizeof(canheader), flags, object_timestamp, canheader.channel)) {
+ if (!blf_can_fill_buf_and_rec(params, err, err_info, canid, payload_length, payload_length, data_start + sizeof(canheader), flags, object_timestamp, canheader.channel, 0)) {
return FALSE;
}
@@ -1359,6 +1370,7 @@ blf_read_canfdmessage(blf_params_t *params, int *err, gchar **err_info, gint64 b
guint32 canid;
guint8 payload_length;
guint8 payload_length_valid;
+ guint8 canfd_flags;
if (object_length < (data_start - block_start) + (int) sizeof(canheader)) {
*err = WTAP_ERR_BAD_FILE;
@@ -1378,11 +1390,13 @@ blf_read_canfdmessage(blf_params_t *params, int *err, gchar **err_info, gint64 b
canfd = (canheader.canfdflags & BLF_CANFDMESSAGE_CANFDFLAG_EDL) == BLF_CANFDMESSAGE_CANFDFLAG_EDL;
if (canfd) {
payload_length = canfd_dlc_to_length[canheader.dlc];
+ canfd_flags = (canheader.canfdflags & BLF_CANFDMESSAGE_CANFDFLAG_EDL) << 2 | (canheader.canfdflags & BLF_CANFDMESSAGE_CANFDFLAG_ESI) >> 1 | (canheader.canfdflags & BLF_CANFDMESSAGE_CANFDFLAG_BRS) >> 1;
} else {
if (canheader.dlc > 8) {
ws_debug("regular CAN tries more than 8 bytes?");
}
payload_length = can_dlc_to_length[canheader.dlc];
+ canfd_flags = 0;
}
if (payload_length > canheader.validDataBytes) {
@@ -1404,7 +1418,7 @@ blf_read_canfdmessage(blf_params_t *params, int *err, gchar **err_info, gint64 b
payload_length_valid = (guint8)(object_length - (data_start - block_start));
}
- if (!blf_can_fill_buf_and_rec(params, err, err_info, canid, payload_length, payload_length_valid, data_start + sizeof(canheader), flags, object_timestamp, canheader.channel)) {
+ if (!blf_can_fill_buf_and_rec(params, err, err_info, canid, payload_length, payload_length_valid, data_start + sizeof(canheader), flags, object_timestamp, canheader.channel, canfd_flags)) {
return FALSE;
}
@@ -1421,6 +1435,7 @@ blf_read_canfdmessage64(blf_params_t *params, int *err, gchar **err_info, gint64
guint32 canid;
guint8 payload_length;
guint8 payload_length_valid;
+ guint8 canfd_flags;
if (object_length < (data_start - block_start) + (int) sizeof(canheader)) {
*err = WTAP_ERR_BAD_FILE;
@@ -1440,11 +1455,13 @@ blf_read_canfdmessage64(blf_params_t *params, int *err, gchar **err_info, gint64
canfd = (canheader.flags & BLF_CANFDMESSAGE64_FLAG_EDL) == BLF_CANFDMESSAGE64_FLAG_EDL;
if (canfd) {
payload_length = canfd_dlc_to_length[canheader.dlc];
+ canfd_flags = (canheader.flags & BLF_CANFDMESSAGE64_FLAG_EDL) >> 10 | (canheader.flags & BLF_CANFDMESSAGE64_FLAG_ESI) >> 13 | (canheader.flags & BLF_CANFDMESSAGE64_FLAG_BRS) >> 13;
} else {
if (canheader.dlc > 8) {
ws_debug("regular CAN tries more than 8 bytes?");
}
payload_length = can_dlc_to_length[canheader.dlc];
+ canfd_flags = 0;
}
if (payload_length > canheader.validDataBytes) {
@@ -1466,7 +1483,7 @@ blf_read_canfdmessage64(blf_params_t *params, int *err, gchar **err_info, gint64
payload_length_valid = (guint8)(object_length - (data_start - block_start));
}
- if (!blf_can_fill_buf_and_rec(params, err, err_info, canid, payload_length, payload_length_valid, data_start + sizeof(canheader), flags, object_timestamp, canheader.channel)) {
+ if (!blf_can_fill_buf_and_rec(params, err, err_info, canid, payload_length, payload_length_valid, data_start + sizeof(canheader), flags, object_timestamp, canheader.channel, canfd_flags)) {
return FALSE;
}
@@ -1680,6 +1697,7 @@ blf_read_canfderror64(blf_params_t *params, int *err, gchar **err_info, gint64 b
tmpbuf[2] = (canid & 0x0000ff00) >> 8;
tmpbuf[3] = (canid & 0x000000ff);
tmpbuf[4] = payload_length;
+ // Don't set FDF, ESI and BRS flags, since error messages are always encapsulated in Classic CAN frames
ws_buffer_assure_space(params->buf, sizeof(tmpbuf));
ws_buffer_append(params->buf, tmpbuf, sizeof(tmpbuf));
@@ -1911,20 +1929,20 @@ blf_read_flexrayrcvmessageex(blf_params_t *params, int *err, gchar **err_info, g
/* Frame Header */
tmpbuf[2] = ((0x0700 & frheader.frameId) >> 8);
- if ((frheader.data & BLF_FLEXRAYRCVMSG_DATA_FLAG_PAYLOAD_PREAM) == BLF_FLEXRAYRCVMSG_DATA_FLAG_PAYLOAD_PREAM) {
+ if ((frheader.frameFlags & BLF_FLEXRAYRCVMSG_FRAME_FLAG_PAYLOAD_PREAM) == BLF_FLEXRAYRCVMSG_FRAME_FLAG_PAYLOAD_PREAM) {
tmpbuf[2] |= BLF_DLT_FLEXRAY_PPI;
}
- if ((frheader.data & BLF_FLEXRAYRCVMSG_DATA_FLAG_SYNC) == BLF_FLEXRAYRCVMSG_DATA_FLAG_SYNC) {
+ if ((frheader.frameFlags & BLF_FLEXRAYRCVMSG_FRAME_FLAG_SYNC) == BLF_FLEXRAYRCVMSG_FRAME_FLAG_SYNC) {
tmpbuf[2] |= BLF_DLT_FLEXRAY_SFI;
}
- if ((frheader.data & BLF_FLEXRAYRCVMSG_DATA_FLAG_NULL_FRAME) != BLF_FLEXRAYRCVMSG_DATA_FLAG_NULL_FRAME) {
+ if ((frheader.frameFlags & BLF_FLEXRAYRCVMSG_FRAME_FLAG_NULL_FRAME) != BLF_FLEXRAYRCVMSG_FRAME_FLAG_NULL_FRAME) {
/* NFI needs to be inversed !? */
tmpbuf[2] |= BLF_DLT_FLEXRAY_NFI;
}
- if ((frheader.data & BLF_FLEXRAYRCVMSG_DATA_FLAG_STARTUP) == BLF_FLEXRAYRCVMSG_DATA_FLAG_STARTUP) {
+ if ((frheader.frameFlags & BLF_FLEXRAYRCVMSG_FRAME_FLAG_STARTUP) == BLF_FLEXRAYRCVMSG_FRAME_FLAG_STARTUP) {
tmpbuf[2] |= BLF_DLT_FLEXRAY_STFI;
}
@@ -1951,75 +1969,47 @@ blf_read_flexrayrcvmessageex(blf_params_t *params, int *err, gchar **err_info, g
}
static gboolean
-blf_read_linmessage(blf_params_t *params, int *err, gchar **err_info, gint64 block_start, gint64 data_start, gint64 object_length, guint32 flags, guint64 object_timestamp) {
- blf_linmessage_t linheader;
- blf_linmessage_trailer_t lintrailer;
+blf_read_linmessage(blf_params_t* params, int* err, gchar** err_info, gint64 block_start, gint64 data_start, gint64 object_length, guint32 flags, guint64 object_timestamp) {
+ blf_linmessage_t linmessage;
guint8 payload_length;
- guint8 payload_length_valid;
- guint caplen, len;
+ guint len;
- if (object_length < (data_start - block_start) + (int)sizeof(linheader)) {
+ if (object_length < (data_start - block_start) + (int)sizeof(linmessage)) {
*err = WTAP_ERR_BAD_FILE;
- *err_info = ws_strdup_printf("blf: LIN_MESSAGE: not enough bytes for linmessage header in object");
- ws_debug("not enough bytes for linmessage header in object");
+ *err_info = ws_strdup_printf("blf: LIN_MESSAGE: not enough bytes for linmessage in object");
+ ws_debug("not enough bytes for linmessage in object");
return FALSE;
}
- if (!blf_read_bytes(params, data_start, &linheader, sizeof(linheader), err, err_info)) {
- ws_debug("not enough bytes for linmessage header in file");
+ if (!blf_read_bytes(params, data_start, &linmessage, sizeof(linmessage), err, err_info)) {
+ ws_debug("not enough bytes for linmessage in file");
return FALSE;
}
- fix_endianness_blf_linmessage(&linheader);
+ fix_endianness_blf_linmessage(&linmessage);
- if (linheader.dlc > 15) {
- linheader.dlc = 15;
- }
-
- payload_length = linheader.dlc;
- payload_length_valid = payload_length;
+ linmessage.dlc &= 0x0f;
+ linmessage.id &= 0x3f;
- if (payload_length_valid > object_length - (data_start - block_start)) {
- ws_debug("shortening LIN payload because buffer is too short!");
- payload_length_valid = (guint8)(object_length - (data_start - block_start));
- }
+ payload_length = MIN(linmessage.dlc, 8);
guint8 tmpbuf[8];
tmpbuf[0] = 1; /* message format rev = 1 */
tmpbuf[1] = 0; /* reserved */
tmpbuf[2] = 0; /* reserved */
tmpbuf[3] = 0; /* reserved */
- tmpbuf[4] = (linheader.dlc << 4) | 0; /* dlc (4bit) | type (2bit) | checksum type (2bit) */
- tmpbuf[5] = linheader.id;
- tmpbuf[6] = 0; /* checksum */
+ tmpbuf[4] = (linmessage.dlc << 4) | 0; /* dlc (4bit) | type (2bit) | checksum type (2bit) */
+ tmpbuf[5] = linmessage.id; /* parity (2bit) | id (6bit) */
+ tmpbuf[6] = (guint8)(linmessage.crc & 0xff); /* checksum */
tmpbuf[7] = 0; /* errors */
- ws_buffer_assure_space(params->buf, sizeof(tmpbuf) + payload_length_valid);
+ ws_buffer_assure_space(params->buf, sizeof(tmpbuf) + payload_length);
ws_buffer_append(params->buf, tmpbuf, sizeof(tmpbuf));
- caplen = sizeof(tmpbuf) + payload_length_valid;
+ ws_buffer_append(params->buf, linmessage.data, payload_length);
len = sizeof(tmpbuf) + payload_length;
- if (payload_length_valid > 0 && !blf_read_bytes(params, data_start + 4, ws_buffer_end_ptr(params->buf), payload_length_valid, err, err_info)) {
- ws_debug("copying can payload failed");
- return FALSE;
- }
- params->buf->first_free += payload_length_valid;
-
- if (object_length < (data_start - block_start) + (int)sizeof(linheader) + payload_length_valid + (int)sizeof(lintrailer)) {
- *err = WTAP_ERR_BAD_FILE;
- *err_info = ws_strdup_printf("blf: LIN_MESSAGE: not enough bytes for linmessage trailer");
- ws_debug("not enough bytes for linmessage trailer");
- return FALSE;
- }
- if (!blf_read_bytes(params, data_start + sizeof(linheader) + payload_length_valid, &lintrailer, sizeof(lintrailer), err, err_info)) {
- ws_debug("not enough bytes for linmessage trailer in file");
- return FALSE;
- }
- fix_endianness_blf_linmessage_trailer(&lintrailer);
- /* we are not using it right now since the CRC is too big to convert */
-
- blf_init_rec(params, flags, object_timestamp, WTAP_ENCAP_LIN, linheader.channel, UINT16_MAX, caplen, len);
- blf_add_direction_option(params, lintrailer.dir);
+ blf_init_rec(params, flags, object_timestamp, WTAP_ENCAP_LIN, linmessage.channel, UINT16_MAX, len, len);
+ blf_add_direction_option(params, linmessage.dir);
return TRUE;
}
@@ -2404,9 +2394,7 @@ static gboolean blf_seek_read(wtap *wth, gint64 seek_off, wtap_rec *rec, Buffer
return TRUE;
}
-static void blf_close(wtap *wth) {
- blf_t *blf = (blf_t *)wth->priv;
-
+static void blf_free(blf_t *blf) {
if (blf != NULL && blf->log_containers != NULL) {
for (guint i = 0; i < blf->log_containers->len; i++) {
blf_log_container_t *log_container = &g_array_index(blf->log_containers, blf_log_container_t, i);
@@ -2422,10 +2410,12 @@ static void blf_close(wtap *wth) {
g_hash_table_destroy(blf->channel_to_iface_ht);
blf->channel_to_iface_ht = NULL;
}
+}
- /* TODO: do we need to reverse the wtap_add_idb? how? */
+static void blf_close(wtap *wth) {
+ blf_free((blf_t *)wth->priv);
- return;
+ /* TODO: do we need to reverse the wtap_add_idb? how? */
}
wtap_open_return_val
@@ -2461,8 +2451,17 @@ blf_open(wtap *wth, int *err, gchar **err_info) {
}
/* This seems to be an BLF! */
- /* skip unknown part of header */
- file_seek(wth->fh, header.header_length, SEEK_SET, err);
+ /* Check for a valid header length */
+ if (header.header_length < sizeof(blf_blockheader_t)) {
+ *err = WTAP_ERR_BAD_FILE;
+ *err_info = ws_strdup("blf: file header length too short");
+ return WTAP_OPEN_ERROR;
+ }
+
+ /* skip past the header, which may include padding/reserved space */
+ if (file_seek(wth->fh, header.header_length, SEEK_SET, err) < 0) {
+ return WTAP_OPEN_ERROR;
+ }
struct tm timestamp;
timestamp.tm_year = (header.start_date.year > 1970) ? header.start_date.year - 1900 : 70;
@@ -2493,7 +2492,11 @@ blf_open(wtap *wth, int *err, gchar **err_info) {
params.blf_data->current_real_seek_pos = 0;
/* lets check out the layout of all log containers */
- blf_scan_file_for_logcontainers(&params);
+ if (!blf_scan_file_for_logcontainers(&params, err, err_info)) {
+ /* That didn't work. */
+ blf_free(blf);
+ return WTAP_OPEN_ERROR;
+ }
wth->priv = (void *)blf;
wth->file_encap = WTAP_ENCAP_NONE;
diff --git a/wiretap/blf.h b/wiretap/blf.h
index d372f952..fb9e117c 100644
--- a/wiretap/blf.h
+++ b/wiretap/blf.h
@@ -3,7 +3,7 @@
* Binary Log File (BLF) file format from Vector Informatik decoder
* for the Wiretap library.
*
- * Copyright (c) 2021-2022 by Dr. Lars Voelker <lars.voelker@technica-engineering.de>
+ * Copyright (c) 2021-2024 by Dr. Lars Voelker <lars.voelker@technica-engineering.de>
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
@@ -276,6 +276,10 @@ typedef struct blf_canerrorext {
/* see https://bitbucket.org/tobylorenz/vector_blf/src/master/src/Vector/BLF/CanFdErrorFrame64.h */
+#define BLF_CANERROR64_FLAG_FDF 0x01
+#define BLF_CANERROR65_FLAG_BRS 0x02
+#define BLF_CANERROR65_FLAG_ESI 0x04
+
typedef struct blf_canfderror64 {
guint8 channel;
guint8 dlc;
@@ -367,14 +371,14 @@ typedef struct blf_flexraymessage {
#define BLF_FLEXRAYRCVMSG_CHANNELMASK_B 0x02
#define BLF_FLEXRAYRCVMSG_CHANNELMASK_AB 0x03
-#define BLF_FLEXRAYRCVMSG_DATA_FLAG_NULL_FRAME 0x00000001
-#define BLF_FLEXRAYRCVMSG_DATA_FLAG_VALID_DATA 0x00000002
-#define BLF_FLEXRAYRCVMSG_DATA_FLAG_SYNC 0x00000004
-#define BLF_FLEXRAYRCVMSG_DATA_FLAG_STARTUP 0x00000008
-#define BLF_FLEXRAYRCVMSG_DATA_FLAG_PAYLOAD_PREAM 0x00000010
-#define BLF_FLEXRAYRCVMSG_DATA_FLAG_RES_20 0x00000020
-#define BLF_FLEXRAYRCVMSG_DATA_FLAG_ERROR 0x00000040
-#define BLF_FLEXRAYRCVMSG_DATA_FLAG_RES_80 0x00000080
+#define BLF_FLEXRAYRCVMSG_FRAME_FLAG_NULL_FRAME 0x00000001
+#define BLF_FLEXRAYRCVMSG_FRAME_FLAG_VALID_DATA 0x00000002
+#define BLF_FLEXRAYRCVMSG_FRAME_FLAG_SYNC 0x00000004
+#define BLF_FLEXRAYRCVMSG_FRAME_FLAG_STARTUP 0x00000008
+#define BLF_FLEXRAYRCVMSG_FRAME_FLAG_PAYLOAD_PREAM 0x00000010
+#define BLF_FLEXRAYRCVMSG_FRAME_FLAG_RES_20 0x00000020
+#define BLF_FLEXRAYRCVMSG_FRAME_FLAG_ERROR 0x00000040
+#define BLF_FLEXRAYRCVMSG_FRAME_FLAG_RES_80 0x00000080
typedef struct blf_flexrayrcvmessage {
guint16 channel;
@@ -443,9 +447,7 @@ typedef struct blf_linmessage {
guint16 channel;
guint8 id;
guint8 dlc;
-} blf_linmessage_t;
-
-typedef struct blf_linmessage_trailer {
+ guint8 data[8];
guint8 fsmId;
guint8 fsmState;
guint8 headerTime;
@@ -456,7 +458,7 @@ typedef struct blf_linmessage_trailer {
/* This field is optional and skipping does not hurt us.
guint32 res2;
*/
-} blf_linmessage_trailer_t;
+} blf_linmessage_t;
/* see https://bitbucket.org/tobylorenz/vector_blf/src/master/src/Vector/BLF/AppText.h */
diff --git a/wiretap/file_access.c b/wiretap/file_access.c
index 01317da0..ca4d2f69 100644
--- a/wiretap/file_access.c
+++ b/wiretap/file_access.c
@@ -2680,7 +2680,7 @@ wtap_dump_close(wtap_dumper *wdh, gboolean *needs_reload,
*needs_reload = wdh->needs_reload;
g_free(wdh->priv);
wtap_block_array_free(wdh->interface_data);
- wtap_block_array_free(wdh->dsbs_initial);
+ wtap_block_array_unref(wdh->dsbs_initial);
g_free(wdh);
return ret;
}
diff --git a/wiretap/pcapng.c b/wiretap/pcapng.c
index 85c635fc..f5c3b320 100644
--- a/wiretap/pcapng.c
+++ b/wiretap/pcapng.c
@@ -16,10 +16,10 @@
*/
#include "config.h"
-#include "wtap_opttypes.h"
-
#define WS_LOG_DOMAIN LOG_DOMAIN_WIRETAP
+#include "wtap_opttypes.h"
+
#include <stdlib.h>
#include <string.h>
#include <errno.h>
@@ -4368,7 +4368,6 @@ static guint32 pcapng_compute_packet_hash_option_size(wtap_optval_t *optval)
{
packet_hash_opt_t* hash = &optval->packet_hash;
guint32 size;
- guint32 pad;
switch (hash->type) {
case OPT_HASH_CRC32:
@@ -4388,12 +4387,25 @@ static guint32 pcapng_compute_packet_hash_option_size(wtap_optval_t *optval)
size = hash->hash_bytes->len;
break;
}
+ /* XXX - What if the size of the hash bytes doesn't match the
+ * expected size? We can:
+ * 1) Return 0, and omit it when writing
+ * 2) Return hash_bytes->len, and write it out exactly as we have it
+ * 3) Return the correct size here, and when writing err or possibly
+ * truncate.
+ */
+ /* Account for the size of the algorithm type field. */
+ size += 1;
+#if 0
+ /* compute_block_option_size() handles padding. */
+ uint32_t pad;
if ((size % 4)) {
pad = 4 - (size % 4);
} else {
pad = 0;
}
size += pad;
+#endif
return size;
}
@@ -4401,7 +4413,6 @@ static guint32 pcapng_compute_packet_verdict_option_size(wtap_optval_t *optval)
{
packet_verdict_opt_t* verdict = &optval->packet_verdictval;
guint32 size;
- guint32 pad;
switch (verdict->type) {
@@ -4410,23 +4421,31 @@ static guint32 pcapng_compute_packet_verdict_option_size(wtap_optval_t *optval)
break;
case packet_verdict_linux_ebpf_tc:
- size = 9;
+ size = 8;
break;
case packet_verdict_linux_ebpf_xdp:
- size = 9;
+ size = 8;
break;
default:
size = 0;
break;
}
+ /* Account for the type octet */
+ if (size) {
+ size += 1;
+ }
+#if 0
+ /* compute_block_option_size() handles padding. */
+ uint32_t pad;
if ((size % 4)) {
pad = 4 - (size % 4);
} else {
pad = 0;
}
size += pad;
+#endif
return size;
}
@@ -4468,6 +4487,15 @@ compute_block_option_size(wtap_block_t block _U_, guint option_id, wtap_opttype_
/*
* Are we writing this option?
*/
+ /*
+ * XXX: The option length field is 16 bits. If size > 65535 (how?
+ * was the block was obtained from some format other than pcapng?),
+ * are we going to silently omit the option (in which case we shouldn't
+ * add the size here), or err out when writing it (in which case
+ * it's probably fine to add the size or not?) Adding it here and
+ * then omitting it when writing, as some of the routines do, means
+ * creating a corrupt file.
+ */
if (size != 0) {
/*
* Yes. Add the size of the option header to the size of the
@@ -4922,7 +4950,8 @@ static gboolean pcapng_write_packet_verdict_option(wtap_dumper *wdh, guint optio
switch (verdict->type) {
case packet_verdict_hardware:
- size = verdict->data.verdict_bytes->len;
+ /* Include type octet */
+ size = verdict->data.verdict_bytes->len + 1;
if (size > 65535) {
/*
* Too big to fit in the option.
@@ -4941,8 +4970,8 @@ static gboolean pcapng_write_packet_verdict_option(wtap_dumper *wdh, guint optio
if (!wtap_dump_file_write(wdh, &type, sizeof(guint8), err))
return FALSE;
- if (!wtap_dump_file_write(wdh, verdict->data.verdict_bytes->data, size,
- err))
+ if (!wtap_dump_file_write(wdh, verdict->data.verdict_bytes->data,
+ verdict->data.verdict_bytes->len, err))
return FALSE;
break;
@@ -4992,6 +5021,63 @@ static gboolean pcapng_write_packet_verdict_option(wtap_dumper *wdh, guint optio
return TRUE;
}
+static gboolean pcapng_write_packet_hash_option(wtap_dumper *wdh, unsigned option_id, wtap_optval_t *optval, int *err)
+{
+ packet_hash_opt_t* hash = &optval->packet_hash;
+ struct pcapng_option_header option_hdr;
+ uint8_t type;
+ size_t size;
+ const uint32_t zero_pad = 0;
+ uint32_t pad;
+
+ size = pcapng_compute_packet_hash_option_size(optval);
+
+ if (size > 65535) {
+ /*
+ * Too big to fit in the option.
+ * Don't write anything.
+ *
+ * XXX - truncate it? Report an error?
+ */
+ return TRUE;
+ }
+
+ if (size > hash->hash_bytes->len + 1) {
+ /*
+ * We don't have enough bytes to write.
+ * pcapng_compute_packet_hash_option_size() should return 0 if
+ * we want to silently omit the option instead, or should return
+ * the length if we want to blindly copy it.
+ * XXX - Is this the best error type?
+ */
+ *err = WTAP_ERR_UNWRITABLE_REC_DATA;
+ return FALSE;
+ }
+
+ type = hash->type;
+
+ option_hdr.type = option_id;
+ /* Include type byte */
+ option_hdr.value_length = (uint16_t)size;
+ if (!wtap_dump_file_write(wdh, &option_hdr, 4, err))
+ return FALSE;
+
+ if (!wtap_dump_file_write(wdh, &type, sizeof(uint8_t), err))
+ return FALSE;
+
+ if (!wtap_dump_file_write(wdh, hash->hash_bytes->data, size - 1,
+ err))
+ return FALSE;
+
+ /* write padding (if any) */
+ if ((size % 4)) {
+ pad = 4 - (size % 4);
+ if (!wtap_dump_file_write(wdh, &zero_pad, pad, err))
+ return FALSE;
+ }
+ return TRUE;
+}
+
static gboolean write_block_option(wtap_block_t block, guint option_id, wtap_opttype_e option_type _U_, wtap_optval_t *optval, void* user_data)
{
write_options_t* options = (write_options_t*)user_data;
@@ -5231,8 +5317,14 @@ static gboolean write_wtap_epb_option(wtap_dumper *wdh, wtap_block_t block _U_,
return FALSE;
break;
case OPT_PKT_VERDICT:
- if (!pcapng_write_packet_verdict_option(wdh, OPT_EPB_QUEUE, optval,
+ if (!pcapng_write_packet_verdict_option(wdh, OPT_EPB_VERDICT, optval,
err))
+ return false;
+ break;
+ case OPT_PKT_HASH:
+ if (!pcapng_write_packet_hash_option(wdh, OPT_EPB_HASH, optval,
+ err))
+ return false;
break;
default:
/* Unknown options - write by datatype? */
diff --git a/wiretap/wtap.h b/wiretap/wtap.h
index 93bcca42..2b25c03f 100644
--- a/wiretap/wtap.h
+++ b/wiretap/wtap.h
@@ -1478,7 +1478,8 @@ typedef struct addrinfo_lists {
* @note The shb_hdr and idb_inf arguments will be used until
* wtap_dump_close() is called, but will not be free'd by the dumper. If
* you created them, you must free them yourself after wtap_dump_close().
- * dsbs_initial will be freed by wtap_dump_close(),
+ * dsbs_initial will be unreferenced by wtap_dump_close(), so to reuse
+ * them for another dump file, call wtap_block_array_ref() before closing.
* dsbs_growing typically refers to another wth->dsbs.
* nrbs_growing typically refers to another wth->nrbs.
*
diff --git a/wiretap/wtap_opttypes.c b/wiretap/wtap_opttypes.c
index 7dfbf1a1..98ffe4dd 100644
--- a/wiretap/wtap_opttypes.c
+++ b/wiretap/wtap_opttypes.c
@@ -466,6 +466,32 @@ void wtap_block_array_free(GArray* block_array)
g_array_free(block_array, TRUE);
}
+void wtap_block_array_ref(GArray* block_array)
+{
+ unsigned block;
+
+ if (block_array == NULL)
+ return;
+
+ for (block = 0; block < block_array->len; block++) {
+ wtap_block_ref(g_array_index(block_array, wtap_block_t, block));
+ }
+ g_array_ref(block_array);
+}
+
+void wtap_block_array_unref(GArray* block_array)
+{
+ unsigned block;
+
+ if (block_array == NULL)
+ return;
+
+ for (block = 0; block < block_array->len; block++) {
+ wtap_block_unref(g_array_index(block_array, wtap_block_t, block));
+ }
+ g_array_unref(block_array);
+}
+
/*
* Make a copy of a block.
*/
diff --git a/wiretap/wtap_opttypes.h b/wiretap/wtap_opttypes.h
index f3d9efbd..91dafd6c 100644
--- a/wiretap/wtap_opttypes.h
+++ b/wiretap/wtap_opttypes.h
@@ -615,6 +615,29 @@ wtap_block_unref(wtap_block_t block);
WS_DLL_PUBLIC void
wtap_block_array_free(GArray* block_array);
+/** Decrement the reference count of an array of blocks
+ *
+ * Decrement the reference count of each block in the array
+ * and the GArray itself. Any element whose reference count
+ * drops to 0 will be freed. If the GArray and every block
+ * has a reference count of 1, this is the same as
+ * wtap_block_array_free().
+ *
+ * @param[in] block_array Array of blocks to be dereferenced
+ */
+WS_DLL_PUBLIC void
+wtap_block_array_unref(GArray* block_array);
+
+/** Increment the reference count of an array of blocks
+ *
+ * Increment the reference count of each block in the array
+ * and the GArray itself.
+ *
+ * @param[in] block_array Array of blocks to be referenced
+ */
+WS_DLL_PUBLIC void
+wtap_block_array_ref(GArray* block_array);
+
/** Provide type of a block
*
* @param[in] block Block from which to retrieve mandatory data
diff --git a/writecap/pcapio.c b/writecap/pcapio.c
index e5a8c9de..58c49179 100644
--- a/writecap/pcapio.c
+++ b/writecap/pcapio.c
@@ -425,7 +425,7 @@ pcapng_write_interface_description_block(FILE* pfile,
}
/* 11 - IDB_FILTER */
- if ((filter != NULL) && (strlen(filter) > 0) && (strlen(filter) < UINT16_MAX)) {
+ if ((filter != NULL) && (strlen(filter) > 0) && (strlen(filter) < UINT16_MAX - 1)) {
/* No, this isn't a string, it has an extra type byte */
options_length += (uint32_t)(sizeof(struct ws_option) +
(uint16_t)(ADD_PADDING(strlen(filter)+ 1)));
@@ -496,7 +496,8 @@ pcapng_write_interface_description_block(FILE* pfile,
}
/* 11 - IDB_FILTER - write filter string if applicable
- * We only write version 1 of the filter, pcapng string
+ * We write out the libpcap filter expression, not the
+ * generated BPF code.
*/
if ((filter != NULL) && (strlen(filter) > 0) && (strlen(filter) < UINT16_MAX - 1)) {
option.type = IDB_FILTER;
diff --git a/wsutil/cpu_info.c b/wsutil/cpu_info.c
index f9e6aa25..8b06b070 100644
--- a/wsutil/cpu_info.c
+++ b/wsutil/cpu_info.c
@@ -201,7 +201,7 @@ get_cpu_info(GString *str)
/*
* Allocate a buffer for the subkey.
*/
- subkey_buf = (wchar_t *)g_malloc(max_subkey_len * sizeof (wchar_t));
+ subkey_buf = g_new(wchar_t, max_subkey_len);
if (subkey_buf == NULL) {
/* Just give up. */
g_tree_destroy(model_names);
@@ -383,6 +383,7 @@ get_cpu_info(GString *str)
*/
uint32_t CPUInfo[4];
char CPUBrandString[0x40];
+ char *model_name;
unsigned nExIds;
/*