Hangbin Liu <liuhangbin@xxxxxxxxx> writes: > 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.. Ah, right, of course, my bad :) Well, in that case adding both members back is probably the right thing to do... -Toke