From 19237c60f21e68712afe5c24bcff57275424e147 Mon Sep 17 00:00:00 2001
From: Andreas M <48608509+amandoee@users.noreply.github.com>
Date: Mon, 24 Jun 2024 11:42:50 +0200
Subject: [PATCH 1/2] Update index.html
---
index.html | 113 ++++++++++++++++++++++++++++-------------------------
1 file changed, 60 insertions(+), 53 deletions(-)
diff --git a/index.html b/index.html
index b36fc23..28e8405 100644
--- a/index.html
+++ b/index.html
@@ -1,61 +1,68 @@
- IP Fragmentation Calculator
-
-
+ IP Fragmentation Calculator
+
+
-
-
Fragmentation Calculator
-
-
+
+
+
+ -
+
+
+ | {{ $index }}0 |
+ Length |
+ ID |
+ Flag |
+ Offset{{data.headerSize}} |
+ {{fragment.length + data.headerSize}} |
+
+
+ |
+ {{ fragment.length }} |
+ X |
+ {{ fragment.flag }} |
+ {{ fragment.offset }} |
+ ... |
+
+
+
+
+
+
+
+
+
+
+
+
From 7c0c4ee583ffc811440ab8351a9470072a9850a0 Mon Sep 17 00:00:00 2001
From: Andreas M <48608509+amandoee@users.noreply.github.com>
Date: Mon, 24 Jun 2024 11:43:16 +0200
Subject: [PATCH 2/2] Update app.js
---
app/app.js | 78 ++++++++++++++++++++++++++++--------------------------
1 file changed, 40 insertions(+), 38 deletions(-)
diff --git a/app/app.js b/app/app.js
index ba68b09..6955674 100644
--- a/app/app.js
+++ b/app/app.js
@@ -3,45 +3,47 @@
var ipfCalc = angular.module('ipfCalc', []);
ipfCalc.controller('CalculateController', function($scope) {
- //initial values
- $scope.fragments = [];
- $scope.data = {
- dataSize: 4000,
- mtuSize: 1500,
- headerSize: 20
- };
+ // Initial values
+ $scope.fragments = [];
+ $scope.data = {
+ dataSize: 4000,
+ mtuSize: 1500,
+ headerSize: 20
+ };
- //when you click "Calculate"
- $scope.calculate = function(data){
- //Initializing the data...
- $scope.fragments = [];
- var headerSize = data.headerSize;
- var remaining = data.dataSize - headerSize;
- var maxSize = data.mtuSize - headerSize;
- var maxPayload = maxSize - (maxSize % 8);
- var flag = 1;
- var offset = 0;
+ // When you click "Calculate"
+ $scope.calculate = function(data) {
+ // Initializing the data...
+ $scope.fragments = [];
+ var headerSize = data.headerSize;
+ var remaining = data.dataSize; // Initial payload size
+ var maxSize = data.mtuSize - headerSize; // Maximum fragment size excluding header
+ var maxPayload = maxSize - (maxSize % 8); // Ensuring max payload size is a multiple of 8
+ var flag = 1;
+ var offset = 0;
- //While data doesn't fit the MTU...
- while(remaining > 0){
- var length = 0;
- if(maxSize < remaining){
- length = maxPayload;
- } else {
- length = remaining;
- flag = 0;
- }
+ // While data doesn't fit the MTU...
+ while (remaining > 0) {
+ var length = 0;
+ if (maxSize < remaining) {
+ length = maxPayload;
+ } else {
+ length = remaining;
+ flag = 0; // Last fragment
+ }
- //Create the segment
- $scope.fragments.push({
- length: length,
- flag: flag,
- offset: offset,
- })
+ // Create the segment
+ $scope.fragments.push({
+ length: length,
+ flag: flag,
+ offset: offset,
+ });
+
+ // Subtract the payload length of the fragment from the remaining payload
+ remaining -= length;
+ // Increment the offset by the length of the payload divided by 8
+ offset += length / 8;
+ }
+ };
+});
- //until everything has been sent.
- remaining -= length;
- offset = ~~(((offset*8)+length)/8);
- }
- };
-});
\ No newline at end of file