Skip to content

Commit

Permalink
Added ipv6 subnet and gateway (#18)
Browse files Browse the repository at this point in the history
* Added ipv6 subnet and gateway

* Added ipv6 subnet and gateway

* Revert "Added ipv6 subnet and gateway"

This reverts commit 7a559fe3454466d0000d260a92a8262198ab25a6.

* Added format field for IPv6 subnet and gateway

* committing the generated file for filter change
  • Loading branch information
gkvijay authored and shaleman committed May 9, 2016
1 parent 1d248ed commit b1378f4
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 0 deletions.
10 changes: 10 additions & 0 deletions client/contivModel.js
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,10 @@ var NetworkSummaryView = React.createClass({

<td>{ network.gateway }</td>

<td>{ network.ipv6Gateway }</td>

<td>{ network.ipv6Subnet }</td>

<td>{ network.networkName }</td>

<td>{ network.nwType }</td>
Expand All @@ -302,6 +306,8 @@ var NetworkSummaryView = React.createClass({

<th> Encapsulation </th>
<th> Gateway </th>
<th> IPv6Gateway </th>
<th> IPv6Subnet </th>
<th> Network name </th>
<th> Network Type </th>
<th> Vlan/Vxlan Tag </th>
Expand Down Expand Up @@ -329,6 +335,10 @@ var NetworkModalView = React.createClass({

<Input type='text' label='Gateway' ref='gateway' defaultValue={obj.gateway} placeholder='Gateway' />

<Input type='text' label='IPv6Gateway' ref='ipv6Gateway' defaultValue={obj.ipv6Gateway} placeholder='IPv6Gateway' />

<Input type='text' label='IPv6Subnet' ref='ipv6Subnet' defaultValue={obj.ipv6Subnet} placeholder='IPv6Subnet' />

<Input type='text' label='Network name' ref='networkName' defaultValue={obj.networkName} placeholder='Network name' />

<Input type='text' label='Network Type' ref='nwType' defaultValue={obj.nwType} placeholder='Network Type' />
Expand Down
2 changes: 2 additions & 0 deletions client/contivModelClient.go
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,8 @@ type Network struct {

Encap string `json:"encap,omitempty"` // Encapsulation
Gateway string `json:"gateway,omitempty"` // Gateway
Ipv6Gateway string `json:"ipv6Gateway,omitempty"` // IPv6Gateway
Ipv6Subnet string `json:"ipv6Subnet,omitempty"` // IPv6Subnet
NetworkName string `json:"networkName,omitempty"` // Network name
NwType string `json:"nwType,omitempty"` // Network Type
PktTag int `json:"pktTag,omitempty"` // Vlan/Vxlan Tag
Expand Down
2 changes: 2 additions & 0 deletions client/contivModelClient.py
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,8 @@ def createNetwork(self, obj):
jdata = json.dumps({
"encap": obj.encap,
"gateway": obj.gateway,
"ipv6Gateway": obj.ipv6Gateway,
"ipv6Subnet": obj.ipv6Subnet,
"networkName": obj.networkName,
"pktTag": obj.pktTag,
"subnet": obj.subnet,
Expand Down
12 changes: 12 additions & 0 deletions contivModel.go
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,8 @@ type Network struct {

Encap string `json:"encap,omitempty"` // Encapsulation
Gateway string `json:"gateway,omitempty"` // Gateway
Ipv6Gateway string `json:"ipv6Gateway,omitempty"` // IPv6Gateway
Ipv6Subnet string `json:"ipv6Subnet,omitempty"` // IPv6Subnet
NetworkName string `json:"networkName,omitempty"` // Network name
NwType string `json:"nwType,omitempty"` // Network Type
PktTag int `json:"pktTag,omitempty"` // Vlan/Vxlan Tag
Expand Down Expand Up @@ -1870,6 +1872,16 @@ func ValidateNetwork(obj *Network) error {
return errors.New("gateway string invalid format")
}

ipv6GatewayMatch := regexp.MustCompile("^(((([0-9]|[a-f]|[A-F]){1,4})((\\:([0-9]|[a-f]|[A-F]){1,4}){7}))|(((([0-9]|[a-f]|[A-F]){1,4}\\:){0,6}|\\:)((\\:([0-9]|[a-f]|[A-F]){1,4}){0,6}|\\:)))?$")
if ipv6GatewayMatch.MatchString(obj.Ipv6Gateway) == false {
return errors.New("ipv6Gateway string invalid format")
}

ipv6SubnetMatch := regexp.MustCompile("^((((([0-9]|[a-f]|[A-F]){1,4})((\\:([0-9]|[a-f]|[A-F]){1,4}){7}))|(((([0-9]|[a-f]|[A-F]){1,4}\\:){0,6}|\\:)((\\:([0-9]|[a-f]|[A-F]){1,4}){0,6}|\\:)))/(1[0-2][0-7]|[1-9][0-9]|[1-9]))$")
if ipv6SubnetMatch.MatchString(obj.Ipv6Subnet) == false {
return errors.New("ipv6Subnet string invalid format")
}

if len(obj.NetworkName) > 64 {
return errors.New("networkName string too long")
}
Expand Down
12 changes: 12 additions & 0 deletions network.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,18 @@
"format": "^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(\\\\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3})?$",
"title": "Gateway",
"showSummary": true
},
"ipv6Subnet": {
"type": "string",
"format": "^((((([0-9]|[a-f]|[A-F]){1,4})((\\\\:([0-9]|[a-f]|[A-F]){1,4}){7}))|(((([0-9]|[a-f]|[A-F]){1,4}\\\\:){0,6}|\\\\:)((\\\\:([0-9]|[a-f]|[A-F]){1,4}){0,6}|\\\\:)))/(1[0-2][0-7]|[1-9][0-9]|[1-9]))$",
"title": "IPv6Subnet",
"showSummary": true
},
"ipv6Gateway": {
"type": "string",
"format": "^(((([0-9]|[a-f]|[A-F]){1,4})((\\\\:([0-9]|[a-f]|[A-F]){1,4}){7}))|(((([0-9]|[a-f]|[A-F]){1,4}\\\\:){0,6}|\\\\:)((\\\\:([0-9]|[a-f]|[A-F]){1,4}){0,6}|\\\\:)))?$",
"title": "IPv6Gateway",
"showSummary": true
}
},
"link-sets": {
Expand Down

0 comments on commit b1378f4

Please sign in to comment.