diff options
author | gVisor bot <gvisor-bot@google.com> | 2020-02-11 21:01:26 +0000 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2020-02-11 21:01:26 +0000 |
commit | 6b039d55f658dfd4aec139ead9e99ff622c29de0 (patch) | |
tree | 908b090382b0460ab248d049f1d90bd4b66f7b39 /pkg | |
parent | b92a60b3669d9f026c3bf8a023347105e0283624 (diff) | |
parent | b8e22e241cab625d2809034c74d0ff808b948b4c (diff) |
Merge release-20200127.0-131-gb8e22e2 (automated)
Diffstat (limited to 'pkg')
-rw-r--r-- | pkg/tcpip/stack/nic.go | 5 | ||||
-rw-r--r-- | pkg/tcpip/stack/stack.go | 9 |
2 files changed, 14 insertions, 0 deletions
diff --git a/pkg/tcpip/stack/nic.go b/pkg/tcpip/stack/nic.go index 78d451cca..ca3a7a07e 100644 --- a/pkg/tcpip/stack/nic.go +++ b/pkg/tcpip/stack/nic.go @@ -1215,6 +1215,11 @@ func (n *NIC) ID() tcpip.NICID { return n.id } +// Name returns the name of n. +func (n *NIC) Name() string { + return n.name +} + // Stack returns the instance of the Stack that owns this NIC. func (n *NIC) Stack() *Stack { return n.stack diff --git a/pkg/tcpip/stack/stack.go b/pkg/tcpip/stack/stack.go index b793f1d74..6eac16e16 100644 --- a/pkg/tcpip/stack/stack.go +++ b/pkg/tcpip/stack/stack.go @@ -890,6 +890,15 @@ func (s *Stack) CreateNICWithOptions(id tcpip.NICID, ep LinkEndpoint, opts NICOp return tcpip.ErrDuplicateNICID } + // Make sure name is unique, unless unnamed. + if opts.Name != "" { + for _, n := range s.nics { + if n.Name() == opts.Name { + return tcpip.ErrDuplicateNICID + } + } + } + n := newNIC(s, id, opts.Name, ep, opts.Context) s.nics[id] = n |