Revert "ripngd: Cleanup memory allocations on shutdown"
This reverts commit b1d29673ca16e558aea5d632da181555c83980cf.
This commit introduced a crash. When the VRF is deleted, the RIPNG
instance should not be freed, because the NB infrastructure still stores
the pointer to it. The instance should be deleted only when it's actually
deleted from the configuration.
To reproduce the crash:
```
frr# conf t
frr(config)# vrf vrf1
frr(config-vrf)# exit
frr(config)# router ripng vrf vrf1
frr(config-router)# exit
frr(config)# no vrf vrf1
frr(config)# no router ripng vrf vrf1
vtysh: error reading from ripngd: Resource temporarily unavailable (11)Warning: closing connection to ripngd because of an I/O error!
frr(config)#
```
Signed-off-by: Igor Ryzhov <email address hidden>
(cherry picked from commit 9f6dade90e5e4686f67ae17b42c2873ec7ca6532)
Revert "ripd: Cleanup memory allocations on shutdown"
This reverts commit 3d1588d8ed537e3dbf120e1b2a5ad5b3c00c7897.
This commit introduced a crash. When the VRF is deleted, the RIP instance
should not be freed, because the NB infrastructure still stores the
pointer to it. The instance should be deleted only when it's actually
deleted from the configuration.
To reproduce the crash:
```
frr# conf t
frr(config)# vrf vrf1
frr(config-vrf)# exit
frr(config)# router rip vrf vrf1
frr(config-router)# exit
frr(config)# no vrf vrf1
frr(config)# no router rip vrf vrf1
vtysh: error reading from ripd: Resource temporarily unavailable (11)Warning: closing connection to ripd because of an I/O error!
frr(config)#
```
Signed-off-by: Igor Ryzhov <email address hidden>
(cherry picked from commit 054ca9b9ee760e23ac5d9f8d26d50e8fca78a887)
In pbrd, don't encode a rule without a table. There are cases
where the zapi encoding was incorrect because the 4-octet
table id was missing. In zebra, mask off the ECN bits in the
TOS byte when encoding an iprule to match netlink's
expectation.
Signed-off-by: Mark Stapp <email address hidden>
(cherry picked from commit 4112baec9f7ec235c66e2c5992ba2288ca1557e7)
interface link update event needs
to be handle properly in ospf interface
cache.
Example:
When vrf (interface) is created its default type
would be set to BROADCAST because ifp->status
is not set to VRF.
Subsequent link event sets ifp->status to vrf,
ospf interface update need to compare current type
to new default type which would be VRF (OSPF_IFTYPE_LOOPBACK).
Since ospf type param was created in first add event,
ifp vrf link event didn't update ospf type param which
leads to treat vrf as non loopback interface.
Ticket:#3459451
Testing Done:
Running config suppose to bypass rendering default
network broadcast for loopback/vrf types.
The version of bfd pkt is represented by 3 bits in B[0].
Signed-off-by: zmw12306 <email address hidden>
(cherry picked from commit 3f658e8b1cfc82e1644cc36fcbc1554c70f558d0)
fdfee18...
by
Donatas Abraitis <email address hidden>
Merge pull request #13744 from FRRouting/mergify/bp/dev/9.0/pr-13726