From abce509affe1f25bbb4905670371ad202529d5e0 Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Wed, 10 May 2017 20:09:31 +0200 Subject: vnet: introduce error state for sw interfaces Interfaces with error state are not allowed to go admin up Change-Id: I09fc09a5b28130aead219dccbc2e0f30ea7414cf Signed-off-by: Damjan Marion --- src/vnet/interface.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/vnet/interface.c') diff --git a/src/vnet/interface.c b/src/vnet/interface.c index 24f216f63b9..41e218642f7 100644 --- a/src/vnet/interface.c +++ b/src/vnet/interface.c @@ -482,6 +482,13 @@ vnet_sw_interface_set_flags_helper (vnet_main_t * vnm, u32 sw_if_index, vnet_device_class_t *dev_class = vnet_get_device_class (vnm, hi->dev_class_index); + if ((flags & VNET_SW_INTERFACE_FLAG_ADMIN_UP) && + (si->flags & VNET_SW_INTERFACE_FLAG_ERROR)) + { + error = clib_error_return (0, "Interface in the error state"); + goto done; + } + /* save the si admin up flag */ old_flags = si->flags; -- cgit 1.2.3-korg