Skip to content

Commit 7ce8f30

Browse files
committed
Integrate SDK 4.6.2104 Kernel Patches
## Patch List * 0001-psample-define-the-macro-PSAMPLE_MD_EXTENDED_ATTR.patch : * 0002-drop_monitor-Extend-WJH-buffer-linux-channel.patch :
1 parent 79b32fc commit 7ce8f30

File tree

3 files changed

+46
-48
lines changed

3 files changed

+46
-48
lines changed

patch/0003-psample-define-the-macro-PSAMPLE_MD_EXTENDED_ATTR.patch renamed to patch/0001-psample-define-the-macro-PSAMPLE_MD_EXTENDED_ATTR.patch

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Signed-off-by: Vadym Hlushko <[email protected]>
1212
1 file changed, 2 insertions(+)
1313

1414
diff --git a/include/net/psample.h b/include/net/psample.h
15-
index e328c51..1c4d70c 100644
15+
index 0509d2d..c66e325 100644
1616
--- a/include/net/psample.h
1717
+++ b/include/net/psample.h
1818
@@ -14,6 +14,8 @@ struct psample_group {

patch/0004-drop_monitor-Extend-WJH-buffer-linux-channel.patch renamed to patch/0002-drop_monitor-Extend-WJH-buffer-linux-channel.patch

Lines changed: 43 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -20,22 +20,22 @@ This patch is to add the extended information also for linux channel.
2020
3 files changed, 134 insertions(+)
2121

2222
diff --git a/include/net/devlink.h b/include/net/devlink.h
23-
index b01bb9bca..e81314255 100644
23+
index ba6b8b0..214edcc 100644
2424
--- a/include/net/devlink.h
2525
+++ b/include/net/devlink.h
26-
@@ -20,6 +20,10 @@
27-
#include <uapi/linux/devlink.h>
26+
@@ -21,6 +21,10 @@
2827
#include <linux/xarray.h>
28+
#include <linux/firmware.h>
2929

3030
+#ifndef SX_EXTEND_WJH_BUFFER_LINUX_CHANNEL
3131
+#define SX_EXTEND_WJH_BUFFER_LINUX_CHANNEL
3232
+#endif
3333
+
34-
#define DEVLINK_RELOAD_STATS_ARRAY_SIZE \
35-
(__DEVLINK_RELOAD_LIMIT_MAX * __DEVLINK_RELOAD_ACTION_MAX)
34+
struct devlink;
35+
struct devlink_linecard;
3636

37-
@@ -665,6 +669,11 @@ struct devlink_health_reporter_ops {
38-
* @input_dev: Input netdevice.
37+
@@ -711,6 +715,11 @@ struct devlink_health_reporter_ops {
38+
* @dev_tracker: refcount tracker for @input_dev.
3939
* @fa_cookie: Flow action user cookie.
4040
* @trap_type: Trap type.
4141
+ * @output_port_dev: Output port netdevice.
@@ -46,8 +46,8 @@ index b01bb9bca..e81314255 100644
4646
*/
4747
struct devlink_trap_metadata {
4848
const char *trap_name;
49-
@@ -672,6 +681,15 @@ struct devlink_trap_metadata {
50-
struct net_device *input_dev;
49+
@@ -721,6 +730,15 @@ struct devlink_trap_metadata {
50+
5151
const struct flow_action_cookie *fa_cookie;
5252
enum devlink_trap_type trap_type;
5353
+ struct net_device *output_port_dev;
@@ -63,13 +63,13 @@ index b01bb9bca..e81314255 100644
6363

6464
/**
6565
diff --git a/include/uapi/linux/net_dropmon.h b/include/uapi/linux/net_dropmon.h
66-
index 66048cc5d..6afabc7a7 100644
66+
index 84f622a..d6f6399 100644
6767
--- a/include/uapi/linux/net_dropmon.h
6868
+++ b/include/uapi/linux/net_dropmon.h
69-
@@ -93,6 +93,11 @@ enum net_dm_attr {
70-
NET_DM_ATTR_SW_DROPS, /* flag */
69+
@@ -94,6 +94,11 @@ enum net_dm_attr {
7170
NET_DM_ATTR_HW_DROPS, /* flag */
7271
NET_DM_ATTR_FLOW_ACTION_COOKIE, /* binary */
72+
NET_DM_ATTR_REASON, /* string */
7373
+ NET_DM_ATTR_OUT_PORT, /* nested */
7474
+ NET_DM_ATTR_OUT_LAG, /* nested */
7575
+ NET_DM_ATTR_OUT_TC, /* u16 */
@@ -79,10 +79,10 @@ index 66048cc5d..6afabc7a7 100644
7979
__NET_DM_ATTR_MAX,
8080
NET_DM_ATTR_MAX = __NET_DM_ATTR_MAX - 1
8181
diff --git a/net/core/drop_monitor.c b/net/core/drop_monitor.c
82-
index db65ce62b..940d88b8b 100644
82+
index f084a4a..0405e10 100644
8383
--- a/net/core/drop_monitor.c
8484
+++ b/net/core/drop_monitor.c
85-
@@ -599,6 +599,36 @@ static int net_dm_packet_report_in_port_put(struct sk_buff *msg, int ifindex,
85+
@@ -606,6 +606,36 @@ nla_put_failure:
8686
return -EMSGSIZE;
8787
}
8888

@@ -119,7 +119,7 @@ index db65ce62b..940d88b8b 100644
119119
static int net_dm_packet_report_fill(struct sk_buff *msg, struct sk_buff *skb,
120120
size_t payload_len)
121121
{
122-
@@ -717,6 +747,16 @@ net_dm_flow_action_cookie_size(const struct devlink_trap_metadata *hw_metadata)
122+
@@ -731,6 +761,16 @@ net_dm_flow_action_cookie_size(const struct devlink_trap_metadata *hw_metadata)
123123
nla_total_size(hw_metadata->fa_cookie->cookie_len) : 0;
124124
}
125125

@@ -136,7 +136,7 @@ index db65ce62b..940d88b8b 100644
136136
static size_t
137137
net_dm_hw_packet_report_size(size_t payload_len,
138138
const struct devlink_trap_metadata *hw_metadata)
139-
@@ -742,6 +782,16 @@ net_dm_hw_packet_report_size(size_t payload_len,
139+
@@ -756,6 +796,16 @@ net_dm_hw_packet_report_size(size_t payload_len,
140140
nla_total_size(sizeof(u32)) +
141141
/* NET_DM_ATTR_PROTO */
142142
nla_total_size(sizeof(u16)) +
@@ -153,7 +153,7 @@ index db65ce62b..940d88b8b 100644
153153
/* NET_DM_ATTR_PAYLOAD */
154154
nla_total_size(payload_len);
155155
}
156-
@@ -787,6 +837,43 @@ static int net_dm_hw_packet_report_fill(struct sk_buff *msg,
156+
@@ -801,6 +851,43 @@ static int net_dm_hw_packet_report_fill(struct sk_buff *msg,
157157
hw_metadata->fa_cookie->cookie))
158158
goto nla_put_failure;
159159

@@ -197,44 +197,42 @@ index db65ce62b..940d88b8b 100644
197197
if (nla_put_u64_64bit(msg, NET_DM_ATTR_TIMESTAMP,
198198
ktime_to_ns(skb->tstamp), NET_DM_ATTR_PAD))
199199
goto nla_put_failure;
200-
@@ -853,6 +940,26 @@ net_dm_hw_metadata_copy(const struct devlink_trap_metadata *metadata)
201-
if (hw_metadata->input_dev)
202-
dev_hold(hw_metadata->input_dev);
200+
@@ -867,6 +954,27 @@ net_dm_hw_metadata_copy(const struct devlink_trap_metadata *metadata)
201+
netdev_hold(hw_metadata->input_dev, &hw_metadata->dev_tracker,
202+
GFP_ATOMIC);
203203

204-
+ hw_metadata->output_port_dev = metadata->output_port_dev;
205-
+ if (hw_metadata->output_port_dev)
206-
+ dev_hold(hw_metadata->output_port_dev);
204+
+ hw_metadata->output_port_dev = metadata->output_port_dev;
205+
+ if (hw_metadata->output_port_dev)
206+
+ netdev_hold(hw_metadata->output_port_dev, &hw_metadata->dev_tracker, GFP_ATOMIC);
207+
+
208+
+ hw_metadata->output_lag_dev = metadata->output_lag_dev;
209+
+ if (hw_metadata->output_lag_dev)
210+
+ netdev_hold(hw_metadata->output_lag_dev, &hw_metadata->dev_tracker, GFP_ATOMIC);
207211
+
208-
+ hw_metadata->output_lag_dev = metadata->output_lag_dev;
209-
+ if (hw_metadata->output_lag_dev)
210-
+ dev_hold(hw_metadata->output_lag_dev);
212+
+ hw_metadata->out_tc_valid = metadata->out_tc_valid;
213+
+ if (hw_metadata->out_tc_valid)
214+
+ hw_metadata->out_tc = metadata->out_tc;
211215
+
212-
+ hw_metadata->out_tc_valid = metadata->out_tc_valid;
213-
+ if (hw_metadata->out_tc_valid)
214-
+ hw_metadata->out_tc = metadata->out_tc;
216+
+ hw_metadata->out_tc_occ_valid = metadata->out_tc_occ_valid;
215217
+
216-
+ hw_metadata->out_tc_occ_valid = metadata->out_tc_occ_valid;
217-
+ if (hw_metadata->out_tc_occ_valid)
218-
+ hw_metadata->out_tc_occ = metadata->out_tc_occ;
218+
+ if (hw_metadata->out_tc_occ_valid)
219+
+ hw_metadata->out_tc_occ = metadata->out_tc_occ;
219220
+
220-
+ hw_metadata->latency_valid = metadata->latency_valid;
221-
+ if (hw_metadata->latency_valid)
222-
+ hw_metadata->latency = metadata->latency;
221+
+ hw_metadata->latency_valid = metadata->latency_valid;
222+
+ if (hw_metadata->latency_valid)
223+
+ hw_metadata->latency = metadata->latency;
223224
+
224225
return hw_metadata;
225226

226227
free_trap_name:
227-
@@ -869,6 +976,10 @@ net_dm_hw_metadata_free(const struct devlink_trap_metadata *hw_metadata)
228+
@@ -882,6 +990,10 @@ static void
229+
net_dm_hw_metadata_free(struct devlink_trap_metadata *hw_metadata)
228230
{
229-
if (hw_metadata->input_dev)
230-
dev_put(hw_metadata->input_dev);
231-
+ if (hw_metadata->output_port_dev)
232-
+ dev_put(hw_metadata->output_port_dev);
233-
+ if (hw_metadata->output_lag_dev)
234-
+ dev_put(hw_metadata->output_lag_dev);
231+
netdev_put(hw_metadata->input_dev, &hw_metadata->dev_tracker);
232+
+ if (hw_metadata->output_port_dev)
233+
+ netdev_put(hw_metadata->output_port_dev, &hw_metadata->dev_tracker);
234+
+ if (hw_metadata->output_lag_dev)
235+
+ netdev_put(hw_metadata->output_lag_dev, &hw_metadata->dev_tracker);
235236
kfree(hw_metadata->fa_cookie);
236237
kfree(hw_metadata->trap_name);
237238
kfree(hw_metadata->trap_group_name);
238-
--
239-
2.30.2
240-

patch/series

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ driver-net-tg3-add-param-short-preamble-and-reset.patch
6868

6969
# Mellanox patches for 5.10
7070
###-> mellanox_sdk-start
71-
0003-psample-define-the-macro-PSAMPLE_MD_EXTENDED_ATTR.patch
72-
0004-drop_monitor-Extend-WJH-buffer-linux-channel.patch
71+
0001-psample-define-the-macro-PSAMPLE_MD_EXTENDED_ATTR.patch
72+
0002-drop_monitor-Extend-WJH-buffer-linux-channel.patch
7373
###-> mellanox_sdk-end
7474

7575
#TODO

0 commit comments

Comments
 (0)