mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-10-19 16:27:16 +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));
|
memset(&zpi, 0, sizeof(zpi));
|
||||||
|
|
||||||
zpi.sock = client->sock;
|
zpi.sock = client->sock;
|
||||||
|
zpi.vrf_id = zvrf->vrf->vrf_id;
|
||||||
STREAM_GETL(s, zpi.unique);
|
STREAM_GETL(s, zpi.unique);
|
||||||
STREAM_GETL(s, zpi.type);
|
STREAM_GETL(s, zpi.type);
|
||||||
STREAM_GET(&zpi.ipset_name, s, ZEBRA_IPSET_NAME_SIZE);
|
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));
|
memset(&zpi, 0, sizeof(zpi));
|
||||||
|
|
||||||
zpi.sock = client->sock;
|
zpi.sock = client->sock;
|
||||||
|
zpi.vrf_id = zvrf->vrf->vrf_id;
|
||||||
STREAM_GETL(s, zpi.unique);
|
STREAM_GETL(s, zpi.unique);
|
||||||
STREAM_GETL(s, zpi.type);
|
STREAM_GETL(s, zpi.type);
|
||||||
STREAM_GETL(s, zpi.filter_bm);
|
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_clean(zns->rules_hash, zebra_pbr_rules_free);
|
||||||
hash_free(zns->rules_hash);
|
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,
|
hash_clean(zns->ipset_entry_hash,
|
||||||
zebra_pbr_ipset_entry_free),
|
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_free(zns->ipset_entry_hash);
|
||||||
hash_clean(zns->iptable_hash,
|
hash_clean(zns->iptable_hash,
|
||||||
zebra_pbr_iptable_free);
|
zebra_pbr_iptable_free);
|
||||||
|
@ -61,6 +61,8 @@ struct zebra_pbr_ipset {
|
|||||||
*/
|
*/
|
||||||
int sock;
|
int sock;
|
||||||
|
|
||||||
|
vrf_id_t vrf_id;
|
||||||
|
|
||||||
uint32_t unique;
|
uint32_t unique;
|
||||||
|
|
||||||
/* type is encoded as uint32_t
|
/* type is encoded as uint32_t
|
||||||
@ -104,6 +106,8 @@ struct zebra_pbr_iptable {
|
|||||||
*/
|
*/
|
||||||
int sock;
|
int sock;
|
||||||
|
|
||||||
|
vrf_id_t vrf_id;
|
||||||
|
|
||||||
uint32_t unique;
|
uint32_t unique;
|
||||||
|
|
||||||
/* include ipset type
|
/* include ipset type
|
||||||
|
Loading…
Reference in New Issue
Block a user