On Thu, Mar 18, 2021 at 03:19:47PM +0100, Toke Høiland-Jørgensen wrote: > Hangbin Liu <liuhangbin@xxxxxxxxx> writes: > > > On Wed, Mar 17, 2021 at 01:03:02PM +0100, Toke Høiland-Jørgensen wrote: > >> FYI, this no longer applies to bpf-next due to Björn's refactor in > >> commit: ee75aef23afe ("bpf, xdp: Restructure redirect actions") > > > > Thanks Toke, I need to see how to get the map via map_id, does > > bpf_map_get_curr_or_next() works? Should I call bpf_map_put() after > > using? > > I would expect that to be terrible for performance; I think it would be > better to just add back the map pointer into struct bpf_redirect_info. > If you only set the map pointer when the multicast flag is set, you can > just check that pointer to disambiguate between when you need to call > dev_map_enqueue() and dev_map_enqueue_multi(), in which case you don't > need to add back the flags member... There are 2 flags, BROADCAST and EXCLUDE_INGRESS. There is no way to only check the map pointer and ignore flags.. Thanks Hangbin