|
@@ -30,6 +30,7 @@ struct sock;
|
|
|
struct seccomp_data;
|
|
|
struct bpf_prog_aux;
|
|
|
struct xdp_rxq_info;
|
|
|
+struct xdp_buff;
|
|
|
|
|
|
/* ArgX, context and stack frame pointer register positions. Note,
|
|
|
* Arg1, Arg2, Arg3, etc are used as argument mappings of function
|
|
@@ -500,14 +501,6 @@ struct bpf_skb_data_end {
|
|
|
void *data_end;
|
|
|
};
|
|
|
|
|
|
-struct xdp_buff {
|
|
|
- void *data;
|
|
|
- void *data_end;
|
|
|
- void *data_meta;
|
|
|
- void *data_hard_start;
|
|
|
- struct xdp_rxq_info *rxq;
|
|
|
-};
|
|
|
-
|
|
|
struct sk_msg_buff {
|
|
|
void *data;
|
|
|
void *data_end;
|
|
@@ -772,21 +765,6 @@ int xdp_do_redirect(struct net_device *dev,
|
|
|
struct bpf_prog *prog);
|
|
|
void xdp_do_flush_map(void);
|
|
|
|
|
|
-/* Drivers not supporting XDP metadata can use this helper, which
|
|
|
- * rejects any room expansion for metadata as a result.
|
|
|
- */
|
|
|
-static __always_inline void
|
|
|
-xdp_set_data_meta_invalid(struct xdp_buff *xdp)
|
|
|
-{
|
|
|
- xdp->data_meta = xdp->data + 1;
|
|
|
-}
|
|
|
-
|
|
|
-static __always_inline bool
|
|
|
-xdp_data_meta_unsupported(const struct xdp_buff *xdp)
|
|
|
-{
|
|
|
- return unlikely(xdp->data_meta > xdp->data);
|
|
|
-}
|
|
|
-
|
|
|
void bpf_warn_invalid_xdp_action(u32 act);
|
|
|
|
|
|
struct sock *do_sk_redirect_map(struct sk_buff *skb);
|