The following pull request was submitted through Github.
It can be accessed and reviewed at: https://github.com/lxc/lxc/pull/1626

This e-mail was sent by the LXC bot, direct replies will not reach the author
unless they happen to be subscribed to this list.

=== Description (from pull-request) ===
This implements a new network configuration parser.

Previous versions of `liblxc` had suffered from several legacy design decisions such that network configuration was kind of unintuitive. For example, to specify a network the order of the keys mattered:

```
lxc.network.type = veth
lxc.network.flags = up
```
would work fine whereas

```
lxc.network.flags = up
lxc.network.type = veth
```
would not. This obviously was caused by the fact that multiple networks were supposed to be specified by using keys without any index. Meaning that each new `lxc.network.type` key marked the configuration of a new network. Later, network configuration based on indexes was supported meaning that:

```
lxc.network.0.type = veth
lxc.network.0.flags = up

lxc.network.1.type = veth
lxc.network.1.flags = up
```
could be used to specify multiple networks. While an improvement, the ordering of the keys still mattered. 

The new network configuration parser doesn't care about ordering. It will internally simply keep the index of the network and maintain an ordered list configured networks. For example:

```
lxc.network.2.flags = up
lxc.network.2.type = veth
lxc.network.2.name=eth5

lxc.network.0.type=veth
lxc.network.0.link=lxcbr0
lxc.network.0.name=eth1
lxc.network.0.flags=up

lxc.network.3.type=veth
lxc.network.3.link=lxcbr0
lxc.network.3.name=eth3
lxc.network.3.flags=up
lxc.network.hwaddr = 00:16:3e:5d:7d:65
```

would internally be tracked as:
```
0
2
3
```
Signed-off-by: Christian Brauner <[email protected]>





<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">



  <link crossorigin="anonymous" 
href="https://assets-cdn.github.com/assets/frameworks-49f1e970452082ece91a8cb77754f31a769167f4f9cd527a501b1cafa52bb1b6.css";
 media="all" rel="stylesheet" />
  <link crossorigin="anonymous" 
href="https://assets-cdn.github.com/assets/github-ce3ebe5d1dd355f0392e6e28517d527ed818deb403150d4e1d697f4642222988.css";
 media="all" rel="stylesheet" />
  
  
  <link crossorigin="anonymous" 
href="https://assets-cdn.github.com/assets/site-a59bd8fb44017386caff9fbca36994bddc4e2da35d6b61b41f39734d64cf6bb6.css";
 media="all" rel="stylesheet" />
  

  <meta name="viewport" content="width=device-width">
  
  <title>new network config parser by brauner · Pull Request #1626 · lxc/lxc · 
GitHub</title>
  <link rel="search" type="application/opensearchdescription+xml" 
href="/opensearch.xml" title="GitHub">
  <link rel="fluid-icon" href="https://github.com/fluidicon.png"; title="GitHub">
  <meta property="fb:app_id" content="1401488693436528">

    
    <meta 
content="https://avatars3.githubusercontent.com/u/7353573?v=3&amp;s=400"; 
property="og:image" /><meta content="GitHub" property="og:site_name" /><meta 
content="object" property="og:type" /><meta content="new network config parser 
by brauner · Pull Request #1626 · lxc/lxc" property="og:title" /><meta 
content="https://github.com/lxc/lxc/pull/1626"; property="og:url" /><meta 
content="This implements a new network configuration parser.
Previous versions of liblxc had suffered from several legacy design decisions 
such that network configuration was kind of unintuitive. For exampl..." 
property="og:description" />

  <link rel="assets" href="https://assets-cdn.github.com/";>
  
  <meta name="pjax-timeout" content="1000">
  
  <meta name="request-id" content="8862:2F62:1306B90:1A22147:594154F5" 
data-pjax-transient>
  

  <meta name="selected-link" value="repo_pulls" data-pjax-transient>

  <meta name="google-site-verification" 
content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU">
<meta name="google-site-verification" 
content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA">
    <meta name="google-analytics" content="UA-3769691-2">

<meta content="collector.githubapp.com" name="octolytics-host" /><meta 
content="github" name="octolytics-app-id" /><meta 
content="https://collector.githubapp.com/github-external/browser_event"; 
name="octolytics-event-url" /><meta 
content="8862:2F62:1306B90:1A22147:594154F5" 
name="octolytics-dimension-request_id" /><meta content="iad" 
name="octolytics-dimension-region_edge" /><meta content="iad" 
name="octolytics-dimension-region_render" />
<meta content="/&lt;user-name&gt;/&lt;repo-name&gt;/pull_requests/show" 
data-pjax-transient="true" name="analytics-location" />




  <meta class="js-ga-set" name="dimension1" content="Logged Out">


  

      <meta name="hostname" content="github.com">
  <meta name="user-login" content="">

      <meta name="expected-hostname" content="github.com">
    <meta name="js-proxy-site-detection-payload" 
content="OGYxN2NjNTUyYzAzZmZjZjU2ZWM5Y2EyN2NmMWFhZmRlMDM5ZmNhMTBkOWJmOWQxZWI1MjZmZWU4ZWJkYzAyMXx7InJlbW90ZV9hZGRyZXNzIjoiMTQ5LjU2LjE0OC4wIiwicmVxdWVzdF9pZCI6Ijg4NjI6MkY2MjoxMzA2QjkwOjFBMjIxNDc6NTk0MTU0RjUiLCJ0aW1lc3RhbXAiOjE0OTc0NTM4MTQsImhvc3QiOiJnaXRodWIuY29tIn0=">


  <meta name="html-safe-nonce" 
content="9562faf6e1d14e05a5048a2fc0f7f2e20164ca1a">

  <meta http-equiv="x-pjax-version" content="8bdcce760611da3548495ddf59e23177">
  

      <style type="text/css" media="screen">
    span.labelstyle-006b75, .linked-labelstyle-006b75 {  background-color: 
#006b75 !important;  color: #fff !important;}.labelstyle-006b75.selected {  
background-color: #006b75 !important;  color: #fff 
!important;}.label-select-menu .labelstyle-006b75.selected {  
background:rgba(0, 107, 117, 0.12) !important;  color: #008b99 !important;}

span.labelstyle-eb6420, .linked-labelstyle-eb6420 {  background-color: #eb6420 
!important;  color: #fff !important;}.labelstyle-eb6420.selected {  
background-color: #eb6420 !important;  color: #fff 
!important;}.label-select-menu .labelstyle-eb6420.selected {  
background:rgba(235, 100, 32, 0.12) !important;  color: #994114 !important;}

span.labelstyle-d4c5f9, .linked-labelstyle-d4c5f9 {  background-color: #d4c5f9 
!important;  color: #2b2833 !important;}.labelstyle-d4c5f9.selected {  
background-color: #d4c5f9 !important;  color: #2b2833 
!important;}.label-select-menu .labelstyle-d4c5f9.selected {  
background:rgba(212, 197, 249, 0.12) !important;  color: #827999 !important;}

span.labelstyle-009800, .linked-labelstyle-009800 {  background-color: #009800 
!important;  color: #fff !important;}.labelstyle-009800.selected {  
background-color: #009800 !important;  color: #fff 
!important;}.label-select-menu .labelstyle-009800.selected {  
background:rgba(0, 152, 0, 0.12) !important;  color: #009900 !important;}

span.labelstyle-84b6eb, .linked-labelstyle-84b6eb {  background-color: #84b6eb 
!important;  color: #1c2733 !important;}.labelstyle-84b6eb.selected {  
background-color: #84b6eb !important;  color: #1c2733 
!important;}.label-select-menu .labelstyle-84b6eb.selected {  
background:rgba(132, 182, 235, 0.12) !important;  color: #557699 !important;}

span.labelstyle-5319e7, .linked-labelstyle-5319e7 {  background-color: #5319e7 
!important;  color: #fff !important;}.labelstyle-5319e7.selected {  
background-color: #5319e7 !important;  color: #fff 
!important;}.label-select-menu .labelstyle-5319e7.selected {  
background:rgba(83, 25, 231, 0.12) !important;  color: #361099 !important;}

span.labelstyle-e6e6e6, .linked-labelstyle-e6e6e6 {  background-color: #e6e6e6 
!important;  color: #333333 !important;}.labelstyle-e6e6e6.selected {  
background-color: #e6e6e6 !important;  color: #333333 
!important;}.label-select-menu .labelstyle-e6e6e6.selected {  
background:rgba(230, 230, 230, 0.12) !important;  color: #999999 !important;}

span.labelstyle-e11d21, .linked-labelstyle-e11d21 {  background-color: #e11d21 
!important;  color: #fff !important;}.labelstyle-e11d21.selected {  
background-color: #e11d21 !important;  color: #fff 
!important;}.label-select-menu .labelstyle-e11d21.selected {  
background:rgba(225, 29, 33, 0.12) !important;  color: #991316 !important;}

span.labelstyle-fbca04, .linked-labelstyle-fbca04 {  background-color: #fbca04 
!important;  color: #332900 !important;}.labelstyle-fbca04.selected {  
background-color: #fbca04 !important;  color: #332900 
!important;}.label-select-menu .labelstyle-fbca04.selected {  
background:rgba(251, 202, 4, 0.12) !important;  color: #997b02 !important;}
  </style>
  <link 
href="https://github.com/lxc/lxc/commits/2017-06-13/new_networks_parser.atom"; 
rel="alternate" title="Recent Commits to lxc:2017-06-13/new_networks_parser" 
type="application/atom+xml">

  <meta name="description" content="lxc - LXC - Linux Containers">
  <meta name="go-import" content="github.com/lxc/lxc git 
https://github.com/lxc/lxc.git";>

  <meta content="2301756" name="octolytics-dimension-user_id" /><meta 
content="lxc" name="octolytics-dimension-user_login" /><meta content="5720995" 
name="octolytics-dimension-repository_id" /><meta content="lxc/lxc" 
name="octolytics-dimension-repository_nwo" /><meta content="true" 
name="octolytics-dimension-repository_public" /><meta content="false" 
name="octolytics-dimension-repository_is_fork" /><meta content="5720995" 
name="octolytics-dimension-repository_network_root_id" /><meta 
content="lxc/lxc" name="octolytics-dimension-repository_network_root_nwo" 
/><meta content="false" 
name="octolytics-dimension-repository_explore_github_marketplace_ci_cta_shown" 
/>




  <meta name="browser-stats-url" 
content="https://api.github.com/_private/browser/stats";>

  <meta name="browser-errors-url" 
content="https://api.github.com/_private/browser/errors";>

  <link rel="mask-icon" href="https://assets-cdn.github.com/pinned-octocat.svg"; 
color="#000000">
  <link rel="icon" type="image/x-icon" 
href="https://assets-cdn.github.com/favicon.ico";>

<meta name="theme-color" content="#1e2327">



  </head>

  <body class="logged-out env-production">
    



  <div class="position-relative js-header-wrapper ">
    <a href="#start-of-content" tabindex="1" class="px-2 py-4 show-on-focus 
js-skip-to-content">Skip to content</a>
    <div id="js-pjax-loader-bar" class="pjax-loader-bar"><div 
class="progress"></div></div>

    
    
    



          <header class="site-header js-details-container Details" 
role="banner">
  <div class="site-nav-container">
    <a class="header-logo-invertocat" href="https://github.com/"; 
aria-label="Homepage" data-ga-click="(Logged out) Header, go to homepage, 
icon:logo-wordmark">
      <svg aria-hidden="true" class="octicon octicon-mark-github" height="32" 
version="1.1" viewBox="0 0 16 16" width="32"><path fill-rule="evenodd" d="M8 
0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 
0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01
 1.08.58 1.23.82.72 1.21 1.87.87 
2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 
0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 
1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 
2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 
1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 
8c0-4.42-3.58-8-8-8z"/></svg>
    </a>

    <button class="btn-link float-right site-header-toggle js-details-target" 
type="button" aria-label="Toggle navigation">
      <svg aria-hidden="true" class="octicon octicon-three-bars" height="24" 
version="1.1" viewBox="0 0 12 16" width="18"><path fill-rule="evenodd" 
d="M11.41 9H.59C0 9 0 8.59 0 8c0-.59 0-1 .59-1H11.4c.59 0 .59.41.59 1 0 .59 0 
1-.59 1h.01zm0-4H.59C0 5 0 4.59 0 4c0-.59 0-1 .59-1H11.4c.59 0 .59.41.59 1 0 
.59 0 1-.59 1h.01zM.59 11H11.4c.59 0 .59.41.59 1 0 .59 0 1-.59 1H.59C0 13 0 
12.59 0 12c0-.59 0-1 .59-1z"/></svg>
    </button>

    <div class="site-header-menu">
      <nav class="site-header-nav">
        <a href="/features" class="js-selected-navigation-item nav-item" 
data-ga-click="Header, click, Nav menu - item:features" 
data-selected-links="/features /features">
          Features
</a>        <a href="/business" class="js-selected-navigation-item nav-item" 
data-ga-click="Header, click, Nav menu - item:business" 
data-selected-links="/business /business/security /business/customers 
/business">
          Business
</a>        <a href="/explore" class="js-selected-navigation-item nav-item" 
data-ga-click="Header, click, Nav menu - item:explore" 
data-selected-links="/explore /trending /trending/developers /integrations 
/integrations/feature/code /integrations/feature/collaborate 
/integrations/feature/ship /showcases /explore">
          Explore
</a>            <a href="/marketplace" class="js-selected-navigation-item 
nav-item" data-ga-click="Header, click, Nav menu - item:marketplace" 
data-selected-links=" /marketplace">
              Marketplace
</a>        <a href="/pricing" class="js-selected-navigation-item nav-item" 
data-ga-click="Header, click, Nav menu - item:pricing" 
data-selected-links="/pricing /pricing/developer /pricing/team 
/pricing/business-hosted /pricing/business-enterprise /pricing">
          Pricing
</a>      </nav>

      <div class="site-header-actions">
          <div class="header-search scoped-search site-scoped-search 
js-site-search" role="search">
  <!-- '"` --><!-- </textarea></xmp> --></option></form><form 
accept-charset="UTF-8" action="/lxc/lxc/search" class="js-site-search-form" 
data-scoped-search-url="/lxc/lxc/search" data-unscoped-search-url="/search" 
method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" 
type="hidden" value="&#x2713;" /></div>
    <label class="form-control header-search-wrapper 
js-chromeless-input-container">
        <a href="/lxc/lxc/pull/1626" class="header-search-scope 
no-underline">This repository</a>
      <input type="text"
        class="form-control header-search-input js-site-search-focus 
js-site-search-field is-clearable"
        data-hotkey="s"
        name="q"
        value=""
        placeholder="Search"
        aria-label="Search this repository"
        data-unscoped-placeholder="Search GitHub"
        data-scoped-placeholder="Search"
        autocapitalize="off">
        <input type="hidden" class="js-site-search-type-field" name="type" >
    </label>
</form></div>


          <a class="text-bold site-header-link" 
href="/login?return_to=%2Flxc%2Flxc%2Fpull%2F1626" data-ga-click="(Logged out) 
Header, clicked Sign in, text:sign-in">Sign in</a>
            <span class="text-gray">or</span>
            <a class="text-bold site-header-link" 
href="/join?source=header-repo" data-ga-click="(Logged out) Header, clicked 
Sign up, text:sign-up">Sign up</a>
      </div>
    </div>
  </div>
</header>


  </div>

  <div id="start-of-content" class="show-on-focus"></div>

    <div id="js-flash-container">
</div>



  <div role="main">
        <div itemscope itemtype="http://schema.org/SoftwareSourceCode";>
    <div id="js-repo-pjax-container" data-pjax-container>
      

<!-- base sha1: &quot;74f04141311978913432d2a221510e9a75b65ca6&quot; -->
<!-- head sha1: &quot;1cf7ba2306029f0159bd44bc285817d0fae43dc7&quot; -->


  

  


    <div class="pagehead repohead instapaper_ignore readability-menu 
experiment-repo-nav">
      <div class="container repohead-details-container">

        <ul class="pagehead-actions">
  <li>
      <a href="/login?return_to=%2Flxc%2Flxc"
    class="btn btn-sm btn-with-count tooltipped tooltipped-n"
    aria-label="You must be signed in to watch a repository" rel="nofollow">
    <svg aria-hidden="true" class="octicon octicon-eye" height="16" 
version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M8.06 
2C3 2 0 8 0 8s3 6 8.06 6C13 14 16 8 16 8s-3-6-7.94-6zM8 12c-2.2 0-4-1.78-4-4 
0-2.2 1.8-4 4-4 2.22 0 4 1.8 4 4 0 2.22-1.78 4-4 4zm2-4c0 1.11-.89 2-2 2-1.11 
0-2-.89-2-2 0-1.11.89-2 2-2 1.11 0 2 .89 2 2z"/></svg>
    Watch
  </a>
  <a class="social-count" href="/lxc/lxc/watchers"
     aria-label="178 users are watching this repository">
    178
  </a>

  </li>

  <li>
      <a href="/login?return_to=%2Flxc%2Flxc"
    class="btn btn-sm btn-with-count tooltipped tooltipped-n"
    aria-label="You must be signed in to star a repository" rel="nofollow">
    <svg aria-hidden="true" class="octicon octicon-star" height="16" 
version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M14 
6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 
14l-.93-4.74z"/></svg>
    Star
  </a>

    <a class="social-count js-social-count" href="/lxc/lxc/stargazers"
      aria-label="1736 users starred this repository">
      1,736
    </a>

  </li>

  <li>
      <a href="/login?return_to=%2Flxc%2Flxc"
        class="btn btn-sm btn-with-count tooltipped tooltipped-n"
        aria-label="You must be signed in to fork a repository" rel="nofollow">
        <svg aria-hidden="true" class="octicon octicon-repo-forked" height="16" 
version="1.1" viewBox="0 0 10 16" width="10"><path fill-rule="evenodd" d="M8 
1a1.993 1.993 0 0 0-1 3.72V6L5 8 3 6V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 
0-1 3.72V6.5l3 3v1.78A1.993 1.993 0 0 0 5 15a1.993 1.993 0 0 0 
1-3.72V9.5l3-3V4.72A1.993 1.993 0 0 0 8 1zM2 4.2C1.34 4.2.8 3.65.8 
3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3 10c-.66 
0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 
1.2zm3-10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 
.65-.55 1.2-1.2 1.2z"/></svg>
        Fork
      </a>

    <a href="/lxc/lxc/network" class="social-count"
       aria-label="594 users forked this repository">
      594
    </a>
  </li>
</ul>

        <h1 class="public ">
  <svg aria-hidden="true" class="octicon octicon-repo" height="16" 
version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M4 
9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 
1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 
1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg>
  <span class="author" itemprop="author"><a href="/lxc" class="url fn" 
rel="author">lxc</a></span><!--
--><span class="path-divider">/</span><!--
--><strong itemprop="name"><a href="/lxc/lxc" 
data-pjax="#js-repo-pjax-container">lxc</a></strong>

</h1>

      </div>
      <div class="container">
        
<nav class="reponav js-repo-nav js-sidenav-container-pjax"
     itemscope
     itemtype="http://schema.org/BreadcrumbList";
     role="navigation"
     data-pjax="#js-repo-pjax-container">

  <span itemscope itemtype="http://schema.org/ListItem"; 
itemprop="itemListElement">
    <a href="/lxc/lxc" class="js-selected-navigation-item reponav-item" 
data-hotkey="g c" data-selected-links="repo_source repo_downloads repo_commits 
repo_releases repo_tags repo_branches /lxc/lxc" itemprop="url">
      <svg aria-hidden="true" class="octicon octicon-code" height="16" 
version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M9.5 
3L8 4.5 11.5 8 8 11.5 9.5 13 14 8 9.5 3zm-5 0L0 8l4.5 5L6 11.5 2.5 8 6 4.5 4.5 
3z"/></svg>
      <span itemprop="name">Code</span>
      <meta itemprop="position" content="1">
</a>  </span>

    <span itemscope itemtype="http://schema.org/ListItem"; 
itemprop="itemListElement">
      <a href="/lxc/lxc/issues" class="js-selected-navigation-item 
reponav-item" data-hotkey="g i" data-selected-links="repo_issues repo_labels 
repo_milestones /lxc/lxc/issues" itemprop="url">
        <svg aria-hidden="true" class="octicon octicon-issue-opened" 
height="16" version="1.1" viewBox="0 0 14 16" width="14"><path 
fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 
5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 
7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"/></svg>
        <span itemprop="name">Issues</span>
        <span class="Counter">144</span>
        <meta itemprop="position" content="2">
</a>    </span>

  <span itemscope itemtype="http://schema.org/ListItem"; 
itemprop="itemListElement">
    <a href="/lxc/lxc/pulls" class="js-selected-navigation-item selected 
reponav-item" data-hotkey="g p" data-selected-links="repo_pulls /lxc/lxc/pulls" 
itemprop="url">
      <svg aria-hidden="true" class="octicon octicon-git-pull-request" 
height="16" version="1.1" viewBox="0 0 12 16" width="12"><path 
fill-rule="evenodd" d="M11 11.28V5c-.03-.78-.34-1.47-.94-2.06C9.46 2.35 8.78 
2.03 8 2H7V0L4 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 
0 0 10 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 
1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zM4 3c0-1.11-.89-2-2-2a1.993 
1.993 0 0 0-1 3.72v6.56A1.993 1.993 0 0 0 2 15a1.993 1.993 0 0 0 
1-3.72V4.72c.59-.34 1-.98 1-1.72zm-.8 10c0 .66-.55 1.2-1.2 1.2-.65 
0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2zM2 4.2C1.34 4.2.8 
3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 
1.2z"/></svg>
      <span itemprop="name">Pull requests</span>
      <span class="Counter">8</span>
      <meta itemprop="position" content="3">
</a>  </span>




    <div class="reponav-dropdown js-menu-container">
      <button type="button" class="btn-link reponav-item reponav-dropdown 
js-menu-target " data-no-toggle aria-expanded="false" aria-haspopup="true">
        Insights
        <svg aria-hidden="true" class="octicon octicon-triangle-down 
v-align-middle text-gray" height="11" version="1.1" viewBox="0 0 12 16" 
width="8"><path fill-rule="evenodd" d="M0 5l6 6 6-6z"/></svg>
      </button>
      <div class="dropdown-menu-content js-menu-content">
        <div class="dropdown-menu dropdown-menu-sw">
          <a class="dropdown-item" href="/lxc/lxc/pulse" data-skip-pjax>
            <svg aria-hidden="true" class="octicon octicon-pulse" height="16" 
version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M11.5 
8L8.8 5.4 6.6 8.5 5.5 1.6 2.38 8H0v2h3.6l.9-1.8.9 5.4L9 8.5l1.6 
1.5H14V8z"/></svg>
            Pulse
          </a>
          <a class="dropdown-item" href="/lxc/lxc/graphs" data-skip-pjax>
            <svg aria-hidden="true" class="octicon octicon-graph" height="16" 
version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M16 
14v1H0V0h1v14h15zM5 13H3V8h2v5zm4 0H7V3h2v10zm4 0h-2V6h2v7z"/></svg>
            Graphs
          </a>
        </div>
      </div>
    </div>
</nav>

      </div>
    </div>

<div class="container new-discussion-timeline experiment-repo-nav">
  <div class="repository-content">

    
    
  <div class="issues-listing" data-pjax>
    

  <div class="clearfix js-issues-results">
    
  <div
    id="partial-discussion-header"
    class="gh-header js-details-container Details js-socket-channel 
js-updatable-content pull request"
    data-channel="pull_request:125624128"
    data-url="/lxc/lxc/pull/1626/show_partial?partial=pull_requests%2Ftitle">

  <div class="gh-header-show ">
      <div class="gh-header-actions">

      </div>

    <h1 class="gh-header-title">
      <span class="js-issue-title">
        new network config parser
      </span>
      <span class="gh-header-number">#1626</span>
    </h1>
  </div>


  <div class="TableObject gh-header-meta">
    <div class="TableObject-item">
        <div class="State State--green">
          <svg aria-hidden="true" class="octicon octicon-git-pull-request" 
height="16" version="1.1" viewBox="0 0 12 16" width="12"><path 
fill-rule="evenodd" d="M11 11.28V5c-.03-.78-.34-1.47-.94-2.06C9.46 2.35 8.78 
2.03 8 2H7V0L4 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 
0 0 10 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 
1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zM4 3c0-1.11-.89-2-2-2a1.993 
1.993 0 0 0-1 3.72v6.56A1.993 1.993 0 0 0 2 15a1.993 1.993 0 0 0 
1-3.72V4.72c.59-.34 1-.98 1-1.72zm-.8 10c0 .66-.55 1.2-1.2 1.2-.65 
0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2zM2 4.2C1.34 4.2.8 
3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 
1.2z"/></svg>
          Open
        </div>
    </div>
    <div class="TableObject-item TableObject-item--primary">
          <a href="/brauner" class="author pull-header-username css-truncate 
css-truncate-target expandable">
    brauner
  </a>
   wants to merge 7 commits into



  <span class="commit-ref css-truncate user-select-contain expandable base-ref" 
title="lxc/lxc:master"><span class="css-truncate-target user">lxc</span>:<span 
class="css-truncate-target">master</span></span>

  <div class="commit-ref-dropdown">
    <div class="select-menu js-menu-container js-select-menu 
commitish-suggester js-load-contents" 
data-contents-url="/lxc/lxc/pull/1626/show_partial?partial=pull_requests%2Fdescription_branches_dropdown">
      <button class="btn btn-sm select-menu-button js-menu-target branch" 
type="button" aria-label="Choose a base branch" aria-haspopup="true">
        <i>base:</i>
        <span class="js-select-button css-truncate css-truncate-target" 
title="base: master">master</span>
      </button>
      <div class="select-menu-modal-holder js-menu-content 
js-navigation-container">
        <div class="select-menu-modal">
          <div class="js-select-menu-deferred-content"></div>
          <div class="select-menu-loading-overlay anim-pulse">
            <svg aria-hidden="true" class="octicon octicon-octoface" 
height="32" version="1.1" viewBox="0 0 16 16" width="32"><path 
fill-rule="evenodd" d="M14.7 5.34c.13-.32.55-1.59-.13-3.31 0 0-1.05-.33-3.44 
1.3-1-.28-2.07-.32-3.13-.32s-2.13.04-3.13.32c-2.39-1.64-3.44-1.3-3.44-1.3-.68 
1.72-.26 2.99-.13 3.31C.49 6.21 0 7.33 0 8.69 0 13.84 3.33 15 7.98 15S16 13.84 
16 8.69c0-1.36-.49-2.48-1.3-3.35zM8 14.02c-3.3 0-5.98-.15-5.98-3.35 
0-.76.38-1.48 1.02-2.07 1.07-.98 2.9-.46 4.96-.46 2.07 0 3.88-.52 4.96.46.65.59 
1.02 1.3 1.02 2.07 0 3.19-2.68 3.35-5.98 3.35zM5.49 9.01c-.66 0-1.2.8-1.2 
1.78s.54 1.79 1.2 1.79c.66 0 1.2-.8 1.2-1.79s-.54-1.78-1.2-1.78zm5.02 0c-.66 
0-1.2.79-1.2 1.78s.54 1.79 1.2 1.79c.66 0 1.2-.8 
1.2-1.79s-.53-1.78-1.2-1.78z"/></svg>
          </div>
        </div>
      </div>
    </div>
  </div>

from

<span class="commit-ref css-truncate user-select-contain expandable head-ref" 
title="brauner/lxc:2017-06-13/new_networks_parser"><span 
class="css-truncate-target user">brauner</span>:<span 
class="css-truncate-target">2017-06-13/new_networks_parser</span></span>



    </div>
  </div>
</div>


      
<div class="tabnav tabnav-pr">
    <div class="tabnav-extra float-right">
      <span class="diffstat" id="diffstat">
        <span class="text-green">
          +551
        </span>
        <span class="text-red">
          −282
        </span>
        <span class="tooltipped tooltipped-s" aria-label="833 lines changed">
          <span class="block-diff-added"></span><span 
class="block-diff-added"></span><span class="block-diff-added"></span><span 
class="block-diff-deleted"></span><span class="block-diff-neutral"></span>
        </span>
      </span>
    </div>

  <nav class="tabnav-tabs">
    <a href="/lxc/lxc/pull/1626" class="tabnav-tab selected 
js-pjax-history-navigate">
      <svg aria-hidden="true" class="octicon octicon-comment-discussion" 
height="16" version="1.1" viewBox="0 0 16 16" width="16"><path 
fill-rule="evenodd" d="M15 1H6c-.55 0-1 .45-1 1v2H1c-.55 0-1 .45-1 1v6c0 .55.45 
1 1 1h1v3l3-3h4c.55 0 1-.45 1-1V9h1l3 3V9h1c.55 0 1-.45 
1-1V2c0-.55-.45-1-1-1zM9 11H4.5L3 12.5V11H1V5h4v3c0 .55.45 1 1 
1h3v2zm6-3h-2v1.5L11.5 8H6V2h9v6z"/></svg>
      Conversation

      <span id="conversation_tab_counter" class="Counter">
        0
      </span>
    </a>

    <a href="/lxc/lxc/pull/1626/commits" class="tabnav-tab  
js-pjax-history-navigate">
      <svg aria-hidden="true" class="octicon octicon-git-commit" height="16" 
version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" 
d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 
3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 
0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
      Commits

      <span id="commits_tab_counter" class="Counter">
        7
      </span>
    </a>

      <link rel="pjax-prefetch" href="/lxc/lxc/pull/1626/files">
    <a href="/lxc/lxc/pull/1626/files" class="tabnav-tab  
js-pjax-history-navigate">
      <svg aria-hidden="true" class="octicon octicon-diff" height="16" 
version="1.1" viewBox="0 0 13 16" width="13"><path fill-rule="evenodd" d="M6 
7h2v1H6v2H5V8H3V7h2V5h1v2zm-3 6h5v-1H3v1zM7.5 2L11 5.5V15c0 .55-.45 1-1 
1H1c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1h6.5zM10 6L7 3H1v12h9V6zM8.5 0H3v1h5l4 
4v8h1V4.5L8.5 0z"/></svg>
      Files changed

        <span id="files_tab_counter" class="Counter">
            7
        </span>
    </a>
  </nav>
</div>



    <h2 class="sr-only">Conversation</h2>
    <div id="discussion_bucket" class="clearfix pull-request-tab-content 
is-visible">
      <div class="discussion-sidebar">
  <div id="partial-discussion-sidebar"
  class="js-socket-channel js-updatable-content"
  data-channel="pull_request:125624128"
  data-url="/lxc/lxc/issues/1626/show_partial?partial=issues%2Fsidebar">

    <div class="discussion-sidebar-item sidebar-assignee 
js-discussion-sidebar-item position-relative">
  <!-- '"` --><!-- </textarea></xmp> --></option></form><form 
accept-charset="UTF-8" 
action="/lxc/lxc/pull/1626/review-requests?pr_global_id=MDExOlB1bGxSZXF1ZXN0MTI1NjI0MTI4"
 class="js-issue-sidebar-form" data-remote="true" method="post"><div 
style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" 
value="&#x2713;" /><input name="authenticity_token" type="hidden" 
value="HyqBhHuxGrMwF5ivBa7s4r19BzetbAYBsXCBuvt7rw9+Jsbq9589PiRomP6kffyEhtiQgAxqsJws/Kb2ppyRIQ=="
 /></div>
    

  <div class="discussion-sidebar-heading text-bold">
    Reviewers
  </div>

    <span class="css-truncate">
    No reviews
</span>

</form></div>

  <div class="discussion-sidebar-item sidebar-assignee 
js-discussion-sidebar-item">
  <!-- '"` --><!-- </textarea></xmp> --></option></form><form 
accept-charset="UTF-8" 
action="/lxc/lxc/issues/1626?partial=issues%2Fsidebar%2Fshow%2Fassignees" 
class="js-issue-sidebar-form" data-remote="true" method="post"><div 
style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" 
value="&#x2713;" /><input name="_method" type="hidden" value="put" /><input 
name="authenticity_token" type="hidden" 
value="aUDFMXbZUz94KcuS90vTGGh9tDy0uq5A5DXbhpM8zP97RMDACe3syN6sbUHn+yEeM5lbH0Si4ggO4dvxIerQZg=="
 /></div>
    

  <div class="discussion-sidebar-heading text-bold">
    Assignees
  </div>

    <span class="css-truncate">
    No one assigned
</span>

</form></div>

  <div class="discussion-sidebar-item sidebar-labels 
js-discussion-sidebar-item">
  <!-- '"` --><!-- </textarea></xmp> --></option></form><form 
accept-charset="UTF-8" 
action="/lxc/lxc/issues/1626?partial=issues%2Fsidebar%2Fshow%2Flabels" 
class="js-issue-sidebar-form" data-remote="true" method="post"><div 
style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" 
value="&#x2713;" /><input name="_method" type="hidden" value="put" /><input 
name="authenticity_token" type="hidden" 
value="iXrSBDsacBpSKncCxjUkkQzPnHYJyyb2E6QO6mx/B5+bftf1RC7P7fSv0dHWhdaXVytzVfnTar75cA6d3qkbBg=="
 /></div>
      

  <div class="discussion-sidebar-heading text-bold">
    Labels
  </div>

    <div class="labels css-truncate">
    None yet
</div>

</form></div>

  <div class="discussion-sidebar-item sidebar-milestone 
js-discussion-sidebar-item">
  <!-- '"` --><!-- </textarea></xmp> --></option></form><form 
accept-charset="UTF-8" 
action="/lxc/lxc/issues/1626/set_milestone?partial=issues%2Fsidebar%2Fshow%2Fmilestone"
 class="js-issue-sidebar-form" data-remote="true" method="post"><div 
style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" 
value="&#x2713;" /><input name="_method" type="hidden" value="put" /><input 
name="authenticity_token" type="hidden" 
value="usAJ5uLHSaDrXdDg12oUl9nbunQpcEI149VcNPbOuroBKKTguFxZFKkK/bCguU4cMq4B4+QGhl32fR4KehDUDQ=="
 /></div>
    

  <div class="discussion-sidebar-heading text-bold">
    Milestone
  </div>

      No milestone

</form></div>

  
  <div id="partial-users-participants" class="discussion-sidebar-item">
  <div class="participation">

    <div class="discussion-sidebar-heading text-bold">
      1 participant
    </div>
    <div class="participation-avatars">
        <a class="participant-avatar tooltipped tooltipped-n" 
aria-label="brauner" href="/brauner"><img alt="@brauner" class="avatar" 
height="26" src="https://avatars1.githubusercontent.com/u/7353573?v=3&amp;s=52"; 
width="26" /> </a>
    </div>
  </div>
</div>


  

</div>


</div>

<div class="discussion-timeline pull-discussion-timeline 
js-pull-discussion-timeline js-quote-selection-container 
js-review-state-classes  ">
  <div class="js-discussion js-socket-channel" 
data-channel="marked-as-read:pull-request:125624128">
    

  
  <div class="timeline-comment-wrapper js-comment-container">

    

<div class="avatar-parent-child timeline-comment-avatar">
    <a href="/brauner">
      <img alt="@brauner" class="avatar rounded-1" height="44" 
src="https://avatars2.githubusercontent.com/u/7353573?v=3&amp;s=88"; width="44" 
/>
    </a>

</div>



      
<div id="issue-235917724"
     class="comment previewable-edit js-comment js-task-list-container  
timeline-comment  "
     data-body-version="65551c9d2c97a4fc0e23758643a8925e">

  
<div class="timeline-comment-header">
  <div class="timeline-comment-actions">


  </div>

    
    <span class="timeline-comment-label text-bold tooltipped 
tooltipped-multiline tooltipped-s" aria-label="This user is a member of the LXC 
- Linux Containers organization.">
      Member
    </span>



  <h3 class="timeline-comment-header-text f5 text-normal">

    <strong>
        <a href="/brauner" class="author">brauner</a>
        
    </strong>

    commented

    <a href="#issue-235917724" class="timestamp"><relative-time 
datetime="2017-06-14T15:23:32Z">Jun 14, 2017</relative-time></a>


  </h3>
</div>


  <div class="edit-comment-hide">
    <table class="d-block">
      <tbody class="d-block">
        <tr class="d-block">
          <td class="d-block comment-body markdown-body  js-comment-body">
              <p>This implements a new network configuration parser.</p>
<p>Previous versions of <code>liblxc</code> had suffered from several legacy 
design decisions such that network configuration was kind of unintuitive. For 
example, to specify a network the order of the keys mattered:</p>
<pre><code>lxc.network.type = veth
lxc.network.flags = up
</code></pre>
<p>would work fine whereas</p>
<pre><code>lxc.network.flags = up
lxc.network.type = veth
</code></pre>
<p>would not. This obviously was caused by the fact that multiple networks were 
supposed to be specified by using keys without any index. Meaning that each new 
<code>lxc.network.type</code> key marked the configuration of a new network. 
Later, network configuration based on indexes was supported meaning that:</p>
<pre><code>lxc.network.0.type = veth
lxc.network.0.flags = up

lxc.network.1.type = veth
lxc.network.1.flags = up
</code></pre>
<p>could be used to specify multiple networks. While an improvement, the 
ordering of the keys still mattered.</p>
<p>The new network configuration parser doesn't care about ordering. It will 
internally simply keep the index of the network and maintain an ordered list 
configured networks. For example:</p>
<pre><code>lxc.network.2.flags = up
lxc.network.2.type = veth
lxc.network.2.name=eth5

lxc.network.0.type=veth
lxc.network.0.link=lxcbr0
lxc.network.0.name=eth1
lxc.network.0.flags=up

lxc.network.3.type=veth
lxc.network.3.link=lxcbr0
lxc.network.3.name=eth3
lxc.network.3.flags=up
lxc.network.hwaddr = 00:16:3e:5d:7d:65
</code></pre>
<p>would internally be tracked as:</p>
<pre><code>0
2
3
</code></pre>
<p>Signed-off-by: Christian Brauner <a 
href="mailto:[email protected]";>[email protected]</a></p>
          </td>
        </tr>
      </tbody>
    </table>

      

<div class="comment-reactions  js-reactions-container "

    >
</div>

  </div>

</div>

  </div>

  
  
<div class="discussion-item discussion-commits" id="commits-pushed-ac2b4cd">
    <h3 class="discussion-item-header f5 text-normal">
      <span class="discussion-item-icon">
        <svg aria-hidden="true" class="octicon octicon-repo-push" height="16" 
version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M4 
3H3V2h1v1zM3 5h1V4H3v1zm4 0L4 9h2v7h2V9h2L7 5zm4-5H1C.45 0 0 .45 0 1v12c0 
.55.45 1 1 1h4v-1H1v-2h4v-1H2V1h9.02L11 10H9v1h2v2H9v1h2c.55 0 1-.45 
1-1V1c0-.55-.45-1-1-1z"/></svg>
      </span>
      <a href="/brauner" class="author" rel="contributor" 
truncate="true">brauner</a>
      added
        some commits
      <a href="#commits-pushed-ac2b4cd" class="timestamp">
        <relative-time datetime="2017-06-13T11:48:04Z">Jun 13, 
2017</relative-time>
      </a>
    </h3>
  <div class="discussion-item-body">
    <table class="timeline-commits">
        
<tr class="commit js-details-container Details js-socket-channel 
js-updatable-content" 
data-channel="repo:5720995:commit:ac2b4cdb0f1a743462a6fcc6947edc2aa88a20bb" 
data-url="/lxc/lxc/pull/1626/commit/ac2b4cdb0f1a743462a6fcc6947edc2aa88a20bb/show_partial?partial=commit%2Fpull_condensed">
  <td class="commit-icon">
    <svg aria-hidden="true" class="octicon octicon-git-commit" height="16" 
version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" 
d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 
3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 
0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
  </td>

  <td class="commit-gravatar no-wrap text-right">
    
  <a href="/brauner" class="d-inline-block">
    <img alt="@brauner" class="avatar avatar-small" height="16" 
src="https://avatars3.githubusercontent.com/u/7353573?v=3&amp;s=32"; width="16" 
/>
  </a>

  </td>

  <td class="commit-author">
    <strong><a href="/brauner" class="author" 
rel="contributor">brauner</a></strong>
  </td>

  <td class="commit-message">
    <code><a 
href="/lxc/lxc/pull/1626/commits/ac2b4cdb0f1a743462a6fcc6947edc2aa88a20bb" 
class="message" data-pjax="true" title="confile: mv config_value_empty() to 
confile_utils

and rename it to lxc_config_value_empty()

Signed-off-by: Christian Brauner &lt;[email protected]&gt;">confile: 
mv config_value_empty() to confile_utils</a></code>

      <span class="hidden-text-expander inline">
        <button type="button" class="ellipsis-expander 
js-details-target">&hellip;</button>
      </span>
      <div class="commit-desc"><pre>and rename it to lxc_config_value_empty()

Signed-off-by: Christian Brauner 
&lt;[email protected]&gt;</pre></div>

  </td>

  <td class="commit-sig-status">
    
    <div class="dropdown dropdown-signed-commit js-menu-container">
        <button type="button" class="signed-commit-badge 
signed-commit-badge-small verified js-menu-target" aria-label="View commit 
signature" aria-haspopup="true">
          Verified
        </button>
        <div class="dropdown-menu-content anim-scale-in js-menu-content">
          <div class="dropdown-menu dropdown-menu-w">
            <div class="signed-commit-header TableObject">
              <div class="TableObject-item">
                <svg aria-hidden="true" class="octicon octicon-verified mr-2" 
height="32" version="1.1" viewBox="0 0 16 16" width="32"><path 
fill-rule="evenodd" d="M15.67 
7.06l-1.08-1.34c-.17-.22-.28-.48-.31-.77l-.19-1.7a1.51 1.51 0 0 
0-1.33-1.33l-1.7-.19c-.3-.03-.56-.16-.78-.33L8.94.32c-.55-.44-1.33-.44-1.88 
0L5.72 1.4c-.22.17-.48.28-.77.31l-1.7.19c-.7.08-1.25.63-1.33 1.33l-.19 
1.7c-.03.3-.16.56-.33.78L.32 7.05c-.44.55-.44 1.33 0 1.88l1.08 
1.34c.17.22.28.48.31.77l.19 1.7c.08.7.63 1.25 1.33 
1.33l1.7.19c.3.03.56.16.78.33l1.34 1.08c.55.44 1.33.44 1.88 
0l1.34-1.08c.22-.17.48-.28.77-.31l1.7-.19c.7-.08 1.25-.63 
1.33-1.33l.19-1.7c.03-.3.16-.56.33-.78l1.08-1.34c.44-.55.44-1.33 0-1.88zM6.5 
12L3 8.5 4.5 7l2 2 5-5L13 5.55 6.5 12z"/></svg>
              </div>
              <div class="TableObject-item--primary">
                This commit was signed with a <strong 
class="signed-commit-verified-label">verified signature</strong>.
              </div>
            </div>

            <div class="signed-commit-signer TableObject">
              <a class="TableObject-item" aria-label="brauner" href="/brauner">
                <img 
src="https://avatars3.githubusercontent.com/u/7353573?v=3&amp;s=64"; width="32" 
height="32" alt="@brauner" class="avatar mr-2">
              </a>
              <span class="signed-commit-signer-name TableObject-item--primary">
                <a class="signer" href="/brauner">brauner</a>
                Christian Brauner
              </span>
            </div>


            <div class="signed-commit-footer">
                <span class="d-block">GPG key ID: <span 
class="text-gray">7B3C391EFEA93624</span></span>
              <a 
href="https://help.github.com/articles/signing-commits-using-gpg/";>Learn about 
signing commits</a>
            </div>
          </div>
        </div>
    </div>

  </td>

  <td class="commit-ci-status">
      


  </td>

  <td class="commit-meta">
    <code><a 
href="/lxc/lxc/pull/1626/commits/ac2b4cdb0f1a743462a6fcc6947edc2aa88a20bb" 
class="commit-id">ac2b4cd</a></code>
  </td>
</tr>

        
<tr class="commit js-details-container Details js-socket-channel 
js-updatable-content" 
data-channel="repo:5720995:commit:01144d9b941082092a90026b4b96a9f7f3defdcb" 
data-url="/lxc/lxc/pull/1626/commit/01144d9b941082092a90026b4b96a9f7f3defdcb/show_partial?partial=commit%2Fpull_condensed">
  <td class="commit-icon">
    <svg aria-hidden="true" class="octicon octicon-git-commit" height="16" 
version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" 
d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 
3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 
0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
  </td>

  <td class="commit-gravatar no-wrap text-right">
    
  <a href="/brauner" class="d-inline-block">
    <img alt="@brauner" class="avatar avatar-small" height="16" 
src="https://avatars3.githubusercontent.com/u/7353573?v=3&amp;s=32"; width="16" 
/>
  </a>

  </td>

  <td class="commit-author">
    <strong><a href="/brauner" class="author" 
rel="contributor">brauner</a></strong>
  </td>

  <td class="commit-message">
    <code><a 
href="/lxc/lxc/pull/1626/commits/01144d9b941082092a90026b4b96a9f7f3defdcb" 
class="message" data-pjax="true" title="confile: add data arg to set callback

Signed-off-by: Christian Brauner &lt;[email protected]&gt;">confile: 
add data arg to set callback</a></code>

      <span class="hidden-text-expander inline">
        <button type="button" class="ellipsis-expander 
js-details-target">&hellip;</button>
      </span>
      <div class="commit-desc"><pre>Signed-off-by: Christian Brauner 
&lt;[email protected]&gt;</pre></div>

  </td>

  <td class="commit-sig-status">
    
    <div class="dropdown dropdown-signed-commit js-menu-container">
        <button type="button" class="signed-commit-badge 
signed-commit-badge-small verified js-menu-target" aria-label="View commit 
signature" aria-haspopup="true">
          Verified
        </button>
        <div class="dropdown-menu-content anim-scale-in js-menu-content">
          <div class="dropdown-menu dropdown-menu-w">
            <div class="signed-commit-header TableObject">
              <div class="TableObject-item">
                <svg aria-hidden="true" class="octicon octicon-verified mr-2" 
height="32" version="1.1" viewBox="0 0 16 16" width="32"><path 
fill-rule="evenodd" d="M15.67 
7.06l-1.08-1.34c-.17-.22-.28-.48-.31-.77l-.19-1.7a1.51 1.51 0 0 
0-1.33-1.33l-1.7-.19c-.3-.03-.56-.16-.78-.33L8.94.32c-.55-.44-1.33-.44-1.88 
0L5.72 1.4c-.22.17-.48.28-.77.31l-1.7.19c-.7.08-1.25.63-1.33 1.33l-.19 
1.7c-.03.3-.16.56-.33.78L.32 7.05c-.44.55-.44 1.33 0 1.88l1.08 
1.34c.17.22.28.48.31.77l.19 1.7c.08.7.63 1.25 1.33 
1.33l1.7.19c.3.03.56.16.78.33l1.34 1.08c.55.44 1.33.44 1.88 
0l1.34-1.08c.22-.17.48-.28.77-.31l1.7-.19c.7-.08 1.25-.63 
1.33-1.33l.19-1.7c.03-.3.16-.56.33-.78l1.08-1.34c.44-.55.44-1.33 0-1.88zM6.5 
12L3 8.5 4.5 7l2 2 5-5L13 5.55 6.5 12z"/></svg>
              </div>
              <div class="TableObject-item--primary">
                This commit was signed with a <strong 
class="signed-commit-verified-label">verified signature</strong>.
              </div>
            </div>

            <div class="signed-commit-signer TableObject">
              <a class="TableObject-item" aria-label="brauner" href="/brauner">
                <img 
src="https://avatars3.githubusercontent.com/u/7353573?v=3&amp;s=64"; width="32" 
height="32" alt="@brauner" class="avatar mr-2">
              </a>
              <span class="signed-commit-signer-name TableObject-item--primary">
                <a class="signer" href="/brauner">brauner</a>
                Christian Brauner
              </span>
            </div>


            <div class="signed-commit-footer">
                <span class="d-block">GPG key ID: <span 
class="text-gray">7B3C391EFEA93624</span></span>
              <a 
href="https://help.github.com/articles/signing-commits-using-gpg/";>Learn about 
signing commits</a>
            </div>
          </div>
        </div>
    </div>

  </td>

  <td class="commit-ci-status">
      


  </td>

  <td class="commit-meta">
    <code><a 
href="/lxc/lxc/pull/1626/commits/01144d9b941082092a90026b4b96a9f7f3defdcb" 
class="commit-id">01144d9</a></code>
  </td>
</tr>

        
<tr class="commit js-details-container Details js-socket-channel 
js-updatable-content" 
data-channel="repo:5720995:commit:d5aa775a63316638e2f2715c0dd136ab46fabf73" 
data-url="/lxc/lxc/pull/1626/commit/d5aa775a63316638e2f2715c0dd136ab46fabf73/show_partial?partial=commit%2Fpull_condensed">
  <td class="commit-icon">
    <svg aria-hidden="true" class="octicon octicon-git-commit" height="16" 
version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" 
d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 
3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 
0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
  </td>

  <td class="commit-gravatar no-wrap text-right">
    
  <a href="/brauner" class="d-inline-block">
    <img alt="@brauner" class="avatar avatar-small" height="16" 
src="https://avatars3.githubusercontent.com/u/7353573?v=3&amp;s=32"; width="16" 
/>
  </a>

  </td>

  <td class="commit-author">
    <strong><a href="/brauner" class="author" 
rel="contributor">brauner</a></strong>
  </td>

  <td class="commit-message">
    <code><a 
href="/lxc/lxc/pull/1626/commits/d5aa775a63316638e2f2715c0dd136ab46fabf73" 
class="message" data-pjax="true" title="conf: add network counter

Signed-off-by: Christian Brauner &lt;[email protected]&gt;">conf: 
add network counter</a></code>

      <span class="hidden-text-expander inline">
        <button type="button" class="ellipsis-expander 
js-details-target">&hellip;</button>
      </span>
      <div class="commit-desc"><pre>Signed-off-by: Christian Brauner 
&lt;[email protected]&gt;</pre></div>

  </td>

  <td class="commit-sig-status">
    
    <div class="dropdown dropdown-signed-commit js-menu-container">
        <button type="button" class="signed-commit-badge 
signed-commit-badge-small verified js-menu-target" aria-label="View commit 
signature" aria-haspopup="true">
          Verified
        </button>
        <div class="dropdown-menu-content anim-scale-in js-menu-content">
          <div class="dropdown-menu dropdown-menu-w">
            <div class="signed-commit-header TableObject">
              <div class="TableObject-item">
                <svg aria-hidden="true" class="octicon octicon-verified mr-2" 
height="32" version="1.1" viewBox="0 0 16 16" width="32"><path 
fill-rule="evenodd" d="M15.67 
7.06l-1.08-1.34c-.17-.22-.28-.48-.31-.77l-.19-1.7a1.51 1.51 0 0 
0-1.33-1.33l-1.7-.19c-.3-.03-.56-.16-.78-.33L8.94.32c-.55-.44-1.33-.44-1.88 
0L5.72 1.4c-.22.17-.48.28-.77.31l-1.7.19c-.7.08-1.25.63-1.33 1.33l-.19 
1.7c-.03.3-.16.56-.33.78L.32 7.05c-.44.55-.44 1.33 0 1.88l1.08 
1.34c.17.22.28.48.31.77l.19 1.7c.08.7.63 1.25 1.33 
1.33l1.7.19c.3.03.56.16.78.33l1.34 1.08c.55.44 1.33.44 1.88 
0l1.34-1.08c.22-.17.48-.28.77-.31l1.7-.19c.7-.08 1.25-.63 
1.33-1.33l.19-1.7c.03-.3.16-.56.33-.78l1.08-1.34c.44-.55.44-1.33 0-1.88zM6.5 
12L3 8.5 4.5 7l2 2 5-5L13 5.55 6.5 12z"/></svg>
              </div>
              <div class="TableObject-item--primary">
                This commit was signed with a <strong 
class="signed-commit-verified-label">verified signature</strong>.
              </div>
            </div>

            <div class="signed-commit-signer TableObject">
              <a class="TableObject-item" aria-label="brauner" href="/brauner">
                <img 
src="https://avatars3.githubusercontent.com/u/7353573?v=3&amp;s=64"; width="32" 
height="32" alt="@brauner" class="avatar mr-2">
              </a>
              <span class="signed-commit-signer-name TableObject-item--primary">
                <a class="signer" href="/brauner">brauner</a>
                Christian Brauner
              </span>
            </div>


            <div class="signed-commit-footer">
                <span class="d-block">GPG key ID: <span 
class="text-gray">7B3C391EFEA93624</span></span>
              <a 
href="https://help.github.com/articles/signing-commits-using-gpg/";>Learn about 
signing commits</a>
            </div>
          </div>
        </div>
    </div>

  </td>

  <td class="commit-ci-status">
      


  </td>

  <td class="commit-meta">
    <code><a 
href="/lxc/lxc/pull/1626/commits/d5aa775a63316638e2f2715c0dd136ab46fabf73" 
class="commit-id">d5aa775</a></code>
  </td>
</tr>

        
<tr class="commit js-details-container Details js-socket-channel 
js-updatable-content" 
data-channel="repo:5720995:commit:eda4fe06fd5e9d935bb33f8134cd4879a4cf738c" 
data-url="/lxc/lxc/pull/1626/commit/eda4fe06fd5e9d935bb33f8134cd4879a4cf738c/show_partial?partial=commit%2Fpull_condensed">
  <td class="commit-icon">
    <svg aria-hidden="true" class="octicon octicon-git-commit" height="16" 
version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" 
d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 
3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 
0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
  </td>

  <td class="commit-gravatar no-wrap text-right">
    
  <a href="/brauner" class="d-inline-block">
    <img alt="@brauner" class="avatar avatar-small" height="16" 
src="https://avatars3.githubusercontent.com/u/7353573?v=3&amp;s=32"; width="16" 
/>
  </a>

  </td>

  <td class="commit-author">
    <strong><a href="/brauner" class="author" 
rel="contributor">brauner</a></strong>
  </td>

  <td class="commit-message">
    <code><a 
href="/lxc/lxc/pull/1626/commits/eda4fe06fd5e9d935bb33f8134cd4879a4cf738c" 
class="message" data-pjax="true" title="confile_utils: implement 
lxc_get_netdev_by_idx()

lxc_get_netdev_by_idx() takes care of checking whether a given netdev struct
for a given index is already allocated. If so it returns a pointer to it to the
caller.
If it doesn&#39;t find it it will allocate a new netdev struct and insert it 
into
the network list at the right position. For example, let&#39;s say you have the
following networks defined in your config file:

lxc.network.0.type=veth
lxc.network.0.link=lxcbr0
lxc.network.0.name=eth0
lxc.network.0.flags=up

lxc.network.3.type=veth
lxc.network.3.link=lxcbr0
lxc.network.3.name=eth1
lxc.network.3.flags=up
lxc.network.3.hwaddr = 00:16:3e:5d:7d:65

lxc.network.1.type=veth
lxc.network.1.link=lxcbr0
lxc.network.1.name=eth0
lxc.network.1.flags=up

lxc_get_netdev_by_idx() will take care that the internal network list appears
in the order:

0
1
3

The ordering of the keys themselves can also be random, meaning you could do:

lxc.network.3.type=veth
lxc.network.0.link=lxcbr0
lxc.network.0.name=eth0
lxc.network.3.hwaddr = 00:16:3e:5d:7d:65
lxc.network.0.flags=up
lxc.network.3.flags=up
lxc.network.0.type=veth
lxc.network.3.link=lxcbr0
lxc.network.3.name=eth1

and lxc_get_netdev_by_idx() would still figure out the correct ordering since
it keeps track of the index.

Signed-off-by: Christian Brauner 
&lt;[email protected]&gt;">confile_utils: implement 
lxc_get_netdev_by_idx()</a></code>

      <span class="hidden-text-expander inline">
        <button type="button" class="ellipsis-expander 
js-details-target">&hellip;</button>
      </span>
      <div class="commit-desc"><pre>lxc_get_netdev_by_idx() takes care of 
checking whether a given netdev struct
for a given index is already allocated. If so it returns a pointer to it to the
caller.
If it doesn't find it it will allocate a new netdev struct and insert it into
the network list at the right position. For example, let's say you have the
following networks defined in your config file:

lxc.network.0.type=veth
lxc.network.0.link=lxcbr0
lxc.network.0.name=eth0
lxc.network.0.flags=up

lxc.network.3.type=veth
lxc.network.3.link=lxcbr0
lxc.network.3.name=eth1
lxc.network.3.flags=up
lxc.network.3.hwaddr = 00:16:3e:5d:7d:65

lxc.network.1.type=veth
lxc.network.1.link=lxcbr0
lxc.network.1.name=eth0
lxc.network.1.flags=up

lxc_get_netdev_by_idx() will take care that the internal network list appears
in the order:

0
1
3

The ordering of the keys themselves can also be random, meaning you could do:

lxc.network.3.type=veth
lxc.network.0.link=lxcbr0
lxc.network.0.name=eth0
lxc.network.3.hwaddr = 00:16:3e:5d:7d:65
lxc.network.0.flags=up
lxc.network.3.flags=up
lxc.network.0.type=veth
lxc.network.3.link=lxcbr0
lxc.network.3.name=eth1

and lxc_get_netdev_by_idx() would still figure out the correct ordering since
it keeps track of the index.

Signed-off-by: Christian Brauner 
&lt;[email protected]&gt;</pre></div>

  </td>

  <td class="commit-sig-status">
    
    <div class="dropdown dropdown-signed-commit js-menu-container">
        <button type="button" class="signed-commit-badge 
signed-commit-badge-small verified js-menu-target" aria-label="View commit 
signature" aria-haspopup="true">
          Verified
        </button>
        <div class="dropdown-menu-content anim-scale-in js-menu-content">
          <div class="dropdown-menu dropdown-menu-w">
            <div class="signed-commit-header TableObject">
              <div class="TableObject-item">
                <svg aria-hidden="true" class="octicon octicon-verified mr-2" 
height="32" version="1.1" viewBox="0 0 16 16" width="32"><path 
fill-rule="evenodd" d="M15.67 
7.06l-1.08-1.34c-.17-.22-.28-.48-.31-.77l-.19-1.7a1.51 1.51 0 0 
0-1.33-1.33l-1.7-.19c-.3-.03-.56-.16-.78-.33L8.94.32c-.55-.44-1.33-.44-1.88 
0L5.72 1.4c-.22.17-.48.28-.77.31l-1.7.19c-.7.08-1.25.63-1.33 1.33l-.19 
1.7c-.03.3-.16.56-.33.78L.32 7.05c-.44.55-.44 1.33 0 1.88l1.08 
1.34c.17.22.28.48.31.77l.19 1.7c.08.7.63 1.25 1.33 
1.33l1.7.19c.3.03.56.16.78.33l1.34 1.08c.55.44 1.33.44 1.88 
0l1.34-1.08c.22-.17.48-.28.77-.31l1.7-.19c.7-.08 1.25-.63 
1.33-1.33l.19-1.7c.03-.3.16-.56.33-.78l1.08-1.34c.44-.55.44-1.33 0-1.88zM6.5 
12L3 8.5 4.5 7l2 2 5-5L13 5.55 6.5 12z"/></svg>
              </div>
              <div class="TableObject-item--primary">
                This commit was signed with a <strong 
class="signed-commit-verified-label">verified signature</strong>.
              </div>
            </div>

            <div class="signed-commit-signer TableObject">
              <a class="TableObject-item" aria-label="brauner" href="/brauner">
                <img 
src="https://avatars3.githubusercontent.com/u/7353573?v=3&amp;s=64"; width="32" 
height="32" alt="@brauner" class="avatar mr-2">
              </a>
              <span class="signed-commit-signer-name TableObject-item--primary">
                <a class="signer" href="/brauner">brauner</a>
                Christian Brauner
              </span>
            </div>


            <div class="signed-commit-footer">
                <span class="d-block">GPG key ID: <span 
class="text-gray">7B3C391EFEA93624</span></span>
              <a 
href="https://help.github.com/articles/signing-commits-using-gpg/";>Learn about 
signing commits</a>
            </div>
          </div>
        </div>
    </div>

  </td>

  <td class="commit-ci-status">
      


  </td>

  <td class="commit-meta">
    <code><a 
href="/lxc/lxc/pull/1626/commits/eda4fe06fd5e9d935bb33f8134cd4879a4cf738c" 
class="commit-id">eda4fe0</a></code>
  </td>
</tr>

        
<tr class="commit js-details-container Details js-socket-channel 
js-updatable-content" 
data-channel="repo:5720995:commit:0e9dfa5f1cf7d339761da5061411684294a8d7b7" 
data-url="/lxc/lxc/pull/1626/commit/0e9dfa5f1cf7d339761da5061411684294a8d7b7/show_partial?partial=commit%2Fpull_condensed">
  <td class="commit-icon">
    <svg aria-hidden="true" class="octicon octicon-git-commit" height="16" 
version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" 
d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 
3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 
0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
  </td>

  <td class="commit-gravatar no-wrap text-right">
    
  <a href="/brauner" class="d-inline-block">
    <img alt="@brauner" class="avatar avatar-small" height="16" 
src="https://avatars3.githubusercontent.com/u/7353573?v=3&amp;s=32"; width="16" 
/>
  </a>

  </td>

  <td class="commit-author">
    <strong><a href="/brauner" class="author" 
rel="contributor">brauner</a></strong>
  </td>

  <td class="commit-message">
    <code><a 
href="/lxc/lxc/pull/1626/commits/0e9dfa5f1cf7d339761da5061411684294a8d7b7" 
class="message" data-pjax="true" title="conf: perform network validation at 
creation time

Some of the checks were previously performed when parsing the network config.
But since we allow for a little more flexibility now it doesn&#39;t work 
anymore.
Instead, let&#39;s validate the network at creation time.

Signed-off-by: Christian Brauner &lt;[email protected]&gt;">conf: 
perform network validation at creation time</a></code>

      <span class="hidden-text-expander inline">
        <button type="button" class="ellipsis-expander 
js-details-target">&hellip;</button>
      </span>
      <div class="commit-desc"><pre>Some of the checks were previously 
performed when parsing the network config.
But since we allow for a little more flexibility now it doesn't work anymore.
Instead, let's validate the network at creation time.

Signed-off-by: Christian Brauner 
&lt;[email protected]&gt;</pre></div>

  </td>

  <td class="commit-sig-status">
    
    <div class="dropdown dropdown-signed-commit js-menu-container">
        <button type="button" class="signed-commit-badge 
signed-commit-badge-small verified js-menu-target" aria-label="View commit 
signature" aria-haspopup="true">
          Verified
        </button>
        <div class="dropdown-menu-content anim-scale-in js-menu-content">
          <div class="dropdown-menu dropdown-menu-w">
            <div class="signed-commit-header TableObject">
              <div class="TableObject-item">
                <svg aria-hidden="true" class="octicon octicon-verified mr-2" 
height="32" version="1.1" viewBox="0 0 16 16" width="32"><path 
fill-rule="evenodd" d="M15.67 
7.06l-1.08-1.34c-.17-.22-.28-.48-.31-.77l-.19-1.7a1.51 1.51 0 0 
0-1.33-1.33l-1.7-.19c-.3-.03-.56-.16-.78-.33L8.94.32c-.55-.44-1.33-.44-1.88 
0L5.72 1.4c-.22.17-.48.28-.77.31l-1.7.19c-.7.08-1.25.63-1.33 1.33l-.19 
1.7c-.03.3-.16.56-.33.78L.32 7.05c-.44.55-.44 1.33 0 1.88l1.08 
1.34c.17.22.28.48.31.77l.19 1.7c.08.7.63 1.25 1.33 
1.33l1.7.19c.3.03.56.16.78.33l1.34 1.08c.55.44 1.33.44 1.88 
0l1.34-1.08c.22-.17.48-.28.77-.31l1.7-.19c.7-.08 1.25-.63 
1.33-1.33l.19-1.7c.03-.3.16-.56.33-.78l1.08-1.34c.44-.55.44-1.33 0-1.88zM6.5 
12L3 8.5 4.5 7l2 2 5-5L13 5.55 6.5 12z"/></svg>
              </div>
              <div class="TableObject-item--primary">
                This commit was signed with a <strong 
class="signed-commit-verified-label">verified signature</strong>.
              </div>
            </div>

            <div class="signed-commit-signer TableObject">
              <a class="TableObject-item" aria-label="brauner" href="/brauner">
                <img 
src="https://avatars3.githubusercontent.com/u/7353573?v=3&amp;s=64"; width="32" 
height="32" alt="@brauner" class="avatar mr-2">
              </a>
              <span class="signed-commit-signer-name TableObject-item--primary">
                <a class="signer" href="/brauner">brauner</a>
                Christian Brauner
              </span>
            </div>


            <div class="signed-commit-footer">
                <span class="d-block">GPG key ID: <span 
class="text-gray">7B3C391EFEA93624</span></span>
              <a 
href="https://help.github.com/articles/signing-commits-using-gpg/";>Learn about 
signing commits</a>
            </div>
          </div>
        </div>
    </div>

  </td>

  <td class="commit-ci-status">
      


  </td>

  <td class="commit-meta">
    <code><a 
href="/lxc/lxc/pull/1626/commits/0e9dfa5f1cf7d339761da5061411684294a8d7b7" 
class="commit-id">0e9dfa5</a></code>
  </td>
</tr>

        
<tr class="commit js-details-container Details js-socket-channel 
js-updatable-content" 
data-channel="repo:5720995:commit:8465664a9f6b68c09e2709effaeeae24ab43f6ca" 
data-url="/lxc/lxc/pull/1626/commit/8465664a9f6b68c09e2709effaeeae24ab43f6ca/show_partial?partial=commit%2Fpull_condensed">
  <td class="commit-icon">
    <svg aria-hidden="true" class="octicon octicon-git-commit" height="16" 
version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" 
d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 
3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 
0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
  </td>

  <td class="commit-gravatar no-wrap text-right">
    
  <a href="/brauner" class="d-inline-block">
    <img alt="@brauner" class="avatar avatar-small" height="16" 
src="https://avatars3.githubusercontent.com/u/7353573?v=3&amp;s=32"; width="16" 
/>
  </a>

  </td>

  <td class="commit-author">
    <strong><a href="/brauner" class="author" 
rel="contributor">brauner</a></strong>
  </td>

  <td class="commit-message">
    <code><a 
href="/lxc/lxc/pull/1626/commits/8465664a9f6b68c09e2709effaeeae24ab43f6ca" 
class="message" data-pjax="true" title="confile: use new network configuration 
parser

Signed-off-by: Christian Brauner &lt;[email protected]&gt;">confile: 
use new network configuration parser</a></code>

      <span class="hidden-text-expander inline">
        <button type="button" class="ellipsis-expander 
js-details-target">&hellip;</button>
      </span>
      <div class="commit-desc"><pre>Signed-off-by: Christian Brauner 
&lt;[email protected]&gt;</pre></div>

  </td>

  <td class="commit-sig-status">
    
    <div class="dropdown dropdown-signed-commit js-menu-container">
        <button type="button" class="signed-commit-badge 
signed-commit-badge-small verified js-menu-target" aria-label="View commit 
signature" aria-haspopup="true">
          Verified
        </button>
        <div class="dropdown-menu-content anim-scale-in js-menu-content">
          <div class="dropdown-menu dropdown-menu-w">
            <div class="signed-commit-header TableObject">
              <div class="TableObject-item">
                <svg aria-hidden="true" class="octicon octicon-verified mr-2" 
height="32" version="1.1" viewBox="0 0 16 16" width="32"><path 
fill-rule="evenodd" d="M15.67 
7.06l-1.08-1.34c-.17-.22-.28-.48-.31-.77l-.19-1.7a1.51 1.51 0 0 
0-1.33-1.33l-1.7-.19c-.3-.03-.56-.16-.78-.33L8.94.32c-.55-.44-1.33-.44-1.88 
0L5.72 1.4c-.22.17-.48.28-.77.31l-1.7.19c-.7.08-1.25.63-1.33 1.33l-.19 
1.7c-.03.3-.16.56-.33.78L.32 7.05c-.44.55-.44 1.33 0 1.88l1.08 
1.34c.17.22.28.48.31.77l.19 1.7c.08.7.63 1.25 1.33 
1.33l1.7.19c.3.03.56.16.78.33l1.34 1.08c.55.44 1.33.44 1.88 
0l1.34-1.08c.22-.17.48-.28.77-.31l1.7-.19c.7-.08 1.25-.63 
1.33-1.33l.19-1.7c.03-.3.16-.56.33-.78l1.08-1.34c.44-.55.44-1.33 0-1.88zM6.5 
12L3 8.5 4.5 7l2 2 5-5L13 5.55 6.5 12z"/></svg>
              </div>
              <div class="TableObject-item--primary">
                This commit was signed with a <strong 
class="signed-commit-verified-label">verified signature</strong>.
              </div>
            </div>

            <div class="signed-commit-signer TableObject">
              <a class="TableObject-item" aria-label="brauner" href="/brauner">
                <img 
src="https://avatars3.githubusercontent.com/u/7353573?v=3&amp;s=64"; width="32" 
height="32" alt="@brauner" class="avatar mr-2">
              </a>
              <span class="signed-commit-signer-name TableObject-item--primary">
                <a class="signer" href="/brauner">brauner</a>
                Christian Brauner
              </span>
            </div>


            <div class="signed-commit-footer">
                <span class="d-block">GPG key ID: <span 
class="text-gray">7B3C391EFEA93624</span></span>
              <a 
href="https://help.github.com/articles/signing-commits-using-gpg/";>Learn about 
signing commits</a>
            </div>
          </div>
        </div>
    </div>

  </td>

  <td class="commit-ci-status">
      


  </td>

  <td class="commit-meta">
    <code><a 
href="/lxc/lxc/pull/1626/commits/8465664a9f6b68c09e2709effaeeae24ab43f6ca" 
class="commit-id">8465664</a></code>
  </td>
</tr>

        
<tr class="commit js-details-container Details js-socket-channel 
js-updatable-content" 
data-channel="repo:5720995:commit:1cf7ba2306029f0159bd44bc285817d0fae43dc7" 
data-url="/lxc/lxc/pull/1626/commit/1cf7ba2306029f0159bd44bc285817d0fae43dc7/show_partial?partial=commit%2Fpull_condensed">
  <td class="commit-icon">
    <svg aria-hidden="true" class="octicon octicon-git-commit" height="16" 
version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" 
d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 
3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 
0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
  </td>

  <td class="commit-gravatar no-wrap text-right">
    
  <a href="/brauner" class="d-inline-block">
    <img alt="@brauner" class="avatar avatar-small" height="16" 
src="https://avatars3.githubusercontent.com/u/7353573?v=3&amp;s=32"; width="16" 
/>
  </a>

  </td>

  <td class="commit-author">
    <strong><a href="/brauner" class="author" 
rel="contributor">brauner</a></strong>
  </td>

  <td class="commit-message">
    <code><a 
href="/lxc/lxc/pull/1626/commits/1cf7ba2306029f0159bd44bc285817d0fae43dc7" 
class="message" data-pjax="true" title="confile_utils: add 
lxc_log_configured_netdevs()

This logs the configured networks on the trace level to support debugging.

Signed-off-by: Christian Brauner 
&lt;[email protected]&gt;">confile_utils: add 
lxc_log_configured_netdevs()</a></code>

      <span class="hidden-text-expander inline">
        <button type="button" class="ellipsis-expander 
js-details-target">&hellip;</button>
      </span>
      <div class="commit-desc"><pre>This logs the configured networks on the 
trace level to support debugging.

Signed-off-by: Christian Brauner 
&lt;[email protected]&gt;</pre></div>

  </td>

  <td class="commit-sig-status">
    
    <div class="dropdown dropdown-signed-commit js-menu-container">
        <button type="button" class="signed-commit-badge 
signed-commit-badge-small verified js-menu-target" aria-label="View commit 
signature" aria-haspopup="true">
          Verified
        </button>
        <div class="dropdown-menu-content anim-scale-in js-menu-content">
          <div class="dropdown-menu dropdown-menu-w">
            <div class="signed-commit-header TableObject">
              <div class="TableObject-item">
                <svg aria-hidden="true" class="octicon octicon-verified mr-2" 
height="32" version="1.1" viewBox="0 0 16 16" width="32"><path 
fill-rule="evenodd" d="M15.67 
7.06l-1.08-1.34c-.17-.22-.28-.48-.31-.77l-.19-1.7a1.51 1.51 0 0 
0-1.33-1.33l-1.7-.19c-.3-.03-.56-.16-.78-.33L8.94.32c-.55-.44-1.33-.44-1.88 
0L5.72 1.4c-.22.17-.48.28-.77.31l-1.7.19c-.7.08-1.25.63-1.33 1.33l-.19 
1.7c-.03.3-.16.56-.33.78L.32 7.05c-.44.55-.44 1.33 0 1.88l1.08 
1.34c.17.22.28.48.31.77l.19 1.7c.08.7.63 1.25 1.33 
1.33l1.7.19c.3.03.56.16.78.33l1.34 1.08c.55.44 1.33.44 1.88 
0l1.34-1.08c.22-.17.48-.28.77-.31l1.7-.19c.7-.08 1.25-.63 
1.33-1.33l.19-1.7c.03-.3.16-.56.33-.78l1.08-1.34c.44-.55.44-1.33 0-1.88zM6.5 
12L3 8.5 4.5 7l2 2 5-5L13 5.55 6.5 12z"/></svg>
              </div>
              <div class="TableObject-item--primary">
                This commit was signed with a <strong 
class="signed-commit-verified-label">verified signature</strong>.
              </div>
            </div>

            <div class="signed-commit-signer TableObject">
              <a class="TableObject-item" aria-label="brauner" href="/brauner">
                <img 
src="https://avatars3.githubusercontent.com/u/7353573?v=3&amp;s=64"; width="32" 
height="32" alt="@brauner" class="avatar mr-2">
              </a>
              <span class="signed-commit-signer-name TableObject-item--primary">
                <a class="signer" href="/brauner">brauner</a>
                Christian Brauner
              </span>
            </div>


            <div class="signed-commit-footer">
                <span class="d-block">GPG key ID: <span 
class="text-gray">7B3C391EFEA93624</span></span>
              <a 
href="https://help.github.com/articles/signing-commits-using-gpg/";>Learn about 
signing commits</a>
            </div>
          </div>
        </div>
    </div>

  </td>

  <td class="commit-ci-status">
      


  </td>

  <td class="commit-meta">
    <code><a 
href="/lxc/lxc/pull/1626/commits/1cf7ba2306029f0159bd44bc285817d0fae43dc7" 
class="commit-id">1cf7ba2</a></code>
  </td>
</tr>

    </table>
  </div>
</div>






<!-- Rendered timeline since 2017-06-14 08:10:55 -->
<div id="partial-timeline-marker"
      class="js-timeline-marker js-socket-channel js-updatable-content"
      data-channel="pull_request:125624128"
      
data-url="/lxc/lxc/pull/1626/show_partial?partial=pull_requests%2Ftimeline_marker&amp;since=1497453055"
      data-last-modified="Wed, 14 Jun 2017 15:10:55 GMT">

    <!-- '"` --><!-- </textarea></xmp> --></option></form><form 
accept-charset="UTF-8" action="/lxc/lxc/notifications/mark?ids=233320463" 
class="d-none js-timeline-marker-form" data-remote="true" method="post"><div 
style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" 
value="&#x2713;" /><input name="authenticity_token" type="hidden" 
value="2DjI+abOtKK/y6uDM0E7F+L/TBEpWYr+YBXHR7VeCy7F/VZwkmvH0JvJyZN1gkaJ6+zL3oiIIivRfEkoHvA0oA=="
 /></div>
</form></div>


  </div>

    <div class="discussion-timeline-actions">
          <div class="flash flash-warn mt-3">
    <a href="/join?source=comment-repo" class="btn btn-primary" 
rel="nofollow">Sign up for free</a>
    <strong>to join this conversation on GitHub</strong>.
    Already have an account?
    <a 
href="/login?return_to=https%3A%2F%2Fgithub.com%2Flxc%2Flxc%2Fpull%2F1626" 
rel="nofollow">Sign in to comment</a>
</div>


    </div>
</div>

    </div>
  </div>

  </div>


  </div>
  <div class="modal-backdrop js-touch-events"></div>
</div>


    </div>
  </div>

  </div>

      
<div class="container site-footer-container">
  <div class="site-footer " role="contentinfo">
    <ul class="site-footer-links float-right">
        <li><a href="https://github.com/contact"; data-ga-click="Footer, go to 
contact, text:contact">Contact GitHub</a></li>
      <li><a href="https://developer.github.com"; data-ga-click="Footer, go to 
api, text:api">API</a></li>
      <li><a href="https://training.github.com"; data-ga-click="Footer, go to 
training, text:training">Training</a></li>
      <li><a href="https://shop.github.com"; data-ga-click="Footer, go to shop, 
text:shop">Shop</a></li>
        <li><a href="https://github.com/blog"; data-ga-click="Footer, go to 
blog, text:blog">Blog</a></li>
        <li><a href="https://github.com/about"; data-ga-click="Footer, go to 
about, text:about">About</a></li>

    </ul>

    <a href="https://github.com"; aria-label="Homepage" class="site-footer-mark" 
title="GitHub">
      <svg aria-hidden="true" class="octicon octicon-mark-github" height="24" 
version="1.1" viewBox="0 0 16 16" width="24"><path fill-rule="evenodd" d="M8 
0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 
0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01
 1.08.58 1.23.82.72 1.21 1.87.87 
2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 
0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 
1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 
2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 
1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 
8c0-4.42-3.58-8-8-8z"/></svg>
</a>
    <ul class="site-footer-links">
      <li>&copy; 2017 <span title="0.40650s from 
unicorn-1526974385-q211r">GitHub</span>, Inc.</li>
        <li><a href="https://github.com/site/terms"; data-ga-click="Footer, go 
to terms, text:terms">Terms</a></li>
        <li><a href="https://github.com/site/privacy"; data-ga-click="Footer, go 
to privacy, text:privacy">Privacy</a></li>
        <li><a href="https://github.com/security"; data-ga-click="Footer, go to 
security, text:security">Security</a></li>
        <li><a href="https://status.github.com/"; data-ga-click="Footer, go to 
status, text:status">Status</a></li>
        <li><a href="https://help.github.com"; data-ga-click="Footer, go to 
help, text:help">Help</a></li>
    </ul>
  </div>
</div>



  <div id="ajax-error-message" class="ajax-error-message flash flash-error">
    <svg aria-hidden="true" class="octicon octicon-alert" height="16" 
version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" 
d="M8.865 1.52c-.18-.31-.51-.5-.87-.5s-.69.19-.87.5L.275 13.5c-.18.31-.18.69 0 
1 .19.31.52.5.87.5h13.7c.36 0 .69-.19.86-.5.17-.31.18-.69.01-1L8.865 
1.52zM8.995 13h-2v-2h2v2zm0-3h-2V6h2v4z"/></svg>
    <button type="button" class="flash-close js-flash-close 
js-ajax-error-dismiss" aria-label="Dismiss error">
      <svg aria-hidden="true" class="octicon octicon-x" height="16" 
version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M7.48 
8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 
6.52l3.75-3.75 1.48 1.48z"/></svg>
    </button>
    You can't perform that action at this time.
  </div>


    <script crossorigin="anonymous" 
src="https://assets-cdn.github.com/assets/compat-8a4318ffea09a0cdb8214b76cf2926b9f6a0ced318a317bed419db19214c690d.js";></script>
    <script crossorigin="anonymous" 
src="https://assets-cdn.github.com/assets/frameworks-73720f027bb317fceb118c259275da4be5efa344c246a12341a68c3168ceeaa7.js";></script>
    
    <script async="async" crossorigin="anonymous" 
src="https://assets-cdn.github.com/assets/github-d379af1e588755eb10c26c968d64e3b72b32c13ff9dbb890e19c2c3b5ba17c60.js";></script>
    
    
    
    
  <div class="js-stale-session-flash stale-session-flash flash flash-warn 
flash-banner d-none">
    <svg aria-hidden="true" class="octicon octicon-alert" height="16" 
version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" 
d="M8.865 1.52c-.18-.31-.51-.5-.87-.5s-.69.19-.87.5L.275 13.5c-.18.31-.18.69 0 
1 .19.31.52.5.87.5h13.7c.36 0 .69-.19.86-.5.17-.31.18-.69.01-1L8.865 
1.52zM8.995 13h-2v-2h2v2zm0-3h-2V6h2v4z"/></svg>
    <span class="signed-in-tab-flash">You signed in with another tab or window. 
<a href="">Reload</a> to refresh your session.</span>
    <span class="signed-out-tab-flash">You signed out in another tab or window. 
<a href="">Reload</a> to refresh your session.</span>
  </div>
  <div class="facebox" id="facebox" style="display:none;">
  <div class="facebox-popup">
    <div class="facebox-content" role="dialog" aria-labelledby="facebox-header" 
aria-describedby="facebox-description">
    </div>
    <button type="button" class="facebox-close js-facebox-close" 
aria-label="Close modal">
      <svg aria-hidden="true" class="octicon octicon-x" height="16" 
version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M7.48 
8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 
6.52l3.75-3.75 1.48 1.48z"/></svg>
    </button>
  </div>
</div>


  </body>
</html>

_______________________________________________
lxc-devel mailing list
[email protected]
http://lists.linuxcontainers.org/listinfo/lxc-devel

Reply via email to