diff options
| author | Donatas Abraitis <donatas@opensourcerouting.org> | 2024-08-11 13:59:13 +0300 | 
|---|---|---|
| committer | Donatas Abraitis <donatas@opensourcerouting.org> | 2024-08-11 13:59:13 +0300 | 
| commit | 4ace11d0101450d6e3ae6be26cdb07313e171a46 (patch) | |
| tree | 44544b114005c47e5d1f911abe88b4c002896d6a /bgpd/bgp_nht.c | |
| parent | 423e8076b53fe359f83575c5f2d8b80741d592b5 (diff) | |
bgpd: Move evpn_overlay to a pointer
Before this convertion:
```
	/* --- cacheline 3 boundary (192 bytes) --- */
	struct bgp_attr_encap_subtlv * encap_subtlvs;    /*   192     8 */
	struct bgp_attr_encap_subtlv * vnc_subtlvs;      /*   200     8 */
	struct bgp_route_evpn      evpn_overlay;         /*   208    36 */
```
After this convertion:
```
	/* --- cacheline 3 boundary (192 bytes) --- */
	struct bgp_attr_encap_subtlv * encap_subtlvs;    /*   192     8 */
	struct bgp_attr_encap_subtlv * vnc_subtlvs;      /*   200     8 */
	struct bgp_route_evpn *    evpn_overlay;         /*   208     8 */
```
Saving 28 bytes when EVPN is not used.
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Diffstat (limited to 'bgpd/bgp_nht.c')
| -rw-r--r-- | bgpd/bgp_nht.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/bgpd/bgp_nht.c b/bgpd/bgp_nht.c index 8ce45558e9..504428b0d6 100644 --- a/bgpd/bgp_nht.c +++ b/bgpd/bgp_nht.c @@ -1300,11 +1300,13 @@ void evaluate_paths(struct bgp_nexthop_cache *bnc)  		bool bnc_is_valid_nexthop = false;  		bool path_valid = false; +		struct bgp_route_evpn *bre = +			bgp_attr_get_evpn_overlay(path->attr);  		if (safi == SAFI_UNICAST &&  		    path->sub_type == BGP_ROUTE_IMPORTED &&  		    bgp_path_info_num_labels(path) && -		    (path->attr->evpn_overlay.type != OVERLAY_INDEX_GATEWAY_IP)) { +		    !(bre && bre->type == OVERLAY_INDEX_GATEWAY_IP)) {  			bnc_is_valid_nexthop =  				bgp_isvalid_nexthop_for_l3vpn(bnc, path)  					? true  | 
