Skip to content

Commit

Permalink
[HICN-692] Fix deb package installation of packethicn
Browse files Browse the repository at this point in the history
Signed-off-by: Marco Trinelli <[email protected]>
Change-Id: I3c916807904d78c17a3444808f904b9c0cf0a4f5
  • Loading branch information
marcotrinelli committed Apr 6, 2021
1 parent b8e7a5c commit f728499
Show file tree
Hide file tree
Showing 5 changed files with 69 additions and 26 deletions.
1 change: 1 addition & 0 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ on VPP and a client stack is provided to support any mobile and desktop operatin
control
telemetry
utils
packethicn
apps


50 changes: 40 additions & 10 deletions docs/source/packethicn.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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.

Expand All @@ -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

Expand All @@ -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

Expand All @@ -65,7 +75,7 @@ $ sudo make install
```


## macOS
### macOS
If installing wireshark via brew use the `./install_macos.sh` script as shown below:

```bash
Expand Down Expand Up @@ -94,4 +104,24 @@ $ cmake ..
$ make

$ sudo make install
```
```

# 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* |
34 changes: 23 additions & 11 deletions extras/packethicn/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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}
Expand All @@ -83,4 +90,9 @@ build_library(${PACKETHICN}
INSTALL_FULL_PATH_DIR ${Wireshark_PLUGIN_INSTALL_DIR}/epan
DEFINITIONS ${COMPILER_DEFINITIONS}
EMPTY_PREFIX true
)
)

if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
include(Packager)
make_packages()
endif()
8 changes: 4 additions & 4 deletions extras/packethicn/cmake/Modules/Packaging.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -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."
)
2 changes: 1 addition & 1 deletion extras/packethicn/packet-hicn.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 }},
Expand Down

0 comments on commit f728499

Please sign in to comment.