On 24 Apr 2020, at 16:19, Lorenzo Bianconi wrote:
[...]
+{
+
+ switch (map->map_type) {
+ case BPF_MAP_TYPE_DEVMAP:
+ return dev_map_get_next_key(map, key, next_key);
+ case BPF_MAP_TYPE_DEVMAP_HASH:
+ return dev_map_hash_get_next_key(map, key, next_key);
+ default:
+ break;
+ }
+
+ return -ENOENT;
+}
+
+bool dev_in_exclude_map(struct bpf_dtab_netdev *obj, struct bpf_map
*map,
+ int exclude_ifindex)
+{
+ struct bpf_dtab_netdev *in_obj = NULL;
+ u32 key, next_key;
+ int err;
+
+ if (!map)
+ return false;
doing so it seems mandatory to define an exclude_map even if we want
just to do
not forward the packet to the "ingress" interface.
Moreover I was thinking that we can assume to never forward to in the
incoming
interface. Doing so the code would be simpler I guess. Is there a use
case for
it? (forward even to the ingress interface)
This part I can answer, it’s called VEPA, I think it’s part of IEEE
802.1Qbg.