]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Opaque types are named opaque also in filters
authorMaria Matejka <mq@ucw.cz>
Sat, 26 Mar 2022 11:40:46 +0000 (12:40 +0100)
committerMaria Matejka <mq@ucw.cz>
Wed, 4 May 2022 13:37:41 +0000 (15:37 +0200)
filter/data.h
filter/f-inst.c
proto/bgp/config.Y

index 6d5882042c54519003b385249571269a3a3d52e1..924bbf3e6a682cd5d2d23f193be3946a8dd38162 100644 (file)
@@ -20,6 +20,9 @@ enum f_type {
 /* Nothing. Simply nothing. */
   T_VOID = 0,
 
+/* Something but inaccessible. */
+  T_OPAQUE = 0xee,
+
 /* User visible types, which fit in int */
   T_INT = 0x10,
   T_BOOL = 0x11,
@@ -41,7 +44,6 @@ enum f_type {
   T_ENUM_AF = 0x38,
 
 /* new enums go here */
-  T_ENUM_EMPTY = 0x3f, /* Special hack for atomic_aggr */
 
 #define T_ENUM T_ENUM_LO ... T_ENUM_HI
 
index 11ca1e28eeb18402f947dfa958a09fd8eb8c00e7..75a534998748ac41110bf62de5f6236686186ff2 100644 (file)
        RESULT_(T_QUAD, i, e->u.data);
        break;
       case EAF_TYPE_OPAQUE:
-       RESULT_(T_ENUM_EMPTY, i, 0);
+       RESULT_(T_OPAQUE, ad, e->u.ptr);
        break;
       case EAF_TYPE_IP_ADDRESS:
        RESULT_(T_IP, ip, *((ip_addr *) e->u.ptr->data));
index 04920941c9fd331ff984cb3dee6b54e2b68ea9c6..86124bfbe39833620ad9ee926e220fbf24fd257b 100644 (file)
@@ -328,9 +328,9 @@ dynamic_attr: BGP_MED
 dynamic_attr: BGP_LOCAL_PREF
        { $$ = f_new_dynamic_attr(EAF_TYPE_INT, T_INT, EA_CODE(PROTOCOL_BGP, BA_LOCAL_PREF)); } ;
 dynamic_attr: BGP_ATOMIC_AGGR
-       { $$ = f_new_dynamic_attr(EAF_TYPE_OPAQUE, T_ENUM_EMPTY, EA_CODE(PROTOCOL_BGP, BA_ATOMIC_AGGR)); } ;
+       { $$ = f_new_dynamic_attr(EAF_TYPE_OPAQUE, T_OPAQUE, EA_CODE(PROTOCOL_BGP, BA_ATOMIC_AGGR)); } ;
 dynamic_attr: BGP_AGGREGATOR
-       { $$ = f_new_dynamic_attr(EAF_TYPE_OPAQUE, T_ENUM_EMPTY, EA_CODE(PROTOCOL_BGP, BA_AGGREGATOR)); } ;
+       { $$ = f_new_dynamic_attr(EAF_TYPE_OPAQUE, T_OPAQUE, EA_CODE(PROTOCOL_BGP, BA_AGGREGATOR)); } ;
 dynamic_attr: BGP_COMMUNITY
        { $$ = f_new_dynamic_attr(EAF_TYPE_INT_SET, T_CLIST, EA_CODE(PROTOCOL_BGP, BA_COMMUNITY)); } ;
 dynamic_attr: BGP_ORIGINATOR_ID
@@ -340,7 +340,7 @@ dynamic_attr: BGP_CLUSTER_LIST
 dynamic_attr: BGP_EXT_COMMUNITY
        { $$ = f_new_dynamic_attr(EAF_TYPE_EC_SET, T_ECLIST, EA_CODE(PROTOCOL_BGP, BA_EXT_COMMUNITY)); } ;
 dynamic_attr: BGP_AIGP
-       { $$ = f_new_dynamic_attr(EAF_TYPE_OPAQUE, T_ENUM_EMPTY, EA_CODE(PROTOCOL_BGP, BA_AIGP)); } ;
+       { $$ = f_new_dynamic_attr(EAF_TYPE_OPAQUE, T_OPAQUE, EA_CODE(PROTOCOL_BGP, BA_AIGP)); } ;
 dynamic_attr: BGP_LARGE_COMMUNITY
        { $$ = f_new_dynamic_attr(EAF_TYPE_LC_SET, T_LCLIST, EA_CODE(PROTOCOL_BGP, BA_LARGE_COMMUNITY)); } ;