diff options
author | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2008-12-18 17:19:46 -0800 |
---|---|---|
committer | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2008-12-18 17:19:46 -0800 |
commit | 3111ae93268b1af36e469b1f7744e821f27f0a30 (patch) | |
tree | 0c6282fe70d9f0df38ec5136a046ce14311c0d42 /zebra/interface.c | |
parent | 0b49f5d475aa5503e60d8dbdc9b4dcc8f6a614ec (diff) | |
parent | 177fec0b82d18dc92fe40b51bf1a4a294fb9a7ff (diff) | |
download | quagga-3111ae93268b1af36e469b1f7744e821f27f0a30.tar.bz2 quagga-3111ae93268b1af36e469b1f7744e821f27f0a30.tar.xz |
Merge branch 'jenner' of suva.vyatta.com:/git/vyatta-quagga into jenner
Diffstat (limited to 'zebra/interface.c')
-rw-r--r-- | zebra/interface.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/zebra/interface.c b/zebra/interface.c index 74c977a9..dec91297 100644 --- a/zebra/interface.c +++ b/zebra/interface.c @@ -483,6 +483,22 @@ if_delete_update (struct interface *ifp) ifp->ifindex = IFINDEX_INTERNAL; } +/* Quagga daemons don't handle rename, so delete then add */ +void +if_rename (struct interface *ifp, const char *name) +{ + int ifindex = ifp->ifindex; + + if_delete_update(ifp); + listnode_delete (iflist, ifp); + + strncpy(ifp->name, name, INTERFACE_NAMSIZ); + ifp->ifindex = ifindex; + + listnode_add_sort (iflist, ifp); + if_add_update (ifp); +} + /* Interface is up. */ void if_up (struct interface *ifp) |