Wiki source code of Filter unwanted LoRaWAN packets
Version 34.1 by Jean-Philippe Gagné on 2022/11/29 23:10
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | **~ Table of Contents:** | ||
2 | |||
3 | {{toc/}} | ||
4 | |||
5 | |||
6 | |||
7 | |||
8 | |||
9 | = **1. Introduction** = | ||
10 | |||
11 | |||
12 | This feature is to filter the unwanted LoRaWAN packets. Purpose is to save the upstream traffic especially for a 4G cellular connection. If configured, gateway will process filter for below two types of message: | ||
13 | |||
14 | * Unconfirmed Data Up | ||
15 | * Confirmed Data Up | ||
16 | |||
17 | |||
18 | |||
19 | |||
20 | = **2. FWD Filter Mechanism** = | ||
21 | |||
22 | |||
23 | (% class="wikigeneratedid" id="H1.1SupportDevices" %) | ||
24 | **Support Devices:** | ||
25 | |||
26 | * Firmware Version > ** dragino-lgw~-~-v5.4.1658824252** | ||
27 | * LG308, DLOS8, LPS8, LIG16, LG308N, DLOS8N, LPS8N | ||
28 | |||
29 | |||
30 | |||
31 | **Filtering rules:** | ||
32 | |||
33 | (% border="1" style="background-color:#ffffcc; color:green; width:728px" %) | ||
34 | |=(% colspan="2" style="width: 351px;" %)Fport Filter|=(% colspan="2" style="width: 374px;" %)DevAddr Filter | ||
35 | |(% style="width:66px" %)**Level 0**|(% style="width:284px" %)Do nothing|(% style="width:68px" %)**Level 0**|(% style="width:306px" %)Do nothing | ||
36 | |(% style="width:66px" %)**Level 1**|(% style="width:284px" %)Filter only the Fport in the list|(% style="width:68px" %)**Level 1**|(% style="width:306px" %)Filter only the DevAddr in the list | ||
37 | |(% style="width:66px" %)**Level 2**|(% style="width:284px" %)Filter Fport that are not in the database|(% style="width:68px" %)**Level 2**|(% style="width:306px" %)Filter DevAddr that are not in the database | ||
38 | |||
39 | |||
40 | ((( | ||
41 | [[image:image-20220726171434-6.png||height="628" width="692"]] | ||
42 | |||
43 | |||
44 | **Check if the filter is running** | ||
45 | |||
46 | [[image:image-20220726164533-3.png||height="465" width="982"]] | ||
47 | |||
48 | |||
49 | == **2.1 Filter By Fport** == | ||
50 | |||
51 | |||
52 | The Gateway FPort filter will check all the below LoRaWAN messages: Unconfirmed Data Up & Confirmed Data Up. | ||
53 | |||
54 | |||
55 | (% style="color:red" %)**Important Notice:** | ||
56 | |||
57 | * By default, Fport Filter (% style="color:blue" %)**Level=0**(%%). which means do nothing | ||
58 | |||
59 | * Fport Filter configured to (% style="color:blue" %)**Level=1**(%%). If the Fport in the list matches the Fport received by the gateway, it will be dropped. | ||
60 | |||
61 | * Fport Filter configured to (% style="color:blue" %)**Level=2**(%%). If the Fport in the list does not match the Fport received by the gateway, it will be dropped. | ||
62 | |||
63 | In this case, we set Fport Filter Level=0 and add the fileter (server | fport | 0), when the gateway receives a Lorawan packet with Fport=0, it will be dropped. | ||
64 | |||
65 | [[image:image-20220726165311-4.png||height="718" width="798"]] | ||
66 | |||
67 | |||
68 | [[image:image-20220726170532-5.png]] | ||
69 | |||
70 | |||
71 | |||
72 | == **2.2 Filter By DevAddr** == | ||
73 | |||
74 | |||
75 | The Gateway DevAddr filter will check all the below LoRaWAN messages: Unconfirmed Data Up & Confirmed Data Up. | ||
76 | |||
77 | |||
78 | (% style="color:red" %)**Important Notice:** | ||
79 | |||
80 | * By default, DevAddr Filter (% style="color:blue" %)**Level=0**(%%). which means do nothing | ||
81 | |||
82 | * DevAddr Filter configured to (% style="color:blue" %)**Level=1**(%%). If the DevAddr in the list matches the DevAddr received by the gateway, it will be dropped. | ||
83 | |||
84 | * DevAddr Filter configured to (% style="color:blue" %)**Level=2**(%%). If the DevAddr in the list does not match the DevAddr received by the gateway, it will be dropped. | ||
85 | |||
86 | In this case, we set DevAddr Filter Level=0 and add the filter (server | DevAddr | 12664787 ), when the gateway receives a Lorawan packet with DevAddr=12664787, it will be dropped. | ||
87 | |||
88 | |||
89 | [[image:image-20220726171555-7.png||height="754" width="765"]] | ||
90 | |||
91 | |||
92 | [[image:image-20220726171808-8.png]] | ||
93 | |||
94 | |||
95 | **If user need to set the Secondary LoRaWAN Server Packet Filter, the configuration is similar to that above.** | ||
96 | |||
97 | |||
98 | |||
99 | ))) | ||
100 | |||
101 | = **3. PKT_FWD Filter Mechanism** = | ||
102 | |||
103 | |||
104 | (% class="wikigeneratedid" id="H1.1SupportDevices" %) | ||
105 | **Support Devices:** | ||
106 | |||
107 | * Firmware Version >** lgw~-~-build-v5.4.1602379434-20201011-0926** [[Firmware Download>>url:http://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LPS8/Firmware/Release/]] | ||
108 | * LG308, DLOS8 | ||
109 | * LPS8 | ||
110 | |||
111 | |||
112 | |||
113 | Fport & DevAddr Filter | ||
114 | |||
115 | [[image:image-20220527150138-1.png]] | ||
116 | |||
117 | |||
118 | Check if the filter is running | ||
119 | |||
120 | [[image:image-20220527150222-2.png||height="379" width="1062"]] | ||
121 | |||
122 | |||
123 | |||
124 | |||
125 | == **3.1 Filter By Fport** == | ||
126 | |||
127 | |||
128 | The Gateway FPort filter will check all the below LoRaWAN message: Unconfirmed Data Up & Confirmed Data Up. If the packet's FPort doesn't match the FPort setting, it will be dropped. | ||
129 | |||
130 | ((( | ||
131 | By default , this value is 0 means can upstream all packets with any FPort. We can set to other FPort so specify only one FPort works. | ||
132 | ))) | ||
133 | |||
134 | [[image:image-20220527150303-3.png]] | ||
135 | |||
136 | |||
137 | In case we set the FPort filter to 45, and the End Node send a packet with Fport other than 45, it will be dropped. | ||
138 | |||
139 | |||
140 | |||
141 | == **3.2 Filter By DevAddr** == | ||
142 | |||
143 | |||
144 | Gateway will use a DevAddr mask to check if the Unconfirmed Data Up & Confirmed Data Up packets match the mask . If not, gateway will drop it. | ||
145 | |||
146 | [[image:image-20220527150404-4.png]] | ||
147 | |||
148 | |||
149 | This screenshot shows packets is dropped if DevAddr mask doesn't match. | ||
150 | |||
151 | |||
152 | ((( | ||
153 | |||
154 | ))) |