summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Sardara <msardara@cisco.com>2021-04-06 09:47:12 +0000
committerGerrit Code Review <gerrit@fd.io>2021-04-06 09:47:12 +0000
commitd6a155b63c37682a25b1f5a02c0189af5dd3edef (patch)
treec4d0a563f63ac85b1e0ca727fcdf9d2eda8d9c2f
parent8cdce03a7cc7c643c9a853d10136463c25315f79 (diff)
parentf72849911653de9239f3b32359f38b0c5ed90ac6 (diff)
Merge "[HICN-692] Fix deb package installation of packethicn"
-rw-r--r--docs/source/index.rst1
-rw-r--r--docs/source/packethicn.md50
-rw-r--r--extras/packethicn/CMakeLists.txt34
-rw-r--r--extras/packethicn/cmake/Modules/Packaging.cmake8
-rw-r--r--extras/packethicn/packet-hicn.c2
5 files changed, 69 insertions, 26 deletions
diff --git a/docs/source/index.rst b/docs/source/index.rst
index 99ea39afa..6d48ae646 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -22,6 +22,7 @@ on VPP and a client stack is provided to support any mobile and desktop operatin
control
telemetry
utils
+ packethicn
apps
diff --git a/docs/source/packethicn.md b/docs/source/packethicn.md
index 3d3424d71..cf4976837 100644
--- a/docs/source/packethicn.md
+++ b/docs/source/packethicn.md
@@ -9,11 +9,21 @@ The `packethicn` plugin adds support to Wireshark to parse and dissect HICN traf
2. As a standalone component (see [Standalone build](#Standalone-build))
-The second one is preferred if `HICN` is already installed in the system.
+The second one is preferred if HICN is already installed in the system.
-# Build with HICN
+# Supported platforms
+`packethicn` has been tested in
-## Dependencies
+- Ubuntu 18.04
+- Ubuntu 20.04
+- macOS 11.2
+
+Other platforms and architectures may work.
+
+# Installation
+## Build with HICN
+
+### Dependencies
```bash
$ sudo add-apt-repository ppa:wireshark-dev/stable
@@ -22,7 +32,7 @@ $ sudo apt install -y build-essential cmake wireshark wireshark-dev libgcrypt-de
```
-## Build and install
+### Build and install
From the root HICN dir add the `-DBUILD_WSPLUGIN` flag to cmake.
@@ -39,10 +49,10 @@ $ sudo make install
```
-# Standalone build
-## Linux (Ubuntu)
+## Standalone build
+### Linux (Ubuntu)
-### Install dependencies
+#### Install dependencies
```bash
$ sudo add-apt-repository ppa:wireshark-dev/stable
@@ -51,7 +61,7 @@ $ curl -s https://packagecloud.io/install/repositories/fdio/release/script.deb.s
$ sudo apt install -y build-essential cmake libhicn-dev wireshark wireshark-dev libgcrypt-dev libgnutls28-dev
```
-### Compile and install HICN plugin
+#### Compile and install HICN plugin
```bash
$ cd packethicn
@@ -65,7 +75,7 @@ $ sudo make install
```
-## macOS
+### macOS
If installing wireshark via brew use the `./install_macos.sh` script as shown below:
```bash
@@ -94,4 +104,24 @@ $ cmake ..
$ make
$ sudo make install
-``` \ No newline at end of file
+```
+
+# Usage
+
+## Filters
+
+| Filter | Description | Example |
+| --- | --- | --- |
+| `hicn` | HICN traffic only | *hicn* |
+| `hicn.l3.src` | Source address / Name Prefix (of data) | *hicn.l3.src == b001::a8f:ae2a:bd5b:0:0* |
+| `hicn.l3.dst` | Destination address / Name Prefix (of interest) | *hicn.l3.dst == b001::a8f:ae2a:bd5b:1111:0* |
+| `hicn.l4.namesuffix ` | Name Suffix | *hicn.l4.namesuffix == 0x21* |
+| `hicn.l4.pathlabel ` | Path Label | *hicn.l4.pathlabel == 0xbb* |
+| `hicn.l4.timescale ` | Timescale | *hicn.l4.timescale == 4* |
+| `hicn.l4.flags ` | Flags | *hicn.l4.flags == 0x42* |
+| `hicn.l4.flags.id ` | ID Flag | *hicn.l4.flags.<span></span>id == 1* |
+| `hicn.l4.flags.man ` | MAN Flag | *hicn.l4.flags.man == 0* |
+| `hicn.l4.flags.sig ` | SIG Flag | *hicn.l4.flags.sig == 0* |
+| `hicn.l4.ldr ` | Loss Detection and Recovery | *hicn.l4.ldr > 0* |
+| `hicn.l4.csum ` | Checksum | *hicn.l4.csum > 0* |
+| `hicn.l4.lifetime ` | Lifetime | *hicn.l4.lifetime == 1000* |
diff --git a/extras/packethicn/CMakeLists.txt b/extras/packethicn/CMakeLists.txt
index cf5f7c26f..f8be36eff 100644
--- a/extras/packethicn/CMakeLists.txt
+++ b/extras/packethicn/CMakeLists.txt
@@ -18,35 +18,35 @@ project(packethicn VERSION 0.0.1 DESCRIPTION "hICN protocol plugin" LANGUAGES C)
set(CMAKE_MODULE_PATH
${CMAKE_MODULE_PATH}
- "${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/Modules"
- "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules"
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/Modules
+ ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules
)
-include(BuildMacros)
-include(Packaging)
-
set(PACKETHICN packethicn)
find_package(Wireshark CONFIG REQUIRED)
+MATH(EXPR Wireshark_PATCH_NEXT_VERSION "${Wireshark_PATCH_VERSION}+1")
+set(Wireshark_NEXT_VERSION ${Wireshark_MAJOR_VERSION}.${Wireshark_MINOR_VERSION}.${Wireshark_PATCH_NEXT_VERSION})
+
if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
find_package(Libhicn REQUIRED)
else()
if (DISABLE_SHARED_LIBRARIES)
- if (WIN32)
+ if (WIN32)
set(HICN_LIBRARIES ${LIBHICN_STATIC})
- else ()
+ else()
set(HICN_LIBRARIES ${LIBHICN_STATIC} log)
- endif ()
+ endif()
list(APPEND DEPENDENCIES
${LIBHICN_STATIC}
)
- else ()
+ else()
set(HICN_LIBRARIES ${LIBHICN_SHARED})
list(APPEND DEPENDENCIES
${LIBHICN_SHARED}
)
- endif ()
+ endif()
endif()
if(NOT Wireshark_PLUGINS_ENABLED)
@@ -73,6 +73,13 @@ list(APPEND LIBRARIES
epan
)
+if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
+ set(LIBHICN hicn CACHE INTERNAL "" FORCE)
+endif()
+
+include(Packaging)
+include(BuildMacros)
+
build_library(${PACKETHICN}
MODULE
SOURCES ${SOURCE_FILES}
@@ -83,4 +90,9 @@ build_library(${PACKETHICN}
INSTALL_FULL_PATH_DIR ${Wireshark_PLUGIN_INSTALL_DIR}/epan
DEFINITIONS ${COMPILER_DEFINITIONS}
EMPTY_PREFIX true
-) \ No newline at end of file
+)
+
+if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
+ include(Packager)
+ make_packages()
+endif() \ No newline at end of file
diff --git a/extras/packethicn/cmake/Modules/Packaging.cmake b/extras/packethicn/cmake/Modules/Packaging.cmake
index 4cd81f35e..5bea05c3c 100644
--- a/extras/packethicn/cmake/Modules/Packaging.cmake
+++ b/extras/packethicn/cmake/Modules/Packaging.cmake
@@ -21,11 +21,11 @@ set(${PACKETHICN}_DESCRIPTION
)
set(${PACKETHICN}_DEB_DEPENDENCIES
- "lib${LIBHICN} (>= stable_version), wireshark (>= 3.0), wireshark-dev (>= 3.0), libgnutls28-dev (>= 3.0), libgcrypt (>= 1.0)"
- CACHE STRING "Dependencies for deb package."
+ "lib${LIBHICN} (>= stable_version), wireshark (>= ${Wireshark_VERSION}), wireshark (<< ${Wireshark_NEXT_VERSION})"
+ CACHE STRING "Dependencies for deb/rpm package."
)
set(${PACKETHICN}_RPM_DEPENDENCIES
- "lib${LIBHICN} >= stable_version, wireshark-devel >= 3.0"
- CACHE STRING "Dependencies for rpm package."
+ "lib${LIBHICN} >= stable_version, wireshark >= ${Wireshark_VERSION}, wireshark < ${Wireshark_NEXT_VERSION}"
+ CACHE STRING "Dependencies for deb/rpm package."
) \ No newline at end of file
diff --git a/extras/packethicn/packet-hicn.c b/extras/packethicn/packet-hicn.c
index 45ca7a5c4..55ea8747d 100644
--- a/extras/packethicn/packet-hicn.c
+++ b/extras/packethicn/packet-hicn.c
@@ -200,7 +200,7 @@ proto_register_hicn(void)
{ &hf_hicn_tcp_pathlabel, { "Path Label", "hicn.l4.pathlabel", FT_UINT8, BASE_HEX_DEC , NULL, 0x0, NULL, HFILL }},
{ &hf_hicn_tcp_hdrlen_timescale, { "Header length and Timescale", "hicn.l4.hdrlen_ts", FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }},
{ &hf_hicn_tcp_hdrlen, { "Header length", "hicn.l4.hdrlen", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_hicn_tcp_timescale, { "Timescale", "hich.l4.ts", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_hicn_tcp_timescale, { "Timescale", "hicn.l4.timescale", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
{ &hf_hicn_tcp_flags, { "Flags", "hicn.l4.flags", FT_UINT8, BASE_HEX, NULL, FLAGS_MASK, NULL, HFILL }},
{ &hf_hicn_tcp_flags_cwr, { "_CWR", "hicn.l4.flags.cwr", FT_BOOLEAN, FLAGS_BITS_LEN, TFS(&tfs_set_notset), TH_CWR, NULL, HFILL }},
{ &hf_hicn_tcp_flags_id, { "ID", "hicn.l4.flags.id", FT_BOOLEAN, FLAGS_BITS_LEN, TFS(&tfs_set_notset),TH_ID, NULL, HFILL }},