mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-10-18 19:19:17 +00:00
zebra: rework pbr ipset entry
Add ns_id into zebra_pbr ipset This is important so that each ipset entry knows on which NETNS the ipset entry must be inkected Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
This commit is contained in:
parent
19300af8f2
commit
be2028d19b
@ -2847,6 +2847,7 @@ static inline void zread_ipset(ZAPI_HANDLER_ARGS)
|
||||
memset(&zpi, 0, sizeof(zpi));
|
||||
|
||||
zpi.sock = client->sock;
|
||||
zpi.vrf_id = zvrf->vrf->vrf_id;
|
||||
STREAM_GETL(s, zpi.unique);
|
||||
STREAM_GETL(s, zpi.type);
|
||||
STREAM_GET(&zpi.ipset_name, s, ZEBRA_IPSET_NAME_SIZE);
|
||||
@ -2914,6 +2915,7 @@ static inline void zread_iptable(ZAPI_HANDLER_ARGS)
|
||||
memset(&zpi, 0, sizeof(zpi));
|
||||
|
||||
zpi.sock = client->sock;
|
||||
zpi.vrf_id = zvrf->vrf->vrf_id;
|
||||
STREAM_GETL(s, zpi.unique);
|
||||
STREAM_GETL(s, zpi.type);
|
||||
STREAM_GETL(s, zpi.filter_bm);
|
||||
|
@ -262,10 +262,10 @@ int zebra_ns_disable(ns_id_t ns_id, void **info)
|
||||
|
||||
hash_clean(zns->rules_hash, zebra_pbr_rules_free);
|
||||
hash_free(zns->rules_hash);
|
||||
hash_clean(zns->ipset_hash, zebra_pbr_ipset_free);
|
||||
hash_free(zns->ipset_hash);
|
||||
hash_clean(zns->ipset_entry_hash,
|
||||
zebra_pbr_ipset_entry_free),
|
||||
hash_clean(zns->ipset_hash, zebra_pbr_ipset_free);
|
||||
hash_free(zns->ipset_hash);
|
||||
hash_free(zns->ipset_entry_hash);
|
||||
hash_clean(zns->iptable_hash,
|
||||
zebra_pbr_iptable_free);
|
||||
|
@ -61,6 +61,8 @@ struct zebra_pbr_ipset {
|
||||
*/
|
||||
int sock;
|
||||
|
||||
vrf_id_t vrf_id;
|
||||
|
||||
uint32_t unique;
|
||||
|
||||
/* type is encoded as uint32_t
|
||||
@ -104,6 +106,8 @@ struct zebra_pbr_iptable {
|
||||
*/
|
||||
int sock;
|
||||
|
||||
vrf_id_t vrf_id;
|
||||
|
||||
uint32_t unique;
|
||||
|
||||
/* include ipset type
|
||||
|
Loading…
Reference in New Issue
Block a user