mlxsw: reg: Add mlxsw_reg_ralue_act_ip2me_tun_pack()
authorPetr Machata <petrm@mellanox.com>
Sat, 2 Sep 2017 21:49:12 +0000 (23:49 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 4 Sep 2017 03:23:24 +0000 (20:23 -0700)
To implement IP-in-IP decapsulation, Spectrum uses LPM entries of type
IP2ME with tunnel validity bit and tunnel pointer set. The necessary
register fields are already available, so add a function to pack the
RALUE as appropriate.

Signed-off-by: Petr Machata <petrm@mellanox.com>
Reviewed-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/reg.h

index bf936b660a7f59d46e167cedad08dd530498c10b..24296cfd92b9772d4a3997ae12fa84da84437148 100644 (file)
@@ -5054,6 +5054,15 @@ mlxsw_reg_ralue_act_ip2me_pack(char *payload)
                                        MLXSW_REG_RALUE_ACTION_TYPE_IP2ME);
 }
 
+static inline void
+mlxsw_reg_ralue_act_ip2me_tun_pack(char *payload, u32 tunnel_ptr)
+{
+       mlxsw_reg_ralue_action_type_set(payload,
+                                       MLXSW_REG_RALUE_ACTION_TYPE_IP2ME);
+       mlxsw_reg_ralue_ip2me_v_set(payload, 1);
+       mlxsw_reg_ralue_ip2me_tunnel_ptr_set(payload, tunnel_ptr);
+}
+
 /* RAUHT - Router Algorithmic LPM Unicast Host Table Register
  * ----------------------------------------------------------
  * The RAUHT register is used to configure and query the Unicast Host table in