nfp: flower: offload tunnel decap rules via indirect TC blocks
[linux-2.6-microblaze.git] / drivers / net / ethernet / netronome / nfp / flower / main.h
index 0f6f167..8c84829 100644 (file)
@@ -130,6 +130,7 @@ struct nfp_fl_lag {
  * @reify_wait_queue:  wait queue for repr reify response counting
  * @mtu_conf:          Configuration of repr MTU value
  * @nfp_lag:           Link aggregation data block
+ * @indr_block_cb_priv:        List of priv data passed to indirect block cbs
  */
 struct nfp_flower_priv {
        struct nfp_app *app;
@@ -162,6 +163,7 @@ struct nfp_flower_priv {
        wait_queue_head_t reify_wait_queue;
        struct nfp_mtu_conf mtu_conf;
        struct nfp_fl_lag nfp_lag;
+       struct list_head indr_block_cb_priv;
 };
 
 /**
@@ -222,7 +224,8 @@ void nfp_flower_metadata_cleanup(struct nfp_app *app);
 
 int nfp_flower_setup_tc(struct nfp_app *app, struct net_device *netdev,
                        enum tc_setup_type type, void *type_data);
-int nfp_flower_compile_flow_match(struct tc_cls_flower_offload *flow,
+int nfp_flower_compile_flow_match(struct nfp_app *app,
+                                 struct tc_cls_flower_offload *flow,
                                  struct nfp_fl_key_ls *key_ls,
                                  struct net_device *netdev,
                                  struct nfp_fl_payload *nfp_flow,
@@ -270,5 +273,8 @@ int nfp_flower_lag_populate_pre_action(struct nfp_app *app,
                                       struct nfp_fl_pre_lag *pre_act);
 int nfp_flower_lag_get_output_id(struct nfp_app *app,
                                 struct net_device *master);
+int nfp_flower_reg_indir_block_handler(struct nfp_app *app,
+                                      struct net_device *netdev,
+                                      unsigned long event);
 
 #endif