On Fri, Jul 10, 2020 at 04:32:35PM +0200, Daniel Borkmann wrote:
> On 7/10/20 8:41 AM, Hangbin Liu wrote:
> > On Fri, Jul 10, 2020 at 12:40:11AM +0200, Daniel Borkmann wrote:
> > > > +SEC("xdp_redirect_map_multi")
> > > > +int xdp_redirect_map_multi_prog(struct xdp_md *ctx)
> > > > +{
> > > > +       long *value;
> > > > +       u32 key = 0;
> > > > +
> > > > +       /* count packet in global counter */
> > > > +       value = bpf_map_lookup_elem(&rxcnt, &key);
> > > > +       if (value)
> > > > +               *value += 1;
> > > > +
> > > > +       return bpf_redirect_map_multi(&forward_map, &null_map,
> > > > +                                     BPF_F_EXCLUDE_INGRESS);
> > > 
> > > Why not extending to allow use-case like ...
> > > 
> > >    return bpf_redirect_map_multi(&fwd_map, NULL, BPF_F_EXCLUDE_INGRESS);
> > > 
> > > ... instead of requiring a dummy/'null' map?
> > 
> > I planed to let user set NULL, but the arg2_type is ARG_CONST_MAP_PTR, which
> > not allow NULL pointer.
> 
> Right, but then why not adding a new type ARG_CONST_MAP_PTR_OR_NULL ?

Yes, that's what I plan for next step.

Thanks
Hangbin

Reply via email to